| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 { | 5 { |
| 6 'variables': { | 6 'variables': { |
| 7 'remoting_webapp_info_files': [ | 7 'remoting_webapp_info_files': [ |
| 8 'resources/chromoting16.webp', | 8 'resources/chromoting16.webp', |
| 9 'resources/chromoting48.webp', | 9 'resources/chromoting48.webp', |
| 10 'resources/chromoting128.webp', | 10 'resources/chromoting128.webp', |
| 11 ], | 11 ], |
| 12 | 12 |
| 13 # Jscompile proto files. | 13 # Jscompile proto files. |
| 14 # These provide type information for jscompile. | 14 # These provide type information for jscompile. |
| 15 'remoting_webapp_js_proto_files': [ | 15 'remoting_webapp_js_proto_files': [ |
| 16 'webapp/js_proto/chrome_proto.js', | 16 'webapp/js_proto/chrome_proto.js', |
| 17 'webapp/js_proto/dom_proto.js', | 17 'webapp/js_proto/dom_proto.js', |
| 18 'webapp/js_proto/remoting_proto.js', | 18 'webapp/js_proto/remoting_proto.js', |
| 19 'webapp/js_proto/test_proto.js', |
| 19 ], | 20 ], |
| 20 | 21 |
| 22 # |
| 23 # Webapp browsertest and unittest JavaScript files. |
| 24 # |
| 25 |
| 26 # Shared files for tests. |
| 27 'remoting_webapp_test_js_common_files': [ |
| 28 'webapp/unittests/mock_signal_strategy.js', |
| 29 ], |
| 30 # Browser test files. |
| 31 'remoting_webapp_browsertest_js_files': [ |
| 32 'webapp/browser_test/browser_test.js', |
| 33 'webapp/browser_test/bump_scroll_browser_test.js', |
| 34 'webapp/browser_test/cancel_pin_browser_test.js', |
| 35 'webapp/browser_test/invalid_pin_browser_test.js', |
| 36 'webapp/browser_test/it2me_browser_test.js', |
| 37 'webapp/browser_test/mock_client_plugin.js', |
| 38 'webapp/browser_test/mock_host_list_api.js', |
| 39 'webapp/browser_test/mock_identity.js', |
| 40 'webapp/browser_test/mock_oauth2_api.js', |
| 41 'webapp/browser_test/mock_session_connector.js', |
| 42 'webapp/browser_test/scrollbar_browser_test.js', |
| 43 'webapp/browser_test/timeout_waiter.js', |
| 44 'webapp/browser_test/unauthenticated_browser_test.js', |
| 45 'webapp/browser_test/update_pin_browser_test.js', |
| 46 ], |
| 47 'remoting_webapp_browsertest_all_js_files': [ |
| 48 '<@(remoting_webapp_browsertest_js_files)', |
| 49 '<@(remoting_webapp_test_js_common_files)', |
| 50 ], |
| 51 |
| 52 # These product files are excluded from our JavaScript unittest |
| 53 'remoting_webapp_unittest_exclude_js_files': [ |
| 54 # background.js is where the onLoad handler is defined, which |
| 55 # makes it the entry point of the background page. |
| 56 'webapp/crd/js/background.js', |
| 57 ], |
| 58 # The unit test cases for the webapp |
| 59 'remoting_webapp_unittest_js_files': [ |
| 60 'webapp/unittests/chrome_mocks.js', |
| 61 'webapp/js_proto/chrome_proto.js', |
| 62 'webapp/unittests/apps_v2_migration_unittest.js', |
| 63 'webapp/unittests/base_unittest.js', |
| 64 'webapp/unittests/desktop_connected_view_unittest.js', |
| 65 'webapp/unittests/dns_blackhole_checker_unittest.js', |
| 66 'webapp/unittests/event_hook_unittest.js', |
| 67 'webapp/unittests/fallback_signal_strategy_unittest.js', |
| 68 'webapp/unittests/ipc_unittest.js', |
| 69 'webapp/unittests/it2me_helpee_channel_unittest.js', |
| 70 'webapp/unittests/it2me_helper_channel_unittest.js', |
| 71 'webapp/unittests/it2me_service_unittest.js', |
| 72 'webapp/unittests/l10n_unittest.js', |
| 73 'webapp/unittests/menu_button_unittest.js', |
| 74 'webapp/unittests/xmpp_connection_unittest.js', |
| 75 'webapp/unittests/xmpp_login_handler_unittest.js', |
| 76 'webapp/unittests/xmpp_stream_parser_unittest.js', |
| 77 ], |
| 78 'remoting_webapp_unittest_all_js_files': [ |
| 79 '<@(remoting_webapp_unittest_js_files)', |
| 80 '<@(remoting_webapp_test_js_common_files)', |
| 81 ], |
| 82 'remoting_webapp_unittest_all_files': [ |
| 83 'webapp/crd/html/menu_button.css', |
| 84 '<@(remoting_webapp_unittest_all_js_files)', |
| 85 ], |
| 86 'remoting_webapp_unittest_template_main': |
| 87 'webapp/crd/html/template_unittest.html', |
| 88 |
| 89 # |
| 90 # Webapp JavaScript file groups. |
| 91 # |
| 92 |
| 21 # Auth (apps v1) JavaScript files. | 93 # Auth (apps v1) JavaScript files. |
| 22 # These files aren't included directly from main.html. They are | 94 # These files aren't included directly from main.html. They are |
| 23 # referenced from the manifest.json file (appsv1 only). | 95 # referenced from the manifest.json file (appsv1 only). |
| 24 'remoting_webapp_js_auth_v1_files': [ | 96 'remoting_webapp_js_auth_v1_files': [ |
| 25 'webapp/crd/js/cs_third_party_auth_trampoline.js', # client to host | 97 'webapp/crd/js/cs_third_party_auth_trampoline.js', # client to host |
| 26 'webapp/crd/js/cs_oauth2_trampoline.js', # Google account | 98 'webapp/crd/js/cs_oauth2_trampoline.js', # Google account |
| 27 ], | 99 ], |
| 28 # Auth (client to host) JavaScript files. | 100 # Auth (client to host) JavaScript files. |
| 29 'remoting_webapp_js_auth_client2host_files': [ | 101 'remoting_webapp_js_auth_client2host_files': [ |
| 30 'webapp/crd/js/third_party_host_permissions.js', | 102 'webapp/crd/js/third_party_host_permissions.js', |
| 31 'webapp/crd/js/third_party_token_fetcher.js', | 103 'webapp/crd/js/third_party_token_fetcher.js', |
| 32 ], | 104 ], |
| 33 # Auth (Google account) JavaScript files. | 105 # Auth (Google account) JavaScript files. |
| 34 'remoting_webapp_js_auth_google_files': [ | 106 'remoting_webapp_js_auth_google_files': [ |
| 35 'webapp/base/js/auth_dialog.js', | 107 'webapp/base/js/auth_dialog.js', |
| 36 'webapp/base/js/auth_init.js', | 108 'webapp/base/js/auth_init.js', |
| 37 'webapp/crd/js/identity.js', | 109 'webapp/crd/js/identity.js', |
| 38 'webapp/crd/js/oauth2.js', | 110 'webapp/crd/js/oauth2.js', |
| 39 'webapp/crd/js/oauth2_api.js', | 111 'webapp/crd/js/oauth2_api.js', |
| 40 'webapp/crd/js/oauth2_api_impl.js', | 112 'webapp/crd/js/oauth2_api_impl.js', |
| 41 ], | 113 ], |
| 114 # Cast extension handler JavaScript files. |
| 115 'remoting_webapp_js_cast_extension_files': [ |
| 116 'webapp/crd/js/cast_extension_handler.js', |
| 117 ], |
| 42 # Client JavaScript files. | 118 # Client JavaScript files. |
| 43 'remoting_webapp_js_client_files': [ | 119 'remoting_webapp_js_client_files': [ |
| 44 'webapp/crd/js/client_plugin.js', | 120 'webapp/crd/js/client_plugin.js', |
| 45 'webapp/crd/js/client_plugin_impl.js', | 121 'webapp/crd/js/client_plugin_impl.js', |
| 46 # TODO(garykac) For client_screen: | 122 # TODO(garykac) For client_screen: |
| 47 # * Split out pin/access code stuff into separate file. | 123 # * Split out pin/access code stuff into separate file. |
| 48 # * Move client logic into session_connector | 124 # * Move client logic into session_connector |
| 49 'webapp/crd/js/client_screen.js', | 125 'webapp/crd/js/client_screen.js', |
| 50 'webapp/crd/js/client_session.js', | 126 'webapp/crd/js/client_session.js', |
| 51 'webapp/crd/js/clipboard.js', | 127 'webapp/crd/js/clipboard.js', |
| 52 'webapp/crd/js/desktop_connected_view.js', | 128 'webapp/crd/js/desktop_connected_view.js', |
| 53 'webapp/crd/js/hangout_session.js', | 129 'webapp/crd/js/hangout_session.js', |
| 54 'webapp/crd/js/session_connector.js', | 130 'webapp/crd/js/session_connector.js', |
| 55 'webapp/crd/js/session_connector_impl.js', | 131 'webapp/crd/js/session_connector_impl.js', |
| 56 'webapp/crd/js/smart_reconnector.js', | 132 'webapp/crd/js/smart_reconnector.js', |
| 57 'webapp/crd/js/video_frame_recorder.js', | 133 'webapp/crd/js/video_frame_recorder.js', |
| 58 ], | 134 ], |
| 59 # Remoting core JavaScript files. | 135 # Remoting core JavaScript files. |
| 60 'remoting_webapp_js_core_files': [ | 136 'remoting_webapp_js_core_files': [ |
| 61 'webapp/base/js/app_capabilities.js', | 137 'webapp/base/js/app_capabilities.js', |
| 62 'webapp/base/js/application.js', | 138 'webapp/base/js/application.js', |
| 63 'webapp/base/js/base.js', | 139 'webapp/base/js/base.js', |
| 64 'webapp/base/js/ipc.js', | 140 'webapp/base/js/ipc.js', |
| 65 'webapp/base/js/platform.js', | 141 'webapp/base/js/platform.js', |
| 66 'webapp/crd/js/apps_v2_migration.js', | 142 'webapp/crd/js/apps_v2_migration.js', |
| 67 'webapp/crd/js/error.js', | 143 'webapp/crd/js/error.js', |
| 68 'webapp/crd/js/event_handlers.js', | 144 'webapp/crd/js/event_handlers.js', |
| 69 'webapp/crd/js/plugin_settings.js', | 145 'webapp/crd/js/plugin_settings.js', |
| 70 # TODO(garykac) Split out UI client stuff from remoting.js. | |
| 71 'webapp/crd/js/remoting.js', | 146 'webapp/crd/js/remoting.js', |
| 72 'webapp/crd/js/typecheck.js', | 147 'webapp/crd/js/typecheck.js', |
| 73 'webapp/crd/js/xhr.js', | 148 'webapp/crd/js/xhr.js', |
| 74 ], | 149 ], |
| 150 # Gnubby authentication JavaScript files. |
| 151 'remoting_webapp_js_gnubby_auth_files': [ |
| 152 'webapp/crd/js/gnubby_auth_handler.js', |
| 153 ], |
| 75 # Host JavaScript files. | 154 # Host JavaScript files. |
| 76 'remoting_webapp_js_host_files': [ | 155 'remoting_webapp_js_host_files': [ |
| 77 'webapp/crd/js/host.js', | 156 'webapp/crd/js/host.js', |
| 78 'webapp/crd/js/host_settings.js', | 157 'webapp/crd/js/host_settings.js', |
| 79 ], | 158 ], |
| 80 # Files for controlling the local machine as a host. | 159 # Files for controlling the local machine as a host. |
| 81 # Includes both it2me and me2me files. | 160 # Includes both it2me and me2me files. |
| 82 'remoting_webapp_js_host_control_files': [ | 161 'remoting_webapp_js_host_control_files': [ |
| 83 'webapp/crd/js/host_controller.js', | 162 'webapp/crd/js/host_controller.js', |
| 84 'webapp/crd/js/host_daemon_facade.js', | 163 'webapp/crd/js/host_daemon_facade.js', |
| (...skipping 12 matching lines...) Expand all Loading... |
| 97 'webapp/crd/js/host_list_api_impl.js', | 176 'webapp/crd/js/host_list_api_impl.js', |
| 98 'webapp/crd/js/host_table_entry.js', | 177 'webapp/crd/js/host_table_entry.js', |
| 99 ], | 178 ], |
| 100 # Logging and stats JavaScript files. | 179 # Logging and stats JavaScript files. |
| 101 'remoting_webapp_js_logging_files': [ | 180 'remoting_webapp_js_logging_files': [ |
| 102 'webapp/crd/js/format_iq.js', | 181 'webapp/crd/js/format_iq.js', |
| 103 'webapp/crd/js/log_to_server.js', | 182 'webapp/crd/js/log_to_server.js', |
| 104 'webapp/crd/js/server_log_entry.js', | 183 'webapp/crd/js/server_log_entry.js', |
| 105 'webapp/crd/js/stats_accumulator.js', | 184 'webapp/crd/js/stats_accumulator.js', |
| 106 ], | 185 ], |
| 186 # Remoting signaling files. |
| 187 'remoting_webapp_js_signaling_files': [ |
| 188 'webapp/crd/js/dns_blackhole_checker.js', |
| 189 'webapp/crd/js/fallback_signal_strategy.js', |
| 190 'webapp/crd/js/signal_strategy.js', |
| 191 'webapp/crd/js/wcs_adapter.js', |
| 192 'webapp/crd/js/wcs_sandbox_container.js', |
| 193 'webapp/crd/js/xmpp_connection.js', |
| 194 'webapp/crd/js/xmpp_login_handler.js', |
| 195 'webapp/crd/js/xmpp_stream_parser.js', |
| 196 ], |
| 107 # UI JavaScript files. | 197 # UI JavaScript files. |
| 108 'remoting_webapp_js_ui_files': [ | 198 'remoting_webapp_js_ui_files': [ |
| 109 'webapp/base/js/window_shape.js', | 199 'webapp/base/js/window_shape.js', |
| 110 'webapp/crd/js/butter_bar.js', | 200 'webapp/crd/js/butter_bar.js', |
| 111 'webapp/crd/js/connection_stats.js', | 201 'webapp/crd/js/connection_stats.js', |
| 112 'webapp/crd/js/feedback.js', | 202 'webapp/crd/js/feedback.js', |
| 113 'webapp/crd/js/fullscreen.js', | 203 'webapp/crd/js/fullscreen.js', |
| 114 'webapp/crd/js/fullscreen_v1.js', | 204 'webapp/crd/js/fullscreen_v1.js', |
| 115 'webapp/crd/js/fullscreen_v2.js', | 205 'webapp/crd/js/fullscreen_v2.js', |
| 116 'webapp/crd/js/l10n.js', | 206 'webapp/crd/js/l10n.js', |
| 117 'webapp/crd/js/menu_button.js', | 207 'webapp/crd/js/menu_button.js', |
| 118 'webapp/crd/js/options_menu.js', | 208 'webapp/crd/js/options_menu.js', |
| 119 'webapp/crd/js/ui_mode.js', | 209 'webapp/crd/js/ui_mode.js', |
| 120 'webapp/crd/js/toolbar.js', | 210 'webapp/crd/js/toolbar.js', |
| 121 'webapp/crd/js/window_frame.js', | 211 'webapp/crd/js/window_frame.js', |
| 122 ], | 212 ], |
| 123 # Remoting signaling files. | |
| 124 'remoting_webapp_js_signaling_files': [ | |
| 125 'webapp/crd/js/dns_blackhole_checker.js', | |
| 126 'webapp/crd/js/fallback_signal_strategy.js', | |
| 127 'webapp/crd/js/signal_strategy.js', | |
| 128 'webapp/crd/js/wcs_adapter.js', | |
| 129 'webapp/crd/js/wcs_sandbox_container.js', | |
| 130 'webapp/crd/js/xmpp_connection.js', | |
| 131 'webapp/crd/js/xmpp_login_handler.js', | |
| 132 'webapp/crd/js/xmpp_stream_parser.js', | |
| 133 ], | |
| 134 # Remoting WCS sandbox JavaScript files. | 213 # Remoting WCS sandbox JavaScript files. |
| 135 'remoting_webapp_js_wcs_sandbox_files': [ | 214 'remoting_webapp_js_wcs_sandbox_files': [ |
| 136 'webapp/crd/js/wcs.js', | 215 'webapp/crd/js/wcs.js', |
| 137 'webapp/crd/js/wcs_loader.js', | 216 'webapp/crd/js/wcs_loader.js', |
| 138 'webapp/crd/js/wcs_sandbox_content.js', | 217 'webapp/crd/js/wcs_sandbox_content.js', |
| 139 'webapp/crd/js/xhr_proxy.js', | 218 'webapp/crd/js/xhr_proxy.js', |
| 140 ], | 219 ], |
| 141 # gnubby authentication JavaScript files. | |
| 142 'remoting_webapp_js_gnubby_auth_files': [ | |
| 143 'webapp/crd/js/gnubby_auth_handler.js', | |
| 144 ], | |
| 145 # cast extension handler JavaScript files. | |
| 146 'remoting_webapp_js_cast_extension_files': [ | |
| 147 'webapp/crd/js/cast_extension_handler.js', | |
| 148 ], | |
| 149 # Shared files for tests. | |
| 150 'remoting_webapp_js_test_common_files': [ | |
| 151 'webapp/unittests/mock_signal_strategy.js', | |
| 152 ], | |
| 153 # browser test JavaScript files. | |
| 154 'remoting_webapp_js_browser_test_files': [ | |
| 155 'webapp/browser_test/browser_test.js', | |
| 156 'webapp/browser_test/bump_scroll_browser_test.js', | |
| 157 'webapp/browser_test/cancel_pin_browser_test.js', | |
| 158 'webapp/browser_test/invalid_pin_browser_test.js', | |
| 159 'webapp/browser_test/it2me_browser_test.js', | |
| 160 'webapp/browser_test/mock_client_plugin.js', | |
| 161 'webapp/browser_test/mock_host_list_api.js', | |
| 162 'webapp/browser_test/mock_identity.js', | |
| 163 'webapp/browser_test/mock_oauth2_api.js', | |
| 164 'webapp/browser_test/mock_session_connector.js', | |
| 165 'webapp/browser_test/scrollbar_browser_test.js', | |
| 166 'webapp/browser_test/timeout_waiter.js', | |
| 167 'webapp/browser_test/unauthenticated_browser_test.js', | |
| 168 'webapp/browser_test/update_pin_browser_test.js', | |
| 169 ], | |
| 170 # These product files are excluded from our JavaScript unittest | |
| 171 'remoting_webapp_unittest_exclude_files': [ | |
| 172 # background.js is where the onLoad handler is defined, which | |
| 173 # makes it the entry point of the background page. | |
| 174 'webapp/crd/js/background.js', | |
| 175 ], | |
| 176 # The unit test cases for the webapp | |
| 177 'remoting_webapp_unittest_js_files': [ | |
| 178 'webapp/unittests/chrome_mocks.js', | |
| 179 'webapp/js_proto/chrome_proto.js', | |
| 180 'webapp/unittests/apps_v2_migration_unittest.js', | |
| 181 'webapp/unittests/base_unittest.js', | |
| 182 'webapp/unittests/desktop_connected_view_unittest.js', | |
| 183 'webapp/unittests/dns_blackhole_checker_unittest.js', | |
| 184 'webapp/unittests/event_hook_unittest.js', | |
| 185 'webapp/unittests/fallback_signal_strategy_unittest.js', | |
| 186 'webapp/unittests/ipc_unittest.js', | |
| 187 'webapp/unittests/it2me_helpee_channel_unittest.js', | |
| 188 'webapp/unittests/it2me_helper_channel_unittest.js', | |
| 189 'webapp/unittests/it2me_service_unittest.js', | |
| 190 'webapp/unittests/l10n_unittest.js', | |
| 191 'webapp/unittests/menu_button_unittest.js', | |
| 192 'webapp/unittests/xmpp_connection_unittest.js', | |
| 193 'webapp/unittests/xmpp_login_handler_unittest.js', | |
| 194 'webapp/unittests/xmpp_stream_parser_unittest.js', | |
| 195 ], | |
| 196 'remoting_webapp_unittest_additional_files': [ | |
| 197 'webapp/crd/html/menu_button.css', | |
| 198 ], | |
| 199 'remoting_webapp_unittest_template_main': | |
| 200 'webapp/crd/html/template_unittest.html', | |
| 201 | 220 |
| 202 # The shared JavaScript files required by main.html. | 221 # The shared JavaScript files required by main.html. |
| 203 'remoting_webapp_shared_main_html_js_files': [ | 222 'remoting_webapp_shared_main_html_js_files': [ |
| 204 # Include the core files first as it is required by the other files. | 223 # Include the core files first as it is required by the other files. |
| 205 # Otherwise, Jscompile will complain. | 224 # Otherwise, Jscompile will complain. |
| 206 '<@(remoting_webapp_js_core_files)', | 225 '<@(remoting_webapp_js_core_files)', |
| 207 '<@(remoting_webapp_js_auth_client2host_files)', | 226 '<@(remoting_webapp_js_auth_client2host_files)', |
| 208 '<@(remoting_webapp_js_auth_google_files)', | 227 '<@(remoting_webapp_js_auth_google_files)', |
| 209 '<@(remoting_webapp_js_client_files)', | 228 '<@(remoting_webapp_js_client_files)', |
| 210 '<@(remoting_webapp_js_gnubby_auth_files)', | 229 '<@(remoting_webapp_js_gnubby_auth_files)', |
| 211 '<@(remoting_webapp_js_cast_extension_files)', | 230 '<@(remoting_webapp_js_cast_extension_files)', |
| 212 '<@(remoting_webapp_js_host_files)', | 231 '<@(remoting_webapp_js_host_files)', |
| 213 '<@(remoting_webapp_js_host_control_files)', | 232 '<@(remoting_webapp_js_host_control_files)', |
| 214 '<@(remoting_webapp_js_host_display_files)', | 233 '<@(remoting_webapp_js_host_display_files)', |
| 215 '<@(remoting_webapp_js_logging_files)', | 234 '<@(remoting_webapp_js_logging_files)', |
| 216 '<@(remoting_webapp_js_ui_files)', | 235 '<@(remoting_webapp_js_ui_files)', |
| 217 '<@(remoting_webapp_js_signaling_files)', | 236 '<@(remoting_webapp_js_signaling_files)', |
| 218 # Uncomment these lines to include browser test files in the web app | 237 # Uncomment this line to include browser test files in the web app |
| 219 # to expedite debugging or local development. | 238 # to expedite debugging or local development. |
| 220 # '<@(remoting_webapp_js_browser_test_files)', | 239 #'<@(remoting_webapp_browsertest_all_js_files)', |
| 221 # '<@(remoting_webapp_js_test_common_files)' | |
| 222 ], | 240 ], |
| 223 | 241 |
| 224 # The CRD-specific JavaScript files required by main.html. | 242 # The CRD-specific JavaScript files required by main.html. |
| 225 'remoting_webapp_crd_main_html_js_files': [ | 243 'remoting_webapp_crd_main_html_js_files': [ |
| 226 'webapp/crd/js/crd_connect.js', | 244 'webapp/crd/js/crd_connect.js', |
| 227 'webapp/crd/js/crd_event_handlers.js', | 245 'webapp/crd/js/crd_event_handlers.js', |
| 228 'webapp/crd/js/crd_main.js', | 246 'webapp/crd/js/crd_main.js', |
| 229 'webapp/crd/js/desktop_remoting.js', | 247 'webapp/crd/js/desktop_remoting.js', |
| 230 ], | 248 ], |
| 231 | 249 |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 370 'webapp/crd/manifest.json.jinja2', | 388 'webapp/crd/manifest.json.jinja2', |
| 371 '<(remoting_webapp_template_main)', | 389 '<(remoting_webapp_template_main)', |
| 372 '<(remoting_webapp_template_wcs_sandbox)', | 390 '<(remoting_webapp_template_wcs_sandbox)', |
| 373 '<(remoting_webapp_template_background)', | 391 '<(remoting_webapp_template_background)', |
| 374 '<@(remoting_webapp_template_files)', | 392 '<@(remoting_webapp_template_files)', |
| 375 '<@(remoting_webapp_crd_js_files)', | 393 '<@(remoting_webapp_crd_js_files)', |
| 376 ], | 394 ], |
| 377 | 395 |
| 378 }, | 396 }, |
| 379 } | 397 } |
| OLD | NEW |