{"action":"created","comment":{"url":"https://api.github.com/repos/RobotLocomotion/drake/pulls/comments/78926800","id":78926800,"diff_hunk":"@@ -0,0 +1,103 @@\n+#pragma once\n+\n+#include <lcm/lcm-cpp.hpp>\n+\n+#include \"drake/drakeBotVisualizerSystem_export.h\"\n+#include \"drake/lcmt_viewer_draw.hpp\"\n+#include \"drake/systems/framework/context.h\"\n+#include \"drake/systems/framework/leaf_system.h\"\n+#include \"drake/systems/plants/RigidBodyTree.h\"\n+\n+namespace drake {\n+namespace systems {\n+\n+/**\n+ * This is a Drake System 2.0 block that communicates with the Drake Visualizer\n+ * via LCM messages. It does this in two phases: initialization, which runs once\n+ * at startup, and run-time, which periodically runs for the duration of the\n+ * simulation.\n+ *\n+ * During initialization, this system block analyzes the RigidBodyTree and\n+ * tells Drake Visualizer what it will be visualizing. For example, these\n+ * include the number of rigid bodies and their dimensions. The LCM message used\n+ * during this phase is called `drake::lcmt_viewer_load_robot` and the channel\n+ * name is \"DRAKE_VIEWER_LOAD_ROBOT\".\n+ *\n+ * During run-time, this system block takes the current state of the model and\n+ * tells Drake Visualizer how to visualize the model. For example, this includes\n+ * the position and orientation of each rigid body mentioned during\n+ * initialization. The LCM messages used during this phase is\n+ * `drake::lcmt_viewer_draw` and the channel name is \"DRAKE_VIEWER_DRAW\".\n+ *\n+ * To support multiple simultaneous instances of this system, which may\n+ * occur when multiple unit tests are running in parallel, the channel names\n+ * can be modified by a postfix string, which is specified as an input parameter\n+ * to the constructor.","path":"drake/systems/bot_visualizer_system.h","position":35,"original_position":35,"commit_id":"eb75e7661b083eb7eca1548b271463548900d02e","original_commit_id":"eb75e7661b083eb7eca1548b271463548900d02e","user":{"login":"RussTedrake","id":6442292,"avatar_url":"https://avatars.githubusercontent.com/u/6442292?v=3","gravatar_id":"","url":"https://api.github.com/users/RussTedrake","html_url":"https://github.com/RussTedrake","followers_url":"https://api.github.com/users/RussTedrake/followers","following_url":"https://api.github.com/users/RussTedrake/following{/other_user}","gists_url":"https://api.github.com/users/RussTedrake/gists{/gist_id}","starred_url":"https://api.github.com/users/RussTedrake/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RussTedrake/subscriptions","organizations_url":"https://api.github.com/users/RussTedrake/orgs","repos_url":"https://api.github.com/users/RussTedrake/repos","events_url":"https://api.github.com/users/RussTedrake/events{/privacy}","received_events_url":"https://api.github.com/users/RussTedrake/received_events","type":"User","site_admin":false},"body":"please add @ingroup systems to make it show up here:\r\nhttp://drake.mit.edu/doxygen_cxx/group__systems.html\r\nexample here: https://github.com/RobotLocomotion/drake/blob/master/drake/systems/framework/primitives/adder.h#L16\r\n@amcastro-tri -- would be good to do this for RigidBodyPlant, too","created_at":"2016-09-15T09:52:07Z","updated_at":"2016-09-15T09:52:07Z","html_url":"https://github.com/RobotLocomotion/drake/pull/3228#discussion_r78926800","pull_request_url":"https://api.github.com/repos/RobotLocomotion/drake/pulls/3228","_links":{"self":{"href":"https://api.github.com/repos/RobotLocomotion/drake/pulls/comments/78926800"},"html":{"href":"https://github.com/RobotLocomotion/drake/pull/3228#discussion_r78926800"},"pull_request":{"href":"https://api.github.com/repos/RobotLocomotion/drake/pulls/3228"}}},"pull_request":{"url":"https://api.github.com/repos/RobotLocomotion/drake/pulls/3228","id":82390940,"html_url":"https://github.com/RobotLocomotion/drake/pull/3228","diff_url":"https://github.com/RobotLocomotion/drake/pull/3228.diff","patch_url":"https://github.com/RobotLocomotion/drake/pull/3228.patch","issue_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/3228","number":3228,"state":"closed","locked":false,"title":"Adds a System 2.0 version of Bot Visualizer","user":{"login":"liangfok","id":1388098,"avatar_url":"https://avatars.githubusercontent.com/u/1388098?v=3","gravatar_id":"","url":"https://api.github.com/users/liangfok","html_url":"https://github.com/liangfok","followers_url":"https://api.github.com/users/liangfok/followers","following_url":"https://api.github.com/users/liangfok/following{/other_user}","gists_url":"https://api.github.com/users/liangfok/gists{/gist_id}","starred_url":"https://api.github.com/users/liangfok/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liangfok/subscriptions","organizations_url":"https://api.github.com/users/liangfok/orgs","repos_url":"https://api.github.com/users/liangfok/repos","events_url":"https://api.github.com/users/liangfok/events{/privacy}","received_events_url":"https://api.github.com/users/liangfok/received_events","type":"User","site_admin":false},"body":"This is just a direct port of the System 1.0 Bot Visualizer.\r\n\r\nI first verified that the models appear correctly in Drake Visualizer. I then programmed in the expected LCM messages and added logic to ensure the LCM messages received match the expected LCM messages.\r\n\r\n## Box\r\n![box-in-drake-visualizer](https://cloud.githubusercontent.com/assets/1388098/17917454/bc6125b8-698a-11e6-89ae-f13470d8a95e.png)\r\n\r\n## Capsule\r\n![capsule](https://cloud.githubusercontent.com/assets/1388098/17917457/c1a6cfa0-698a-11e6-934a-9ef056c96034.png)\r\n\r\n## Cylinder\r\n![cylinder](https://cloud.githubusercontent.com/assets/1388098/17917456/bf4a59ac-698a-11e6-87d7-256287a614ac.png)\r\n\r\n## Sphere\r\n\r\n![sphere](https://cloud.githubusercontent.com/assets/1388098/17917505/32fc4bf8-698b-11e6-812c-710b38c71ac8.png)\r\n\r\n\r\n<!-- Reviewable:start -->\r\n---\r\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/robotlocomotion/drake/3228)\r\n<!-- Reviewable:end -->\r\n","created_at":"2016-08-23T15:48:40Z","updated_at":"2016-09-15T09:52:07Z","closed_at":"2016-09-14T17:15:19Z","merged_at":null,"merge_commit_sha":"03b8fa2bfef500f1baf8f03b41f3b5b871f7e7a8","assignee":{"login":"liangfok","id":1388098,"avatar_url":"https://avatars.githubusercontent.com/u/1388098?v=3","gravatar_id":"","url":"https://api.github.com/users/liangfok","html_url":"https://github.com/liangfok","followers_url":"https://api.github.com/users/liangfok/followers","following_url":"https://api.github.com/users/liangfok/following{/other_user}","gists_url":"https://api.github.com/users/liangfok/gists{/gist_id}","starred_url":"https://api.github.com/users/liangfok/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liangfok/subscriptions","organizations_url":"https://api.github.com/users/liangfok/orgs","repos_url":"https://api.github.com/users/liangfok/repos","events_url":"https://api.github.com/users/liangfok/events{/privacy}","received_events_url":"https://api.github.com/users/liangfok/received_events","type":"User","site_admin":false},"assignees":[{"login":"liangfok","id":1388098,"avatar_url":"https://avatars.githubusercontent.com/u/1388098?v=3","gravatar_id":"","url":"https://api.github.com/users/liangfok","html_url":"https://github.com/liangfok","followers_url":"https://api.github.com/users/liangfok/followers","following_url":"https://api.github.com/users/liangfok/following{/other_user}","gists_url":"https://api.github.com/users/liangfok/gists{/gist_id}","starred_url":"https://api.github.com/users/liangfok/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liangfok/subscriptions","organizations_url":"https://api.github.com/users/liangfok/orgs","repos_url":"https://api.github.com/users/liangfok/repos","events_url":"https://api.github.com/users/liangfok/events{/privacy}","received_events_url":"https://api.github.com/users/liangfok/received_events","type":"User","site_admin":false},{"login":"amcastro-tri","id":17601461,"avatar_url":"https://avatars.githubusercontent.com/u/17601461?v=3","gravatar_id":"","url":"https://api.github.com/users/amcastro-tri","html_url":"https://github.com/amcastro-tri","followers_url":"https://api.github.com/users/amcastro-tri/followers","following_url":"https://api.github.com/users/amcastro-tri/following{/other_user}","gists_url":"https://api.github.com/users/amcastro-tri/gists{/gist_id}","starred_url":"https://api.github.com/users/amcastro-tri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amcastro-tri/subscriptions","organizations_url":"https://api.github.com/users/amcastro-tri/orgs","repos_url":"https://api.github.com/users/amcastro-tri/repos","events_url":"https://api.github.com/users/amcastro-tri/events{/privacy}","received_events_url":"https://api.github.com/users/amcastro-tri/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/RobotLocomotion/drake/milestones/2","html_url":"https://github.com/RobotLocomotion/drake/milestones/C++%20simulator%20for%20Valkyrie","labels_url":"https://api.github.com/repos/RobotLocomotion/drake/milestones/2/labels","id":1488183,"number":2,"title":"C++ simulator for Valkyrie","description":null,"creator":{"login":"RussTedrake","id":6442292,"avatar_url":"https://avatars.githubusercontent.com/u/6442292?v=3","gravatar_id":"","url":"https://api.github.com/users/RussTedrake","html_url":"https://github.com/RussTedrake","followers_url":"https://api.github.com/users/RussTedrake/followers","following_url":"https://api.github.com/users/RussTedrake/following{/other_user}","gists_url":"https://api.github.com/users/RussTedrake/gists{/gist_id}","starred_url":"https://api.github.com/users/RussTedrake/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RussTedrake/subscriptions","organizations_url":"https://api.github.com/users/RussTedrake/orgs","repos_url":"https://api.github.com/users/RussTedrake/repos","events_url":"https://api.github.com/users/RussTedrake/events{/privacy}","received_events_url":"https://api.github.com/users/RussTedrake/received_events","type":"User","site_admin":false},"open_issues":8,"closed_issues":2,"state":"open","created_at":"2016-01-06T19:28:11Z","updated_at":"2016-09-14T17:15:19Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/RobotLocomotion/drake/pulls/3228/commits","review_comments_url":"https://api.github.com/repos/RobotLocomotion/drake/pulls/3228/comments","review_comment_url":"https://api.github.com/repos/RobotLocomotion/drake/pulls/comments{/number}","comments_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/3228/comments","statuses_url":"https://api.github.com/repos/RobotLocomotion/drake/statuses/eb75e7661b083eb7eca1548b271463548900d02e","head":{"label":"liangfok:feature/system_2_bot_visualizer","ref":"feature/system_2_bot_visualizer","sha":"eb75e7661b083eb7eca1548b271463548900d02e","user":{"login":"liangfok","id":1388098,"avatar_url":"https://avatars.githubusercontent.com/u/1388098?v=3","gravatar_id":"","url":"https://api.github.com/users/liangfok","html_url":"https://github.com/liangfok","followers_url":"https://api.github.com/users/liangfok/followers","following_url":"https://api.github.com/users/liangfok/following{/other_user}","gists_url":"https://api.github.com/users/liangfok/gists{/gist_id}","starred_url":"https://api.github.com/users/liangfok/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liangfok/subscriptions","organizations_url":"https://api.github.com/users/liangfok/orgs","repos_url":"https://api.github.com/users/liangfok/repos","events_url":"https://api.github.com/users/liangfok/events{/privacy}","received_events_url":"https://api.github.com/users/liangfok/received_events","type":"User","site_admin":false},"repo":{"id":50609101,"name":"drake","full_name":"liangfok/drake","owner":{"login":"liangfok","id":1388098,"avatar_url":"https://avatars.githubusercontent.com/u/1388098?v=3","gravatar_id":"","url":"https://api.github.com/users/liangfok","html_url":"https://github.com/liangfok","followers_url":"https://api.github.com/users/liangfok/followers","following_url":"https://api.github.com/users/liangfok/following{/other_user}","gists_url":"https://api.github.com/users/liangfok/gists{/gist_id}","starred_url":"https://api.github.com/users/liangfok/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liangfok/subscriptions","organizations_url":"https://api.github.com/users/liangfok/orgs","repos_url":"https://api.github.com/users/liangfok/repos","events_url":"https://api.github.com/users/liangfok/events{/privacy}","received_events_url":"https://api.github.com/users/liangfok/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/liangfok/drake","description":"A planning, control, and analysis toolbox for nonlinear dynamical systems.  Please see the WIKI for documentation.","fork":true,"url":"https://api.github.com/repos/liangfok/drake","forks_url":"https://api.github.com/repos/liangfok/drake/forks","keys_url":"https://api.github.com/repos/liangfok/drake/keys{/key_id}","collaborators_url":"https://api.github.com/repos/liangfok/drake/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/liangfok/drake/teams","hooks_url":"https://api.github.com/repos/liangfok/drake/hooks","issue_events_url":"https://api.github.com/repos/liangfok/drake/issues/events{/number}","events_url":"https://api.github.com/repos/liangfok/drake/events","assignees_url":"https://api.github.com/repos/liangfok/drake/assignees{/user}","branches_url":"https://api.github.com/repos/liangfok/drake/branches{/branch}","tags_url":"https://api.github.com/repos/liangfok/drake/tags","blobs_url":"https://api.github.com/repos/liangfok/drake/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/liangfok/drake/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/liangfok/drake/git/refs{/sha}","trees_url":"https://api.github.com/repos/liangfok/drake/git/trees{/sha}","statuses_url":"https://api.github.com/repos/liangfok/drake/statuses/{sha}","languages_url":"https://api.github.com/repos/liangfok/drake/languages","stargazers_url":"https://api.github.com/repos/liangfok/drake/stargazers","contributors_url":"https://api.github.com/repos/liangfok/drake/contributors","subscribers_url":"https://api.github.com/repos/liangfok/drake/subscribers","subscription_url":"https://api.github.com/repos/liangfok/drake/subscription","commits_url":"https://api.github.com/repos/liangfok/drake/commits{/sha}","git_commits_url":"https://api.github.com/repos/liangfok/drake/git/commits{/sha}","comments_url":"https://api.github.com/repos/liangfok/drake/comments{/number}","issue_comment_url":"https://api.github.com/repos/liangfok/drake/issues/comments{/number}","contents_url":"https://api.github.com/repos/liangfok/drake/contents/{+path}","compare_url":"https://api.github.com/repos/liangfok/drake/compare/{base}...{head}","merges_url":"https://api.github.com/repos/liangfok/drake/merges","archive_url":"https://api.github.com/repos/liangfok/drake/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/liangfok/drake/downloads","issues_url":"https://api.github.com/repos/liangfok/drake/issues{/number}","pulls_url":"https://api.github.com/repos/liangfok/drake/pulls{/number}","milestones_url":"https://api.github.com/repos/liangfok/drake/milestones{/number}","notifications_url":"https://api.github.com/repos/liangfok/drake/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/liangfok/drake/labels{/name}","releases_url":"https://api.github.com/repos/liangfok/drake/releases{/id}","deployments_url":"https://api.github.com/repos/liangfok/drake/deployments","created_at":"2016-01-28T19:51:29Z","updated_at":"2016-07-10T01:56:51Z","pushed_at":"2016-09-14T20:18:38Z","git_url":"git://github.com/liangfok/drake.git","ssh_url":"git@github.com:liangfok/drake.git","clone_url":"https://github.com/liangfok/drake.git","svn_url":"https://github.com/liangfok/drake","homepage":"https://github.com/RobotLocomotion/drake/wiki","size":198154,"stargazers_count":0,"watchers_count":0,"language":"Matlab","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"RobotLocomotion:master","ref":"master","sha":"db68caa77a1cff41fd23974a4cb76f4effb23d77","user":{"login":"RobotLocomotion","id":6496345,"avatar_url":"https://avatars.githubusercontent.com/u/6496345?v=3","gravatar_id":"","url":"https://api.github.com/users/RobotLocomotion","html_url":"https://github.com/RobotLocomotion","followers_url":"https://api.github.com/users/RobotLocomotion/followers","following_url":"https://api.github.com/users/RobotLocomotion/following{/other_user}","gists_url":"https://api.github.com/users/RobotLocomotion/gists{/gist_id}","starred_url":"https://api.github.com/users/RobotLocomotion/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RobotLocomotion/subscriptions","organizations_url":"https://api.github.com/users/RobotLocomotion/orgs","repos_url":"https://api.github.com/users/RobotLocomotion/repos","events_url":"https://api.github.com/users/RobotLocomotion/events{/privacy}","received_events_url":"https://api.github.com/users/RobotLocomotion/received_events","type":"Organization","site_admin":false},"repo":{"id":16256144,"name":"drake","full_name":"RobotLocomotion/drake","owner":{"login":"RobotLocomotion","id":6496345,"avatar_url":"https://avatars.githubusercontent.com/u/6496345?v=3","gravatar_id":"","url":"https://api.github.com/users/RobotLocomotion","html_url":"https://github.com/RobotLocomotion","followers_url":"https://api.github.com/users/RobotLocomotion/followers","following_url":"https://api.github.com/users/RobotLocomotion/following{/other_user}","gists_url":"https://api.github.com/users/RobotLocomotion/gists{/gist_id}","starred_url":"https://api.github.com/users/RobotLocomotion/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RobotLocomotion/subscriptions","organizations_url":"https://api.github.com/users/RobotLocomotion/orgs","repos_url":"https://api.github.com/users/RobotLocomotion/repos","events_url":"https://api.github.com/users/RobotLocomotion/events{/privacy}","received_events_url":"https://api.github.com/users/RobotLocomotion/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/RobotLocomotion/drake","description":"A planning, control, and analysis toolbox for nonlinear dynamical systems.  More info at","fork":false,"url":"https://api.github.com/repos/RobotLocomotion/drake","forks_url":"https://api.github.com/repos/RobotLocomotion/drake/forks","keys_url":"https://api.github.com/repos/RobotLocomotion/drake/keys{/key_id}","collaborators_url":"https://api.github.com/repos/RobotLocomotion/drake/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/RobotLocomotion/drake/teams","hooks_url":"https://api.github.com/repos/RobotLocomotion/drake/hooks","issue_events_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/events{/number}","events_url":"https://api.github.com/repos/RobotLocomotion/drake/events","assignees_url":"https://api.github.com/repos/RobotLocomotion/drake/assignees{/user}","branches_url":"https://api.github.com/repos/RobotLocomotion/drake/branches{/branch}","tags_url":"https://api.github.com/repos/RobotLocomotion/drake/tags","blobs_url":"https://api.github.com/repos/RobotLocomotion/drake/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/RobotLocomotion/drake/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/RobotLocomotion/drake/git/refs{/sha}","trees_url":"https://api.github.com/repos/RobotLocomotion/drake/git/trees{/sha}","statuses_url":"https://api.github.com/repos/RobotLocomotion/drake/statuses/{sha}","languages_url":"https://api.github.com/repos/RobotLocomotion/drake/languages","stargazers_url":"https://api.github.com/repos/RobotLocomotion/drake/stargazers","contributors_url":"https://api.github.com/repos/RobotLocomotion/drake/contributors","subscribers_url":"https://api.github.com/repos/RobotLocomotion/drake/subscribers","subscription_url":"https://api.github.com/repos/RobotLocomotion/drake/subscription","commits_url":"https://api.github.com/repos/RobotLocomotion/drake/commits{/sha}","git_commits_url":"https://api.github.com/repos/RobotLocomotion/drake/git/commits{/sha}","comments_url":"https://api.github.com/repos/RobotLocomotion/drake/comments{/number}","issue_comment_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/comments{/number}","contents_url":"https://api.github.com/repos/RobotLocomotion/drake/contents/{+path}","compare_url":"https://api.github.com/repos/RobotLocomotion/drake/compare/{base}...{head}","merges_url":"https://api.github.com/repos/RobotLocomotion/drake/merges","archive_url":"https://api.github.com/repos/RobotLocomotion/drake/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/RobotLocomotion/drake/downloads","issues_url":"https://api.github.com/repos/RobotLocomotion/drake/issues{/number}","pulls_url":"https://api.github.com/repos/RobotLocomotion/drake/pulls{/number}","milestones_url":"https://api.github.com/repos/RobotLocomotion/drake/milestones{/number}","notifications_url":"https://api.github.com/repos/RobotLocomotion/drake/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/RobotLocomotion/drake/labels{/name}","releases_url":"https://api.github.com/repos/RobotLocomotion/drake/releases{/id}","deployments_url":"https://api.github.com/repos/RobotLocomotion/drake/deployments","created_at":"2014-01-26T16:11:05Z","updated_at":"2016-09-11T12:30:26Z","pushed_at":"2016-09-15T09:26:20Z","git_url":"git://github.com/RobotLocomotion/drake.git","ssh_url":"git@github.com:RobotLocomotion/drake.git","clone_url":"https://github.com/RobotLocomotion/drake.git","svn_url":"https://github.com/RobotLocomotion/drake","homepage":"http://drake.mit.edu","size":313561,"stargazers_count":509,"watchers_count":509,"language":"Matlab","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":311,"mirror_url":null,"open_issues_count":423,"forks":311,"open_issues":423,"watchers":509,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/RobotLocomotion/drake/pulls/3228"},"html":{"href":"https://github.com/RobotLocomotion/drake/pull/3228"},"issue":{"href":"https://api.github.com/repos/RobotLocomotion/drake/issues/3228"},"comments":{"href":"https://api.github.com/repos/RobotLocomotion/drake/issues/3228/comments"},"review_comments":{"href":"https://api.github.com/repos/RobotLocomotion/drake/pulls/3228/comments"},"review_comment":{"href":"https://api.github.com/repos/RobotLocomotion/drake/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/RobotLocomotion/drake/pulls/3228/commits"},"statuses":{"href":"https://api.github.com/repos/RobotLocomotion/drake/statuses/eb75e7661b083eb7eca1548b271463548900d02e"}}}}
{"actor":{"display_login":"RussTedrake"}}