#
# DO NOT EDIT!
# This file is automatically generated at least once every
# hour by the GenerateVersionTable() sub in globals.pl.
# Any changes you make will be overwritten.
#
@::log_columns = (
                   'alias',
                   'assigned_to',
                   'bug_file_loc',
                   'bug_severity',
                   'bug_status',
                   'cclist_accessible',
                   'component_id',
                   'deadline',
                   'estimated_time',
                   'everconfirmed',
                   'keywords',
                   'op_sys',
                   'priority',
                   'product_id',
                   'qa_contact',
                   'remaining_time',
                   'rep_platform',
                   'reporter',
                   'reporter_accessible',
                   'resolution',
                   'short_desc',
                   'status_whiteboard',
                   'target_milestone',
                   'version',
                   'votes'
                 );
%::versions = (
                'WebKit' => [
                              '312.x',
                              '412',
                              '412.x',
                              '416.x',
                              '417.x',
                              '418.x',
                              '419.x',
                              '420+',
                              '523.x (Safari 3)',
                              '525+ (Nightly build)'
                            ],
                'Security' => [
                                '525.x (Nightly build)',
                                'Other'
                              ]
              );
@::legal_versions = (
                      '312.x',
                      '412',
                      '412.x',
                      '416.x',
                      '417.x',
                      '418.x',
                      '419.x',
                      '420+',
                      '523.x (Safari 3)',
                      '525+ (Nightly build)',
                      '525.x (Nightly build)',
                      'Other'
                    );
%::components = (
                  'WebKit' => [
                                'Accessibility',
                                'CSS',
                                'Drosera',
                                'Evangelism',
                                'Forms',
                                'Frames',
                                'History',
                                'HTML DOM',
                                'HTML Editing',
                                'Images',
                                'Java',
                                'JavaScriptCore',
                                'JavaScriptGlue',
                                'Layout and Rendering',
                                'New Bugs',
                                'Page Loading',
                                'PDF',
                                'Platform',
                                'Plug-ins',
                                'Printing',
                                'Reindeer',
                                'SVG',
                                'Tables',
                                'Text',
                                'Tools / Tests',
                                'Web Inspector',
                                'Web Template Framework',
                                'WebCore JavaScript',
                                'WebCore Misc.',
                                'WebKit API',
                                'WebKit Gtk',
                                'WebKit Misc.',
                                'WebKit Qt',
                                'WebKit Website',
                                'WebKit wx',
                                'XML',
                                'XML DOM'
                              ],
                  'Security' => [
                                  'Security'
                                ]
                );
@::legal_components = (
                        'Accessibility',
                        'CSS',
                        'Drosera',
                        'Evangelism',
                        'Forms',
                        'Frames',
                        'History',
                        'HTML DOM',
                        'HTML Editing',
                        'Images',
                        'Java',
                        'JavaScriptCore',
                        'JavaScriptGlue',
                        'Layout and Rendering',
                        'New Bugs',
                        'Page Loading',
                        'PDF',
                        'Platform',
                        'Plug-ins',
                        'Printing',
                        'Reindeer',
                        'Security',
                        'SVG',
                        'Tables',
                        'Text',
                        'Tools / Tests',
                        'Web Inspector',
                        'Web Template Framework',
                        'WebCore JavaScript',
                        'WebCore Misc.',
                        'WebKit API',
                        'WebKit Gtk',
                        'WebKit Misc.',
                        'WebKit Qt',
                        'WebKit Website',
                        'WebKit wx',
                        'XML',
                        'XML DOM'
                      );
@::legal_product = (
                     'Security',
                     'WebKit'
                   );
@::legal_priority = (
                      'P1',
                      'P2',
                      'P3',
                      'P4',
                      'P5'
                    );
@::legal_severity = (
                      'Blocker',
                      'Critical',
                      'Major',
                      'Normal',
                      'Minor',
                      'Trivial',
                      'Enhancement'
                    );
