{"action":"created","comment":{"url":"https://api.github.com/repos/KSP-KOS/KOS/pulls/comments/27394616","id":27394616,"diff_hunk":"@@ -70,9 +120,39 @@ The ``DECLARE PARAMETER`` statements can appear anywhere in a program as long as\n ``SET``\n -------\n \n-Sets the value of a variable. Declares a global variable if it doesn’t already exist::\n+Sets the value of a variable. Implicitly creates a global variable if it doesn’t already exist::\n \n     SET X TO 1.\n+    SET X TO y*2 - 1.\n+\n+This follows the :ref:`scoping rules explained below <scope>`.  If the \n+variable can be found in the current local scope, or any scope higher\n+up, then it won't be created and instead the existing one will be used.\n+\n+Difference between SET and DECLARE\n+::::::::::::::::::::::::::::::::::\n+\n+The following two look very similar and you might ask why you'd pick\n+one instead of the other::\n+\n+    DECLARE X TO 1.\n+    SET X TO 1.\n+\n+The difference is that ``SET`` attempts to store the value in the\n+variable that already exists, if it can find one, and it only \n+creates a new variable if it *has* to because there isn't one that\n+already exists.  *(That's the first difference)*.  Because ``SET``\n+doesn't make a new variable until it has exhausted the attempts to\n+find an existing one by looking up the \"scope stack\", ``SET`` only\n+is capable of creating **global** variables.  *(That's the second\n+difference.)*\n+\n+Also, be aware that DECLARE, in effect, is actually *incapable* of\n+creating global variables.  There is an implicit scope block","path":"doc/source/language/variables.rst","position":119,"original_position":119,"commit_id":"9fb4ddbfba7585d0a11e3592647bf1a885efb5cc","original_commit_id":"9fb4ddbfba7585d0a11e3592647bf1a885efb5cc","user":{"login":"Dunbaratu","id":5216848,"avatar_url":"https://avatars.githubusercontent.com/u/5216848?v=3","gravatar_id":"","url":"https://api.github.com/users/Dunbaratu","html_url":"https://github.com/Dunbaratu","followers_url":"https://api.github.com/users/Dunbaratu/followers","following_url":"https://api.github.com/users/Dunbaratu/following{/other_user}","gists_url":"https://api.github.com/users/Dunbaratu/gists{/gist_id}","starred_url":"https://api.github.com/users/Dunbaratu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Dunbaratu/subscriptions","organizations_url":"https://api.github.com/users/Dunbaratu/orgs","repos_url":"https://api.github.com/users/Dunbaratu/repos","events_url":"https://api.github.com/users/Dunbaratu/events{/privacy}","received_events_url":"https://api.github.com/users/Dunbaratu/received_events","type":"User","site_admin":false},"body":"Again, not true anymore.","created_at":"2015-03-30T14:30:51Z","updated_at":"2015-03-30T14:30:51Z","html_url":"https://github.com/KSP-KOS/KOS/pull/645#discussion_r27394616","pull_request_url":"https://api.github.com/repos/KSP-KOS/KOS/pulls/645","_links":{"self":{"href":"https://api.github.com/repos/KSP-KOS/KOS/pulls/comments/27394616"},"html":{"href":"https://github.com/KSP-KOS/KOS/pull/645#discussion_r27394616"},"pull_request":{"href":"https://api.github.com/repos/KSP-KOS/KOS/pulls/645"}}},"pull_request":{"url":"https://api.github.com/repos/KSP-KOS/KOS/pulls/645","id":30522599,"html_url":"https://github.com/KSP-KOS/KOS/pull/645","diff_url":"https://github.com/KSP-KOS/KOS/pull/645.diff","patch_url":"https://github.com/KSP-KOS/KOS/pull/645.patch","issue_url":"https://api.github.com/repos/KSP-KOS/KOS/issues/645","number":645,"state":"open","locked":false,"title":"user functions and local vars mega-change","user":{"login":"Dunbaratu","id":5216848,"avatar_url":"https://avatars.githubusercontent.com/u/5216848?v=3","gravatar_id":"","url":"https://api.github.com/users/Dunbaratu","html_url":"https://github.com/Dunbaratu","followers_url":"https://api.github.com/users/Dunbaratu/followers","following_url":"https://api.github.com/users/Dunbaratu/following{/other_user}","gists_url":"https://api.github.com/users/Dunbaratu/gists{/gist_id}","starred_url":"https://api.github.com/users/Dunbaratu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Dunbaratu/subscriptions","organizations_url":"https://api.github.com/users/Dunbaratu/orgs","repos_url":"https://api.github.com/users/Dunbaratu/repos","events_url":"https://api.github.com/users/Dunbaratu/events{/privacy}","received_events_url":"https://api.github.com/users/Dunbaratu/received_events","type":"User","site_admin":false},"body":"These are the 'specs' to which I'll be implementing the\r\nactual code.\r\n\r\nPull it!  Give it a try!\r\n================\r\n\r\n\r\nTo-Do list\r\n------------\r\n\r\nTo make this manageable, I'm trying to split this up into smaller tasks, and make them contain\r\nthe steps in what I *think* is the order it will be possible to do them in.\r\n\r\n- [x] Add initializer ```TO``` clause to ```DECLARE```, and make it mandatory.\r\n- [x] Block Scope Local vars (test with if/else and loops since functions don't exist yet)\r\n    - [x] Add local variable dictionaries to the stack.\r\n    - [x] DECLARE to make new variables in localmost dictionary, which are at least limited to file scope.\r\n    - [-] DECLARE GLOBAL to make globals explicitly just like SET does implicitly (so that you can still do this when in NOLAZYGLOBAL where implicitly doing it with SET is forbidden).  (DECIDED TO SCRAP THIS IDEA AND SAY \"NO\"\r\n    - [x] Alter behavior of CPU.GetVariable to scan up through that stack before giving up.\r\n    - [x] Alter behavior of CPU.GetOrCreateVariable to do the same scan, then create only at global level.\r\n    - NOTE, if the above are all done, it is possible to do preliminary tests and examples with that much.  Therefore this point should be the first **pull target** (point at which people can pull what I have and play with it.)\r\n    - [x] Ensure that all early-breaking escape-from-brace statements, like BREAK, pop all this stuff off properly.\r\n    - [x] Ensure that exceptions that kill the program don't leave the stack behind all messed up.\r\n    - [x] Implement NOLAZYGLOBAL to suppress parts of the above behavior.\r\n- [x] Basic Function, do one pass to bottom of block and stop.\r\n  - [x] Change scoping structure to deal with how function calls work\r\n    - [x] handle jumps that skip to sibling nesting levels, by letting getvariable skip intervening stack scope frames that are \"not for me\".  DO this by storing lexical nesting level in the scope stack frame.\r\n    - [x] handle jumps that recurse, probably with the same skipping stack frame technique.  (if A calls B calls C calls C calls C calls C, then C should see B's and A's vars, but not all the other copies of C's vars on the stack from the other calls to itself.)\r\n- [x] RETURN keyword from middle of function (Ensure an early-break pops the variable contexts properly).\r\n- [x] Fix FOR LOOP iterator case.  (Something in what I did messed up the scope of the secret iterator variable.)\r\n- [x] Refactor: Rename everything in the code so it no longer calls things \"locks\" that actually refer to both locks and user functions now.\r\n\r\nAt this point, in *principle* everything should \"magically\" work on the following list (yeah right), but the testing should check all the cases:\r\n\r\n### Thorny test cases:\r\n\r\n- [x] Prove local scoping by nesting sections which all have the same variable name in them with different values in the different variables with the same name.\r\n- [x] Make sure one file can be RUN with functions in it that another file can then call - crucial for the entire concept of users making library routines for themselves.\r\n- [x] Check identifier clashes - two functions with the same global name.\r\n- [x] Recursion, plain case:  Test with simple one-list case with no recursive branching (i.e. print values in a list backward via a dumb recursion algorithm).\r\n- [x] Recursion, more complex case: Using Rootpart and part children, print the parts tree with indentation levels to show the tree structure.\r\n- [x] Pass a function's output as a parameter to another function: Foo( bar(), 3, 5).\r\n- [x] Deliberately make infinite recursion - see if it explodes KSP or if the user gets a useful error message.\r\n- [x] Test binary ML files:  Check that the KSM compiled files behave just like their KS script files.","created_at":"2015-03-05T01:32:42Z","updated_at":"2015-03-30T14:30:51Z","closed_at":null,"merged_at":null,"merge_commit_sha":"7e3e1f86360c350291d9b9115b5651b7401c3931","assignee":{"login":"Dunbaratu","id":5216848,"avatar_url":"https://avatars.githubusercontent.com/u/5216848?v=3","gravatar_id":"","url":"https://api.github.com/users/Dunbaratu","html_url":"https://github.com/Dunbaratu","followers_url":"https://api.github.com/users/Dunbaratu/followers","following_url":"https://api.github.com/users/Dunbaratu/following{/other_user}","gists_url":"https://api.github.com/users/Dunbaratu/gists{/gist_id}","starred_url":"https://api.github.com/users/Dunbaratu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Dunbaratu/subscriptions","organizations_url":"https://api.github.com/users/Dunbaratu/orgs","repos_url":"https://api.github.com/users/Dunbaratu/repos","events_url":"https://api.github.com/users/Dunbaratu/events{/privacy}","received_events_url":"https://api.github.com/users/Dunbaratu/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/KSP-KOS/KOS/milestones/4","html_url":"https://github.com/KSP-KOS/KOS/milestones/On%20Deck%20new%20features","labels_url":"https://api.github.com/repos/KSP-KOS/KOS/milestones/4/labels","id":831577,"number":4,"title":"On Deck new features","description":"These are the new features that are ready to pick up and work on.","creator":{"login":"erendrake","id":486486,"avatar_url":"https://avatars.githubusercontent.com/u/486486?v=3","gravatar_id":"","url":"https://api.github.com/users/erendrake","html_url":"https://github.com/erendrake","followers_url":"https://api.github.com/users/erendrake/followers","following_url":"https://api.github.com/users/erendrake/following{/other_user}","gists_url":"https://api.github.com/users/erendrake/gists{/gist_id}","starred_url":"https://api.github.com/users/erendrake/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erendrake/subscriptions","organizations_url":"https://api.github.com/users/erendrake/orgs","repos_url":"https://api.github.com/users/erendrake/repos","events_url":"https://api.github.com/users/erendrake/events{/privacy}","received_events_url":"https://api.github.com/users/erendrake/received_events","type":"User","site_admin":false},"open_issues":8,"closed_issues":3,"state":"open","created_at":"2014-10-19T06:47:01Z","updated_at":"2015-03-30T02:16:27Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/KSP-KOS/KOS/pulls/645/commits","review_comments_url":"https://api.github.com/repos/KSP-KOS/KOS/pulls/645/comments","review_comment_url":"https://api.github.com/repos/KSP-KOS/KOS/pulls/comments{/number}","comments_url":"https://api.github.com/repos/KSP-KOS/KOS/issues/645/comments","statuses_url":"https://api.github.com/repos/KSP-KOS/KOS/statuses/9fb4ddbfba7585d0a11e3592647bf1a885efb5cc","head":{"label":"Dunbaratu:user_functions","ref":"user_functions","sha":"9fb4ddbfba7585d0a11e3592647bf1a885efb5cc","user":{"login":"Dunbaratu","id":5216848,"avatar_url":"https://avatars.githubusercontent.com/u/5216848?v=3","gravatar_id":"","url":"https://api.github.com/users/Dunbaratu","html_url":"https://github.com/Dunbaratu","followers_url":"https://api.github.com/users/Dunbaratu/followers","following_url":"https://api.github.com/users/Dunbaratu/following{/other_user}","gists_url":"https://api.github.com/users/Dunbaratu/gists{/gist_id}","starred_url":"https://api.github.com/users/Dunbaratu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Dunbaratu/subscriptions","organizations_url":"https://api.github.com/users/Dunbaratu/orgs","repos_url":"https://api.github.com/users/Dunbaratu/repos","events_url":"https://api.github.com/users/Dunbaratu/events{/privacy}","received_events_url":"https://api.github.com/users/Dunbaratu/received_events","type":"User","site_admin":false},"repo":{"id":18195960,"name":"KOS-1","full_name":"Dunbaratu/KOS-1","owner":{"login":"Dunbaratu","id":5216848,"avatar_url":"https://avatars.githubusercontent.com/u/5216848?v=3","gravatar_id":"","url":"https://api.github.com/users/Dunbaratu","html_url":"https://github.com/Dunbaratu","followers_url":"https://api.github.com/users/Dunbaratu/followers","following_url":"https://api.github.com/users/Dunbaratu/following{/other_user}","gists_url":"https://api.github.com/users/Dunbaratu/gists{/gist_id}","starred_url":"https://api.github.com/users/Dunbaratu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Dunbaratu/subscriptions","organizations_url":"https://api.github.com/users/Dunbaratu/orgs","repos_url":"https://api.github.com/users/Dunbaratu/repos","events_url":"https://api.github.com/users/Dunbaratu/events{/privacy}","received_events_url":"https://api.github.com/users/Dunbaratu/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Dunbaratu/KOS-1","description":"Fully programmable autopilot mod for KSP. Originally By Nivekk","fork":true,"url":"https://api.github.com/repos/Dunbaratu/KOS-1","forks_url":"https://api.github.com/repos/Dunbaratu/KOS-1/forks","keys_url":"https://api.github.com/repos/Dunbaratu/KOS-1/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Dunbaratu/KOS-1/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Dunbaratu/KOS-1/teams","hooks_url":"https://api.github.com/repos/Dunbaratu/KOS-1/hooks","issue_events_url":"https://api.github.com/repos/Dunbaratu/KOS-1/issues/events{/number}","events_url":"https://api.github.com/repos/Dunbaratu/KOS-1/events","assignees_url":"https://api.github.com/repos/Dunbaratu/KOS-1/assignees{/user}","branches_url":"https://api.github.com/repos/Dunbaratu/KOS-1/branches{/branch}","tags_url":"https://api.github.com/repos/Dunbaratu/KOS-1/tags","blobs_url":"https://api.github.com/repos/Dunbaratu/KOS-1/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Dunbaratu/KOS-1/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Dunbaratu/KOS-1/git/refs{/sha}","trees_url":"https://api.github.com/repos/Dunbaratu/KOS-1/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Dunbaratu/KOS-1/statuses/{sha}","languages_url":"https://api.github.com/repos/Dunbaratu/KOS-1/languages","stargazers_url":"https://api.github.com/repos/Dunbaratu/KOS-1/stargazers","contributors_url":"https://api.github.com/repos/Dunbaratu/KOS-1/contributors","subscribers_url":"https://api.github.com/repos/Dunbaratu/KOS-1/subscribers","subscription_url":"https://api.github.com/repos/Dunbaratu/KOS-1/subscription","commits_url":"https://api.github.com/repos/Dunbaratu/KOS-1/commits{/sha}","git_commits_url":"https://api.github.com/repos/Dunbaratu/KOS-1/git/commits{/sha}","comments_url":"https://api.github.com/repos/Dunbaratu/KOS-1/comments{/number}","issue_comment_url":"https://api.github.com/repos/Dunbaratu/KOS-1/issues/comments{/number}","contents_url":"https://api.github.com/repos/Dunbaratu/KOS-1/contents/{+path}","compare_url":"https://api.github.com/repos/Dunbaratu/KOS-1/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Dunbaratu/KOS-1/merges","archive_url":"https://api.github.com/repos/Dunbaratu/KOS-1/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Dunbaratu/KOS-1/downloads","issues_url":"https://api.github.com/repos/Dunbaratu/KOS-1/issues{/number}","pulls_url":"https://api.github.com/repos/Dunbaratu/KOS-1/pulls{/number}","milestones_url":"https://api.github.com/repos/Dunbaratu/KOS-1/milestones{/number}","notifications_url":"https://api.github.com/repos/Dunbaratu/KOS-1/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Dunbaratu/KOS-1/labels{/name}","releases_url":"https://api.github.com/repos/Dunbaratu/KOS-1/releases{/id}","created_at":"2014-03-28T00:09:16Z","updated_at":"2015-01-04T19:29:21Z","pushed_at":"2015-03-30T10:23:09Z","git_url":"git://github.com/Dunbaratu/KOS-1.git","ssh_url":"git@github.com:Dunbaratu/KOS-1.git","clone_url":"https://github.com/Dunbaratu/KOS-1.git","svn_url":"https://github.com/Dunbaratu/KOS-1","homepage":null,"size":27251,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"KSP-KOS:develop","ref":"develop","sha":"4f499a195436f30ae3a8d221f7d12f8be4422467","user":{"login":"KSP-KOS","id":6767371,"avatar_url":"https://avatars.githubusercontent.com/u/6767371?v=3","gravatar_id":"","url":"https://api.github.com/users/KSP-KOS","html_url":"https://github.com/KSP-KOS","followers_url":"https://api.github.com/users/KSP-KOS/followers","following_url":"https://api.github.com/users/KSP-KOS/following{/other_user}","gists_url":"https://api.github.com/users/KSP-KOS/gists{/gist_id}","starred_url":"https://api.github.com/users/KSP-KOS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KSP-KOS/subscriptions","organizations_url":"https://api.github.com/users/KSP-KOS/orgs","repos_url":"https://api.github.com/users/KSP-KOS/repos","events_url":"https://api.github.com/users/KSP-KOS/events{/privacy}","received_events_url":"https://api.github.com/users/KSP-KOS/received_events","type":"Organization","site_admin":false},"repo":{"id":17217530,"name":"KOS","full_name":"KSP-KOS/KOS","owner":{"login":"KSP-KOS","id":6767371,"avatar_url":"https://avatars.githubusercontent.com/u/6767371?v=3","gravatar_id":"","url":"https://api.github.com/users/KSP-KOS","html_url":"https://github.com/KSP-KOS","followers_url":"https://api.github.com/users/KSP-KOS/followers","following_url":"https://api.github.com/users/KSP-KOS/following{/other_user}","gists_url":"https://api.github.com/users/KSP-KOS/gists{/gist_id}","starred_url":"https://api.github.com/users/KSP-KOS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KSP-KOS/subscriptions","organizations_url":"https://api.github.com/users/KSP-KOS/orgs","repos_url":"https://api.github.com/users/KSP-KOS/repos","events_url":"https://api.github.com/users/KSP-KOS/events{/privacy}","received_events_url":"https://api.github.com/users/KSP-KOS/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/KSP-KOS/KOS","description":"Fully programmable autopilot mod for KSP. Originally By Nivekk","fork":false,"url":"https://api.github.com/repos/KSP-KOS/KOS","forks_url":"https://api.github.com/repos/KSP-KOS/KOS/forks","keys_url":"https://api.github.com/repos/KSP-KOS/KOS/keys{/key_id}","collaborators_url":"https://api.github.com/repos/KSP-KOS/KOS/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/KSP-KOS/KOS/teams","hooks_url":"https://api.github.com/repos/KSP-KOS/KOS/hooks","issue_events_url":"https://api.github.com/repos/KSP-KOS/KOS/issues/events{/number}","events_url":"https://api.github.com/repos/KSP-KOS/KOS/events","assignees_url":"https://api.github.com/repos/KSP-KOS/KOS/assignees{/user}","branches_url":"https://api.github.com/repos/KSP-KOS/KOS/branches{/branch}","tags_url":"https://api.github.com/repos/KSP-KOS/KOS/tags","blobs_url":"https://api.github.com/repos/KSP-KOS/KOS/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/KSP-KOS/KOS/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/KSP-KOS/KOS/git/refs{/sha}","trees_url":"https://api.github.com/repos/KSP-KOS/KOS/git/trees{/sha}","statuses_url":"https://api.github.com/repos/KSP-KOS/KOS/statuses/{sha}","languages_url":"https://api.github.com/repos/KSP-KOS/KOS/languages","stargazers_url":"https://api.github.com/repos/KSP-KOS/KOS/stargazers","contributors_url":"https://api.github.com/repos/KSP-KOS/KOS/contributors","subscribers_url":"https://api.github.com/repos/KSP-KOS/KOS/subscribers","subscription_url":"https://api.github.com/repos/KSP-KOS/KOS/subscription","commits_url":"https://api.github.com/repos/KSP-KOS/KOS/commits{/sha}","git_commits_url":"https://api.github.com/repos/KSP-KOS/KOS/git/commits{/sha}","comments_url":"https://api.github.com/repos/KSP-KOS/KOS/comments{/number}","issue_comment_url":"https://api.github.com/repos/KSP-KOS/KOS/issues/comments{/number}","contents_url":"https://api.github.com/repos/KSP-KOS/KOS/contents/{+path}","compare_url":"https://api.github.com/repos/KSP-KOS/KOS/compare/{base}...{head}","merges_url":"https://api.github.com/repos/KSP-KOS/KOS/merges","archive_url":"https://api.github.com/repos/KSP-KOS/KOS/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/KSP-KOS/KOS/downloads","issues_url":"https://api.github.com/repos/KSP-KOS/KOS/issues{/number}","pulls_url":"https://api.github.com/repos/KSP-KOS/KOS/pulls{/number}","milestones_url":"https://api.github.com/repos/KSP-KOS/KOS/milestones{/number}","notifications_url":"https://api.github.com/repos/KSP-KOS/KOS/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/KSP-KOS/KOS/labels{/name}","releases_url":"https://api.github.com/repos/KSP-KOS/KOS/releases{/id}","created_at":"2014-02-26T16:43:31Z","updated_at":"2015-03-30T04:18:58Z","pushed_at":"2015-03-30T10:23:10Z","git_url":"git://github.com/KSP-KOS/KOS.git","ssh_url":"git@github.com:KSP-KOS/KOS.git","clone_url":"https://github.com/KSP-KOS/KOS.git","svn_url":"https://github.com/KSP-KOS/KOS","homepage":null,"size":29203,"stargazers_count":84,"watchers_count":84,"language":"C#","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":49,"mirror_url":null,"open_issues_count":161,"forks":49,"open_issues":161,"watchers":84,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/KSP-KOS/KOS/pulls/645"},"html":{"href":"https://github.com/KSP-KOS/KOS/pull/645"},"issue":{"href":"https://api.github.com/repos/KSP-KOS/KOS/issues/645"},"comments":{"href":"https://api.github.com/repos/KSP-KOS/KOS/issues/645/comments"},"review_comments":{"href":"https://api.github.com/repos/KSP-KOS/KOS/pulls/645/comments"},"review_comment":{"href":"https://api.github.com/repos/KSP-KOS/KOS/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/KSP-KOS/KOS/pulls/645/commits"},"statuses":{"href":"https://api.github.com/repos/KSP-KOS/KOS/statuses/9fb4ddbfba7585d0a11e3592647bf1a885efb5cc"}}}}