OLD | NEW |
1 # Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2009 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 'chromium_code': 1, | 7 'chromium_code': 1, |
8 # Define the common dependencies that contain all the actual | 8 # Define the common dependencies that contain all the actual |
9 # Chromium functionality. This list gets pulled in below by | 9 # Chromium functionality. This list gets pulled in below by |
10 # the link of the actual chrome (or chromium) executable on | 10 # the link of the actual chrome (or chromium) executable on |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 # TODO(jcampan): move these vars to views.gyp. | 58 # TODO(jcampan): move these vars to views.gyp. |
59 'views_unit_tests_sources': [ | 59 'views_unit_tests_sources': [ |
60 '../views/view_unittest.cc', | 60 '../views/view_unittest.cc', |
61 '../views/focus/focus_manager_unittest.cc', | 61 '../views/focus/focus_manager_unittest.cc', |
62 ], | 62 ], |
63 'views_unit_tests_sources_win_specific': [ | 63 'views_unit_tests_sources_win_specific': [ |
64 # TODO(jcampan): make the following tests work on Linux. | 64 # TODO(jcampan): make the following tests work on Linux. |
65 '../views/controls/label_unittest.cc', | 65 '../views/controls/label_unittest.cc', |
66 '../views/controls/table/table_view_unittest.cc', | 66 '../views/controls/table/table_view_unittest.cc', |
67 '../views/grid_layout_unittest.cc', | 67 '../views/grid_layout_unittest.cc', |
68 ] | 68 ], |
| 69 'conditions': [ |
| 70 ['OS=="mac"', { |
| 71 'conditions': [ |
| 72 ['branding=="Chrome"', { |
| 73 'bundle_id': 'com.google.Chrome', |
| 74 }, { # else: branding!="Chrome" |
| 75 'bundle_id': 'org.chromium.Chromium', |
| 76 }], # branding |
| 77 ], # conditions |
| 78 }], # OS=="mac" |
| 79 ], # conditions |
69 }, | 80 }, |
70 'includes': [ | 81 'includes': [ |
71 '../build/common.gypi', | 82 '../build/common.gypi', |
72 ], | 83 ], |
73 'target_defaults': { | 84 'target_defaults': { |
74 'sources/': [ | 85 'sources/': [ |
75 ['exclude', '/(cocoa|gtk|win)/'], | 86 ['exclude', '/(cocoa|gtk|win)/'], |
76 ['exclude', '_(cocoa|gtk|linux|mac|posix|skia|win|views|x)(_unittest)?\\.(
cc|mm?)$'], | 87 ['exclude', '_(cocoa|gtk|linux|mac|posix|skia|win|views|x)(_unittest)?\\.(
cc|mm?)$'], |
77 ['exclude', '/(gtk|win|x11)_[^/]*\\.cc$'], | 88 ['exclude', '/(gtk|win|x11)_[^/]*\\.cc$'], |
78 ], | 89 ], |
(...skipping 2927 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3006 'dependencies': [ | 3017 'dependencies': [ |
3007 '../views/views.gyp:views', | 3018 '../views/views.gyp:views', |
3008 ], | 3019 ], |
3009 }], | 3020 }], |
3010 ['OS=="mac"', { | 3021 ['OS=="mac"', { |
3011 # 'branding' is a variable defined in common.gypi | 3022 # 'branding' is a variable defined in common.gypi |
3012 # (e.g. "Chromium", "Chrome") | 3023 # (e.g. "Chromium", "Chrome") |
3013 'conditions': [ | 3024 'conditions': [ |
3014 ['branding=="Chrome"', { | 3025 ['branding=="Chrome"', { |
3015 'mac_bundle_resources': ['app/theme/google_chrome/app.icns'], | 3026 'mac_bundle_resources': ['app/theme/google_chrome/app.icns'], |
3016 'variables': { | |
3017 'bundle_id': 'com.google.Chrome', | |
3018 }, | |
3019 'copies': [ | 3027 'copies': [ |
3020 { | 3028 { |
3021 'destination': '<(PRODUCT_DIR)/<(mac_product_name).app/Content
s/MacOS/', | 3029 'destination': '<(PRODUCT_DIR)/<(mac_product_name).app/Content
s/MacOS', |
3022 'files': ['../third_party/ffmpeg/binaries/chrome/libavcodec.52
.dylib', | 3030 'files': [ |
3023 '../third_party/ffmpeg/binaries/chrome/libavformat.5
2.dylib', | 3031 '../third_party/ffmpeg/binaries/chrome/libavcodec.52.dylib', |
3024 '../third_party/ffmpeg/binaries/chrome/libavutil.50.
dylib', | 3032 '../third_party/ffmpeg/binaries/chrome/libavformat.52.dylib'
, |
3025 '<(PRODUCT_DIR)/plugin_carbon_interpose.dylib'], | 3033 '../third_party/ffmpeg/binaries/chrome/libavutil.50.dylib', |
| 3034 ], |
3026 }, | 3035 }, |
3027 ], | 3036 ], |
3028 }, { # else: 'branding!="Chrome" | 3037 }, { # else: 'branding!="Chrome" |
3029 'mac_bundle_resources': ['app/theme/chromium/app.icns'], | 3038 'mac_bundle_resources': ['app/theme/chromium/app.icns'], |
3030 'variables': { | |
3031 'bundle_id': 'org.chromium.Chromium', | |
3032 }, | |
3033 'copies': [ | 3039 'copies': [ |
3034 { | 3040 { |
3035 'destination': '<(PRODUCT_DIR)/<(mac_product_name).app/Content
s/MacOS/', | 3041 'destination': '<(PRODUCT_DIR)/<(mac_product_name).app/Content
s/MacOS', |
3036 'files': ['../third_party/ffmpeg/binaries/chromium/libavcodec.
52.dylib', | 3042 'files': [ |
3037 '../third_party/ffmpeg/binaries/chromium/libavformat
.52.dylib', | 3043 '../third_party/ffmpeg/binaries/chromium/libavcodec.52.dylib
', |
3038 '../third_party/ffmpeg/binaries/chromium/libavutil.5
0.dylib', | 3044 '../third_party/ffmpeg/binaries/chromium/libavformat.52.dyli
b', |
3039 '<(PRODUCT_DIR)/plugin_carbon_interpose.dylib'], | 3045 '../third_party/ffmpeg/binaries/chromium/libavutil.50.dylib'
, |
| 3046 ], |
3040 }, | 3047 }, |
3041 ], | 3048 ], |
3042 }], | 3049 }], |
3043 ['mac_breakpad==1', { | 3050 ['mac_breakpad==1', { |
3044 'variables': { | 3051 'variables': { |
3045 # A real .dSYM is needed for dump_syms to operate on. | 3052 # A real .dSYM is needed for dump_syms to operate on. |
3046 'mac_real_dsym': 1, | 3053 'mac_real_dsym': 1, |
3047 }, | 3054 }, |
3048 'dependencies': [ | 3055 'dependencies': [ |
3049 '../breakpad/breakpad.gyp:dump_syms', | 3056 '../breakpad/breakpad.gyp:dump_syms', |
(...skipping 25 matching lines...) Expand all Loading... |
3075 'product_name': '<(mac_product_name)', | 3082 'product_name': '<(mac_product_name)', |
3076 'xcode_settings': { | 3083 'xcode_settings': { |
3077 # chrome/app/app-Info.plist has: | 3084 # chrome/app/app-Info.plist has: |
3078 # CFBundleIdentifier of CHROMIUM_BUNDLE_ID | 3085 # CFBundleIdentifier of CHROMIUM_BUNDLE_ID |
3079 # CFBundleName of CHROMIUM_SHORT_NAME | 3086 # CFBundleName of CHROMIUM_SHORT_NAME |
3080 # Xcode then replaces these values with the branded values we set | 3087 # Xcode then replaces these values with the branded values we set |
3081 # as settings on the target. | 3088 # as settings on the target. |
3082 'CHROMIUM_BUNDLE_ID': '<(bundle_id)', | 3089 'CHROMIUM_BUNDLE_ID': '<(bundle_id)', |
3083 'CHROMIUM_SHORT_NAME': '<(branding)', | 3090 'CHROMIUM_SHORT_NAME': '<(branding)', |
3084 }, | 3091 }, |
3085 # Bring in pdfsqueeze and run it on all pdfs | 3092 'mac_bundle_resources': [ |
| 3093 '<(PRODUCT_DIR)/<(mac_product_name) Helper.app', |
| 3094 ], |
3086 'dependencies': [ | 3095 'dependencies': [ |
| 3096 'helper_app', |
| 3097 # Bring in pdfsqueeze and run it on all pdfs |
3087 '../build/temp_gyp/pdfsqueeze.gyp:pdfsqueeze', | 3098 '../build/temp_gyp/pdfsqueeze.gyp:pdfsqueeze', |
3088 'interpose_dependency_shim', | |
3089 ], | 3099 ], |
3090 'rules': [ | 3100 'rules': [ |
3091 { | 3101 { |
3092 'rule_name': 'pdfsqueeze', | 3102 'rule_name': 'pdfsqueeze', |
3093 'extension': 'pdf', | 3103 'extension': 'pdf', |
3094 'inputs': [ | 3104 'inputs': [ |
3095 '<(PRODUCT_DIR)/pdfsqueeze', | 3105 '<(PRODUCT_DIR)/pdfsqueeze', |
3096 ], | 3106 ], |
3097 'outputs': [ | 3107 'outputs': [ |
3098 '<(INTERMEDIATE_DIR)/pdfsqueeze/<(RULE_INPUT_ROOT).pdf', | 3108 '<(INTERMEDIATE_DIR)/pdfsqueeze/<(RULE_INPUT_ROOT).pdf', |
3099 ], | 3109 ], |
3100 'action': ['<(PRODUCT_DIR)/pdfsqueeze', '<(RULE_INPUT_PATH)', '<@(
_outputs)'], | 3110 'action': ['<(PRODUCT_DIR)/pdfsqueeze', '<(RULE_INPUT_PATH)', '<@(
_outputs)'], |
3101 'message': 'Running pdfsqueeze on <(RULE_INPUT_PATH)', | 3111 'message': 'Running pdfsqueeze on <(RULE_INPUT_PATH)', |
3102 }, | 3112 }, |
3103 ], | 3113 ], |
3104 'copies': [ | 3114 'copies': [ |
3105 { | 3115 { |
3106 'destination': '<(PRODUCT_DIR)/<(mac_product_name).app/Contents/Fr
ameworks', | 3116 'destination': '<(PRODUCT_DIR)/<(mac_product_name).app/Contents/Fr
ameworks', |
3107 'files': ['<(PRODUCT_DIR)/<(mac_product_name) Framework.framework'
], | 3117 'files': ['<(PRODUCT_DIR)/<(mac_product_name) Framework.framework'
], |
3108 }, | 3118 }, |
| 3119 { |
| 3120 # Copy web inspector resources to the Contents/Resources folder. |
| 3121 'destination': '<(PRODUCT_DIR)/<(mac_product_name).app/Contents/Re
sources', |
| 3122 'files': ['<(PRODUCT_DIR)/resources/inspector/'], |
| 3123 }, |
| 3124 ], |
| 3125 'postbuilds': [ |
| 3126 { |
| 3127 # Modify the Info.plist as needed. The script explains why this |
| 3128 # is needed. This is also done in the helper_app target. |
| 3129 'postbuild_name': 'Tweak Info.plist', |
| 3130 'action': ['<(DEPTH)/build/mac/tweak_app_infoplist', |
| 3131 '-b<(mac_breakpad)', |
| 3132 '-k<(mac_keystone)', |
| 3133 '-s1', # Include Subversion information |
| 3134 '<(branding)'], |
| 3135 }, |
3109 ], | 3136 ], |
3110 }, { # else: OS != "mac" | 3137 }, { # else: OS != "mac" |
3111 'conditions': [ | 3138 'conditions': [ |
3112 ['branding=="Chrome"', { | 3139 ['branding=="Chrome"', { |
3113 'product_name': 'chrome' | 3140 'product_name': 'chrome' |
3114 }, { # else: Branding!="Chrome" | 3141 }, { # else: Branding!="Chrome" |
3115 # TODO: change to: | 3142 # TODO: change to: |
3116 # 'product_name': 'chromium' | 3143 # 'product_name': 'chromium' |
3117 # whenever we convert the rest of the infrastructure | 3144 # whenever we convert the rest of the infrastructure |
3118 # (buildbots etc.) to use "gyp -Dbranding=Chrome". | 3145 # (buildbots etc.) to use "gyp -Dbranding=Chrome". |
3119 # NOTE: chrome/app/theme/chromium/BRANDING and | 3146 # NOTE: chrome/app/theme/chromium/BRANDING and |
3120 # chrome/app/theme/google_chrome/BRANDING have the short names, | 3147 # chrome/app/theme/google_chrome/BRANDING have the short names, |
3121 # etc.; should we try to extract from there instead? | 3148 # etc.; should we try to extract from there instead? |
3122 'product_name': 'chrome' | 3149 'product_name': 'chrome' |
3123 }], | 3150 }], |
3124 ], | 3151 ], |
3125 }], | 3152 }], |
3126 ['OS=="mac"', { | |
3127 'actions': [ | |
3128 { | |
3129 # Mac adds an action to modify the Info.plist to meet our needs | |
3130 # (see the script for why this is done). | |
3131 'action_name': 'tweak_app_infoplist', | |
3132 # We don't list any inputs or outputs because we always want | |
3133 # the script to run. Why? Because it does thinks like record | |
3134 # the svn revision into the info.plist, so there is no file to | |
3135 # depend on that will change when ever that changes. | |
3136 'inputs': [], | |
3137 'outputs': [], | |
3138 'action': ['<(DEPTH)/build/mac/tweak_app_infoplist', | |
3139 '-b<(mac_breakpad)', | |
3140 '-k<(mac_keystone)', | |
3141 '<(branding)'], | |
3142 }, | |
3143 ], | |
3144 }], | |
3145 ['OS=="mac"', { | |
3146 # Copy web inspector resources to the Contents/Resources folder. | |
3147 'copies': [ | |
3148 { | |
3149 'destination': '<(PRODUCT_DIR)/<(mac_product_name).app/Contents/Re
sources', | |
3150 'files': ['<(PRODUCT_DIR)/resources/inspector/'], | |
3151 }, | |
3152 ], | |
3153 }], | |
3154 ['OS=="linux"', { | 3153 ['OS=="linux"', { |
3155 'conditions': [ | 3154 'conditions': [ |
3156 ['branding=="Chrome"', { | 3155 ['branding=="Chrome"', { |
3157 'dependencies': [ | 3156 'dependencies': [ |
3158 'installer/installer.gyp:installer_util', | 3157 'installer/installer.gyp:installer_util', |
3159 ], | 3158 ], |
3160 }], | 3159 }], |
3161 ], | 3160 ], |
3162 }], | 3161 }], |
3163 ['OS=="mac" or OS=="win"', { | 3162 ['OS=="mac" or OS=="win"', { |
(...skipping 1229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4393 ], | 4392 ], |
4394 'dependencies': [ | 4393 'dependencies': [ |
4395 '../build/util/support/support.gyp:*', | 4394 '../build/util/support/support.gyp:*', |
4396 ], | 4395 ], |
4397 | 4396 |
4398 # For now, don't put any resources into the framework. Exclude | 4397 # For now, don't put any resources into the framework. Exclude |
4399 # them all and push them into the bundle resources of the sole | 4398 # them all and push them into the bundle resources of the sole |
4400 # app bundle, the only dependent of this target. | 4399 # app bundle, the only dependent of this target. |
4401 # TODO(mark): Fix. | 4400 # TODO(mark): Fix. |
4402 'mac_bundle_resources/': [ | 4401 'mac_bundle_resources/': [ |
4403 ['exclude', ''], | 4402 ['exclude', '.*'], |
4404 ], | 4403 ], |
4405 'direct_dependent_settings': { | 4404 'direct_dependent_settings': { |
4406 'mac_bundle_resources': [ | 4405 'mac_bundle_resources': [ |
4407 '../third_party/WebKit/WebCore/Resources/aliasCursor.png', | 4406 '../third_party/WebKit/WebCore/Resources/aliasCursor.png', |
4408 '../third_party/WebKit/WebCore/Resources/cellCursor.png', | 4407 '../third_party/WebKit/WebCore/Resources/cellCursor.png', |
4409 '../third_party/WebKit/WebCore/Resources/contextMenuCursor.png
', | 4408 '../third_party/WebKit/WebCore/Resources/contextMenuCursor.png
', |
4410 '../third_party/WebKit/WebCore/Resources/copyCursor.png', | 4409 '../third_party/WebKit/WebCore/Resources/copyCursor.png', |
4411 '../third_party/WebKit/WebCore/Resources/crossHairCursor.png', | 4410 '../third_party/WebKit/WebCore/Resources/crossHairCursor.png', |
4412 '../third_party/WebKit/WebCore/Resources/eastResizeCursor.png'
, | 4411 '../third_party/WebKit/WebCore/Resources/eastResizeCursor.png'
, |
4413 '../third_party/WebKit/WebCore/Resources/eastWestResizeCursor.
png', | 4412 '../third_party/WebKit/WebCore/Resources/eastWestResizeCursor.
png', |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4472 }, { | 4471 }, { |
4473 'variables': { | 4472 'variables': { |
4474 'linux_breakpad%': 0, | 4473 'linux_breakpad%': 0, |
4475 }, | 4474 }, |
4476 }], | 4475 }], |
4477 ], | 4476 ], |
4478 }], | 4477 }], |
4479 ['OS=="mac"', | 4478 ['OS=="mac"', |
4480 { 'targets': [ | 4479 { 'targets': [ |
4481 { | 4480 { |
| 4481 'target_name': 'helper_app', |
| 4482 'type': 'executable', |
| 4483 'product_name': '<(mac_product_name) Helper', |
| 4484 'mac_bundle': 1, |
| 4485 'dependencies': [ |
| 4486 'chrome_dll', |
| 4487 'interpose_dependency_shim', |
| 4488 ], |
| 4489 'sources': [ |
| 4490 # chrome_exe_main.mm's main() is the entry point for the "chrome" |
| 4491 # (browser app) target. All it does is jump to chrome_dll's |
| 4492 # ChromeMain. This is appropriate for helper processes too, |
| 4493 # because the logic to discriminate between process types at run |
| 4494 # time is actually directed by the --type command line argument |
| 4495 # processed by ChromeMain. Sharing chrome_exe_main.mm with the |
| 4496 # browser app will suffice for now. |
| 4497 'app/chrome_exe_main.mm', |
| 4498 'app/helper-Info.plist', |
| 4499 ], |
| 4500 # TODO(mark): Come up with a fancier way to do this. It should only |
| 4501 # be necessary to list app-Info.plist once, not the three times it is |
| 4502 # listed here. |
| 4503 'mac_bundle_resources!': [ |
| 4504 'app/helper-Info.plist', |
| 4505 ], |
| 4506 # TODO(mark): For now, don't put any resources into this app. Its |
| 4507 # resources directory will be a symbolic link to the browser app's |
| 4508 # resources directory. |
| 4509 'mac_bundle_resources/': [ |
| 4510 ['exclude', '.*'], |
| 4511 ], |
| 4512 'xcode_settings': { |
| 4513 'CHROMIUM_BUNDLE_ID': '<(bundle_id)', |
| 4514 'CHROMIUM_SHORT_NAME': '<(branding)', |
| 4515 'INFOPLIST_FILE': 'app/helper-Info.plist', |
| 4516 }, |
| 4517 'copies': [ |
| 4518 { |
| 4519 'destination': '<(PRODUCT_DIR)/<(mac_product_name) Helper.app/Cont
ents/MacOS', |
| 4520 'files': [ |
| 4521 '<(PRODUCT_DIR)/plugin_carbon_interpose.dylib', |
| 4522 ], |
| 4523 }, |
| 4524 ], |
| 4525 'postbuilds': [ |
| 4526 { |
| 4527 'postbuild_name': 'Make Symbolic Links', |
| 4528 'action': ['app/make_mac_app_symlinks'], |
| 4529 }, |
| 4530 { |
| 4531 # Modify the Info.plist as needed. The script explains why this |
| 4532 # is needed. This is also done in the chrome target. In |
| 4533 # this case, -k0 is always used because Keystone never runs |
| 4534 # within the helper app. -s0 is used to avoid placing Subversion |
| 4535 # data in the helper app's Info.plist. It will be present in |
| 4536 # the main app's Info.plist, which is sufficient. |
| 4537 'postbuild_name': 'Tweak Info.plist', |
| 4538 'action': ['<(DEPTH)/build/mac/tweak_app_infoplist', |
| 4539 '-b<(mac_breakpad)', |
| 4540 '-k0', |
| 4541 '-s0', |
| 4542 '<(branding)'], |
| 4543 }, |
| 4544 ], |
| 4545 'conditions': [ |
| 4546 ['mac_breakpad==1', { |
| 4547 'variables': { |
| 4548 # A real .dSYM is needed for dump_syms to operate on. |
| 4549 'mac_real_dsym': 1, |
| 4550 }, |
| 4551 }], |
| 4552 ], |
| 4553 }, |
| 4554 { |
4482 # Convenience target to build a disk image. | 4555 # Convenience target to build a disk image. |
4483 'target_name': 'build_app_dmg', | 4556 'target_name': 'build_app_dmg', |
4484 # Don't place this in the 'all' list; most won't want it. | 4557 # Don't place this in the 'all' list; most won't want it. |
4485 # In GYP, booleans are 0/1, not True/False. | 4558 # In GYP, booleans are 0/1, not True/False. |
4486 'suppress_wildcard': 1, | 4559 'suppress_wildcard': 1, |
4487 'type': 'none', | 4560 'type': 'none', |
4488 'dependencies': [ | 4561 'dependencies': [ |
4489 'chrome', | 4562 'chrome', |
4490 ], | 4563 ], |
4491 'variables': { | 4564 'variables': { |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4540 'browser/plugin_carbon_interpose_mac.cc', | 4613 'browser/plugin_carbon_interpose_mac.cc', |
4541 ], | 4614 ], |
4542 'include_dirs': [ | 4615 'include_dirs': [ |
4543 '..', | 4616 '..', |
4544 ], | 4617 ], |
4545 'link_settings': { | 4618 'link_settings': { |
4546 'libraries': [ | 4619 'libraries': [ |
4547 '$(SDKROOT)/System/Library/Frameworks/Carbon.framework', | 4620 '$(SDKROOT)/System/Library/Frameworks/Carbon.framework', |
4548 ], | 4621 ], |
4549 }, | 4622 }, |
| 4623 'xcode_settings': { |
| 4624 'DYLIB_INSTALL_NAME_BASE': '@executable_path', |
| 4625 }, |
4550 }, | 4626 }, |
4551 ] | 4627 ] |
4552 }, { # else: OS != "mac" | 4628 }, { # else: OS != "mac" |
4553 'targets': [ | 4629 'targets': [ |
4554 { | 4630 { |
4555 'target_name': 'convert_dict', | 4631 'target_name': 'convert_dict', |
4556 'type': 'executable', | 4632 'type': 'executable', |
4557 'msvs_guid': '42ECD5EC-722F-41DE-B6B8-83764C8016DF', | 4633 'msvs_guid': '42ECD5EC-722F-41DE-B6B8-83764C8016DF', |
4558 'dependencies': [ | 4634 'dependencies': [ |
4559 '../base/base.gyp:base', | 4635 '../base/base.gyp:base', |
(...skipping 841 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5401 # Use outputs of this action as inputs for the main target build. | 5477 # Use outputs of this action as inputs for the main target build. |
5402 # Seems as a misnomer but makes this happy on Linux (scons). | 5478 # Seems as a misnomer but makes this happy on Linux (scons). |
5403 'process_outputs_as_sources': 1, | 5479 'process_outputs_as_sources': 1, |
5404 }, | 5480 }, |
5405 ], # 'actions' | 5481 ], # 'actions' |
5406 }, | 5482 }, |
5407 ] | 5483 ] |
5408 }], | 5484 }], |
5409 ], # 'conditions' | 5485 ], # 'conditions' |
5410 } | 5486 } |
OLD | NEW |