@::legal_platform = (
                      'All',
                      'Macintosh',
                      'Macintosh PowerPC',
                      'Macintosh Intel',
                      'PC',
                      'S60 Hardware',
                      'S60 Emulator',
                      'Other'
                    );
@::legal_opsys = (
                   'All',
                   'Windows 2000',
                   'Windows XP',
                   'Windows Server 2003',
                   'Windows Vista',
                   'Mac OS X 10.3',
                   'Mac OS X 10.4',
                   'Mac OS X 10.5',
                   'Linux',
                   'S60 3rd edition',
                   'Other'
                 );
@::legal_bug_status = (
                        'UNCONFIRMED',
                        'NEW',
                        'ASSIGNED',
                        'REOPENED',
                        'RESOLVED',
                        'VERIFIED',
                        'CLOSED'
                      );
@::legal_resolution = (
                        '',
                        'FIXED',
                        'INVALID',
                        'WONTFIX',
                        'LATER',
                        'REMIND',
                        'DUPLICATE',
                        'WORKSFORME',
                        'MOVED'
                      );
@::settable_resolution = (
                           '',
                           'FIXED',
                           'INVALID',
                           'WONTFIX',
                           'LATER',
                           'REMIND',
                           'WORKSFORME'
                         );
%::proddesc = (
                'WebKit' => 'The WebKit browser engine (non-security bugs)',
                'Security' => 'Security vulnerabilities (bugs are kept confidential until fix is shipped)'
              );
%::classifications = (
                       'Unclassified' => [
                                           'Security',
                                           'WebKit'
                                         ]
                     );
%::classdesc = (
                 'Unclassified' => 'Unassigned to any classifications'
               );
@::enterable_products = (
                          'Security',
                          'WebKit'
                        );
%::prodmaxvotes = (
                    'WebKit' => '10',
                    'Security' => '0'
                  );
%::target_milestone = (
                        'WebKit' => [
                                      '---'
                                    ],
                        'Security' => [
                                        '---'
                                      ]
                      );
@::legal_target_milestone = (
                              '---'
                            );
%::milestoneurl = (
                    'WebKit' => '',
                    'Security' => ''
                  );
@::legal_keywords = (
                      'Cairo',
                      'Curl',
                      'EasyFix',
                      'GoogleBug',
                      'Gtk',
                      'HasReduction',
                      'HitList',
                      'HitListCandidate',
                      'InRadar',
                      'InTSW',
                      'LayoutTestFailure',
                      'NativeFileUpload',
                      'NativeListBox',
                      'NativePopUp',
                      'NativeTextArea',
                      'NativeTextField',
                      'NeedsRadar',
                      'NeedsReduction',
                      'Performance',
                      'PlatformOnly',
                      'Qt',
                      'Regression',
                      'ReviewedForRadar',
                      'SearchField',
                      'SVGHitList',
                      'WebCoreContextMenu',
                      'Wx',
                      'YahooBug'
                    );
%::keywordsbyname = (
                      'hitlistcandidate' => '6',
                      'nativefileupload' => '16',
                      'nativelistbox' => '17',
                      'nativetextfield' => '7',
                      'nativepopup' => '13',
                      'layouttestfailure' => '18',
                      'intsw' => '11',
                      'hasreduction' => '2',
                      'curl' => '24',
                      'gtk' => '23',
                      'nativetextarea' => '12',
                      'easyfix' => '8',
                      'platformonly' => '10',
                      'qt' => '22',
                      'wx' => '27',
                      'regression' => '3',
                      'reviewedforradar' => '28',
                      'cairo' => '25',
                      'webcorecontextmenu' => '20',
                      'svghitlist' => '9',
                      'needsradar' => '14',
                      'yahoobug' => '26',
                      'needsreduction' => '1',
                      'inradar' => '4',
                      'googlebug' => '15',
                      'searchfield' => '19',
                      'performance' => '21',
                      'hitlist' => '5'
                    );
1;
