INSERT INTO `ohrm_data_group` (`name`, `description`, `can_read`, `can_create`, `can_update`, `can_delete`)
VALUES ('admin_nationalities', 'HR Administration - Nationalities', 1, 1, 1, 1);
SET
@admin_nationalities_data_group_id := (SELECT LAST_INSERT_ID());

INSERT INTO `ohrm_user_role_data_group` (`user_role_id`, `data_group_id`, `can_read`, `can_create`, `can_update`,
                                         `can_delete`, `self`)
VALUES (1, @admin_nationalities_data_group_id, 1, 1, 1, 1, 0);

INSERT INTO `ohrm_data_group` (`name`, `description`, `can_read`, `can_create`, `can_update`, `can_delete`)
VALUES ('admin_memberships', 'HR Administration - Memberships', 1, 1, 1, 1);
SET
@admin_memberships_data_group_id := (SELECT LAST_INSERT_ID());

INSERT INTO `ohrm_user_role_data_group` (`user_role_id`, `data_group_id`, `can_read`, `can_create`, `can_update`,
                                         `can_delete`, `self`)
VALUES (1, @admin_memberships_data_group_id, 1, 1, 1, 1, 0);

INSERT INTO `ohrm_data_group` (`name`, `description`, `can_read`, `can_create`, `can_update`, `can_delete`)
VALUES ('admin_locations', 'HR Administration - Locations', 1, 1, 1, 1);
SET
@admin_locations_data_group_id := (SELECT LAST_INSERT_ID());

INSERT INTO `ohrm_user_role_data_group` (`user_role_id`, `data_group_id`, `can_read`, `can_create`, `can_update`,
                                         `can_delete`, `self`)
VALUES (1, @admin_locations_data_group_id, 1, 1, 1, 1, 0);

INSERT INTO `ohrm_data_group` (`name`, `description`, `can_read`, `can_create`, `can_update`, `can_delete`)
VALUES ('admin_localization', 'HR Administration - Localization', 1, 1, 1, 1);
SET
@admin_localization_data_group_id := (SELECT LAST_INSERT_ID());

INSERT INTO `ohrm_user_role_data_group` (`user_role_id`, `data_group_id`, `can_read`, `can_create`, `can_update`,
                                         `can_delete`, `self`)
VALUES (1, @admin_localization_data_group_id, 1, 1, 1, 1, 0);

INSERT INTO `ohrm_data_group` (`name`, `description`, `can_read`, `can_create`, `can_update`, `can_delete`)
VALUES ('admin_licenses', 'HR Administration - Licenses', 1, 1, 1, 1);
SET
@admin_licenses_data_group_id := (SELECT LAST_INSERT_ID());

INSERT INTO `ohrm_user_role_data_group` (`user_role_id`, `data_group_id`, `can_read`, `can_create`, `can_update`,
                                         `can_delete`, `self`)
VALUES (1, @admin_licenses_data_group_id, 1, 1, 1, 1, 0);

INSERT INTO `ohrm_data_group` (`name`, `description`, `can_read`, `can_create`, `can_update`, `can_delete`)
VALUES ('admin_employment_status', 'HR Administration - Employment Status', 1, 1, 1, 1);
SET
@admin_employment_status_data_group_id := (SELECT LAST_INSERT_ID());

INSERT INTO `ohrm_user_role_data_group` (`user_role_id`, `data_group_id`, `can_read`, `can_create`, `can_update`,
                                         `can_delete`, `self`)
VALUES (1, @admin_employment_status_data_group_id, 1, 1, 1, 1, 0);

INSERT INTO `ohrm_data_group` (`name`, `description`, `can_read`, `can_create`, `can_update`, `can_delete`)
VALUES ('admin_education', 'HR Administration - Education', 1, 1, 1, 1);
SET
@admin_education_data_group_id := (SELECT LAST_INSERT_ID());

INSERT INTO `ohrm_user_role_data_group` (`user_role_id`, `data_group_id`, `can_read`, `can_create`, `can_update`,
                                         `can_delete`, `self`)
VALUES (1, @admin_education_data_group_id, 1, 1, 1, 1, 0);

INSERT INTO `ohrm_data_group` (`name`, `description`, `can_read`, `can_create`, `can_update`, `can_delete`)
VALUES ('admin_skills', 'HR Administration - Skills', 1, 1, 1, 1);
SET
@admin_skills_data_group_id := (SELECT LAST_INSERT_ID());

INSERT INTO `ohrm_user_role_data_group` (`user_role_id`, `data_group_id`, `can_read`, `can_create`, `can_update`,
                                         `can_delete`, `self`)
VALUES (1, @admin_skills_data_group_id, 1, 1, 1, 1, 0);

INSERT INTO `ohrm_data_group` (`name`, `description`, `can_read`, `can_create`, `can_update`, `can_delete`)
VALUES ('admin_job_categories', 'HR Administration - Job Categories', 1, 1, 1, 1);
SET
@admin_job_categories_data_group_id := (SELECT LAST_INSERT_ID());

INSERT INTO `ohrm_user_role_data_group` (`user_role_id`, `data_group_id`, `can_read`, `can_create`, `can_update`,
                                         `can_delete`, `self`)
VALUES (1, @admin_job_categories_data_group_id, 1, 1, 1, 1, 0);

INSERT INTO `ohrm_data_group` (`name`, `description`, `can_read`, `can_create`, `can_update`, `can_delete`)
VALUES ('admin_organization_general_information', 'HR Administration - Organization General Information', 1, 1, 1, 1);
SET
@admin_organization_general_information_data_group_id := (SELECT LAST_INSERT_ID());

INSERT INTO `ohrm_user_role_data_group` (`user_role_id`, `data_group_id`, `can_read`, `can_create`, `can_update`,
                                         `can_delete`, `self`)
VALUES (1, @admin_organization_general_information_data_group_id, 1, 1, 1, 1, 0);

INSERT INTO `ohrm_data_group` (`name`, `description`, `can_read`, `can_create`, `can_update`, `can_delete`)
VALUES ('admin_languages', 'HR Administration - Languages', 1, 1, 1, 1);
SET
@admin_languages_data_group_id := (SELECT LAST_INSERT_ID());

INSERT INTO `ohrm_user_role_data_group` (`user_role_id`, `data_group_id`, `can_read`, `can_create`, `can_update`,
                                         `can_delete`, `self`)
VALUES (1, @admin_languages_data_group_id, 1, 1, 1, 1, 0);

INSERT INTO `ohrm_data_group` (`name`, `description`, `can_read`, `can_create`, `can_update`, `can_delete`)
VALUES ('admin_config_system_admin', 'HR Administration - Config System Admin', 1, 1, 1, 1);
SET
@admin_config_system_admin_data_group_id := (SELECT LAST_INSERT_ID());

INSERT INTO `ohrm_user_role_data_group` (`user_role_id`, `data_group_id`, `can_read`, `can_create`, `can_update`,
                                         `can_delete`, `self`)
VALUES (1, @admin_config_system_admin_data_group_id, 1, 1, 1, 1, 0);

INSERT INTO `ohrm_data_group` (`name`, `description`, `can_read`, `can_create`, `can_update`, `can_delete`)
VALUES ('admin_salary_components', 'HR Administration - Salary Components', 1, 1, 1, 1);

SET
@admin_salary_components_data_group_id = (SELECT `id` FROM ohrm_data_group WHERE `name` = 'admin_salary_components');

INSERT INTO `ohrm_user_role_data_group` (`user_role_id`, `data_group_id`, `can_read`, `can_create`, `can_update`,
                                         `can_delete`, `self`)
VALUES (1, @admin_salary_components_data_group_id, 1, 1, 1, 1, 0);

CREATE
INDEX ohrm_subunit_level_idx ON ohrm_subunit (level);
CREATE
INDEX ohrm_subunit_rgt_idx ON ohrm_subunit (rgt);
CREATE
INDEX ohrm_subunit_lft_idx ON ohrm_subunit (lft);

/********************* eeo menu item ******************/


SET
@module_id := (SELECT `id` FROM `ohrm_module` WHERE `name` = 'admin');

INSERT INTO `ohrm_screen` (`name`, `module_id`, `action_url`)
VALUES ('Process EEO Filling', @module_id, 'processEEOFilling');

SET
@screen_id := (SELECT LAST_INSERT_ID());

SET
@organization_menu_item_id := (SELECT `id` FROM `ohrm_menu_item` WHERE `menu_title`='Organization');

INSERT INTO `ohrm_menu_item` (`menu_title`, `screen_id`, `parent_id`, `level`, `order_hint`, `url_extras`, `uisref`, `status`) VALUES
('Process EEO Filing', @screen_id, @organization_menu_item_id, 4, 500, NULL, 'admin.eeo_filing_wizard', 0);

SET
@admin_user_role_id := (SELECT `id` FROM `ohrm_user_role` WHERE `name`='Admin');
INSERT INTO `ohrm_user_role_screen` (`user_role_id`, `screen_id`, `can_read`, `can_create`, `can_update`, `can_delete`)
VALUES (@admin_user_role_id, @screen_id, 1, 1, 1, 1);

INSERT INTO `ohrm_data_group` (`name`, `description`, `can_read`, `can_create`, `can_update`, `can_delete`)
VALUES ('admin_process_eeo_filling', 'HR Administration - Process EEO Filing', 1, 1, 1, 1);

SET
@data_group_id = (SELECT LAST_INSERT_ID());
INSERT INTO `ohrm_user_role_data_group` (`user_role_id`, `data_group_id`, `can_read`, `can_create`, `can_update`,
                                         `can_delete`, `self`)
VALUES (@admin_user_role_id, @data_group_id, 1, 1, 1, 1, 0);

INSERT INTO `ohrm_data_group_screen`(`data_group_id`, `screen_id`, `permission`)
VALUES (@data_group_id, @screen_id, 1);

SET
@view_admin_module_id := (SELECT `id` FROM `ohrm_screen` WHERE `module_id` =2 AND `action_url` = 'viewAdminModule');

INSERT INTO `ohrm_data_group_screen`(`data_group_id`, `screen_id`, `permission`)
VALUES (@data_group_id, @view_admin_module_id, 1);

SET @admin_module_id = (SELECT `id` FROM ohrm_module WHERE `name` = 'admin');
SET @system_administration_menu_id = (SELECT `id` FROM ohrm_menu_item WHERE `menu_title` = 'System Administration' AND parent_id IS NULL AND level = 1);
SET @system_admin_configurations_menu_id = (SELECT `id` FROM ohrm_menu_item WHERE `menu_title` = 'Configurations' AND `parent_id` = @system_administration_menu_id);
SET @config_admin_role_id = (SELECT `id` FROM ohrm_user_role WHERE `name` = 'ConfigAdmin');

INSERT INTO ohrm_screen (`name`, `module_id`, `action_url`, `route_name`)
VALUES ('Export Configuration', @admin_module_id, 'exportConfiguration', 'admin_exportConfiguration');

SET
@export_configuration_screen_id = (SELECT `id` FROM ohrm_screen WHERE `action_url` = 'exportConfiguration');

INSERT INTO ohrm_menu_item (`menu_title`, `screen_id`, `parent_id`, `level`, `order_hint`, `uisref`, `status`) VALUES
('Export', @export_configuration_screen_id, @system_admin_configurations_menu_id, 3, 100, NULL , 1);

INSERT INTO ohrm_user_role_screen (user_role_id, screen_id, can_read, can_create, can_update, can_delete)
VALUES (@config_admin_role_id, @export_configuration_screen_id, 1, 1, 1, 1);

INSERT INTO `ohrm_data_group` (`name`, `description`, `can_read`, `can_create`, `can_update`, `can_delete`)
VALUES ('export_configuration', 'HR Administration - Export Configuration', 1, 0, 0, 0);

SET
@export_configuration_data_group_id = (SELECT id FROM `ohrm_data_group` WHERE `name` = 'export_configuration');

INSERT INTO `ohrm_user_role_data_group` (`user_role_id`, `data_group_id`, `can_read`, `can_create`, `can_update`,
                                         `can_delete`, `self`)
VALUES (@config_admin_role_id, @export_configuration_data_group_id, 1, 0, 0, 0, 0);

INSERT INTO `ohrm_data_group_screen`(`data_group_id`, `screen_id`, `permission`)
VALUES (@export_configuration_data_group_id, @export_configuration_screen_id, 1);

INSERT INTO ohrm_screen (`name`, `module_id`, `action_url`, `route_name`)
VALUES ('Import Configuration', @admin_module_id, 'importConfiguration', 'admin_importConfiguration');

SET
@import_configuration_screen_id = (SELECT `id` FROM ohrm_screen WHERE `action_url` = 'importConfiguration');

INSERT INTO ohrm_menu_item (`menu_title`, `screen_id`, `parent_id`, `level`, `order_hint`, `uisref`, `status`) VALUES
('Import', @import_configuration_screen_id, @system_admin_configurations_menu_id, 3, 200, NULL , 1);

INSERT INTO ohrm_user_role_screen (user_role_id, screen_id, can_read, can_create, can_update, can_delete)
VALUES (@config_admin_role_id, @import_configuration_screen_id, 1, 1, 1, 1);

INSERT INTO `ohrm_data_group` (`name`, `description`, `can_read`, `can_create`, `can_update`, `can_delete`)
VALUES ('import_configuration', 'HR Administration - Import Configuration', 1, 1, 1, 1);

SET
@import_configuration_data_group_id = (SELECT id FROM `ohrm_data_group` WHERE `name` = 'import_configuration');

INSERT INTO `ohrm_user_role_data_group` (`user_role_id`, `data_group_id`, `can_read`, `can_create`, `can_update`,
                                         `can_delete`, `self`)
VALUES (@config_admin_role_id, @import_configuration_data_group_id, 1, 1, 1, 1, 0);

INSERT INTO `ohrm_data_group_screen`(`data_group_id`, `screen_id`, `permission`)
VALUES (@import_configuration_data_group_id, @import_configuration_screen_id, 3);


CREATE TABLE IF NOT EXISTS `ohrm_configurations_backup`
(
    `id`
    int
    auto_increment,
    `date_time`
    DATETIME,
    `configs`
    LONGTEXT,
    `user_id`
    int,
    primary
    key
(
    `id`
),
    foreign key
(
    `user_id`
) references `ohrm_user`
(
    `id`
) on delete cascade
  on update cascade
    ) engine = innodb default charset=utf8;

INSERT INTO `ohrm_data_group` (`name`, `description`, `can_read`, `can_create`, `can_update`, `can_delete`)
VALUES ('admin_oauth_register', 'HR Administration - Oauth Register', 1, 1, 1, 1);
SET
@admin_oauth_register_data_group_id := (SELECT LAST_INSERT_ID());

INSERT INTO `ohrm_user_role_data_group` (`user_role_id`, `data_group_id`, `can_read`, `can_create`, `can_update`,
                                         `can_delete`, `self`)
VALUES (@config_admin_role_id, @admin_oauth_register_data_group_id, 1, 1, 1, 1, 0);

INSERT INTO ohrm_screen (`name`, `module_id`, `action_url`) VALUES
    ('OAuth', @admin_module_id, 'registerOAuthClient');

SET @oauth_screen_id := (SELECT LAST_INSERT_ID());

INSERT INTO ohrm_user_role_screen (user_role_id, screen_id, can_read, can_create, can_update, can_delete) VALUES
    (@config_admin_role_id, @oauth_screen_id, 1, 1, 1, 1);

INSERT INTO `ohrm_data_group_screen`(`data_group_id`, `screen_id`, `permission`) VALUES
    (@admin_oauth_register_data_group_id, @oauth_screen_id, 1);

/********************* ESB ******************/

INSERT INTO `ohrm_screen` (`name`, `module_id`, `action_url`, `route_name`)
VALUES ('ESB', @admin_module_id, 'viewRabbitMQTask', NULL);

SET
@esb_screen_id = (SELECT id FROM `ohrm_screen` WHERE `name` = 'ESB');

INSERT INTO `ohrm_menu_item` (`menu_title`, `menu_category`, `screen_id`, `parent_id`, `level`, `order_hint`, `url_extras`, `image_name`, `uisref`, `status`) VALUES
('ESB', NULL, NULL, @system_admin_configurations_menu_id, 3, 300, NULL, NULL, NULL, 1);

SET @esb_menu_id := (SELECT LAST_INSERT_ID());

INSERT INTO `ohrm_menu_item` (`menu_title`, `menu_category`, `screen_id`, `parent_id`, `level`, `order_hint`, `url_extras`, `image_name`, `uisref`, `status`) VALUES
    ('RabbitMQ Configuration', NULL, @esb_screen_id, @esb_menu_id, 4, 100, NULL, NULL, NULL, 1);

INSERT INTO `ohrm_user_role_screen` (`id`, `user_role_id`, `screen_id`, `can_read`, `can_create`, `can_update`,
                                     `can_delete`)
VALUES (NULL, @config_admin_role_id, @esb_screen_id, '1', '1', '1', '1');

INSERT INTO `ohrm_data_group` (`name`, `description`, `can_read`, `can_create`, `can_update`, `can_delete`)
VALUES ('esb', 'ESB', 1, 1, 1, 1);

SET
@esb_data_group_id = (SELECT id FROM `ohrm_data_group` WHERE `name` = 'esb');

INSERT INTO `ohrm_user_role_data_group` (`user_role_id`, `data_group_id`, `can_read`, `can_create`, `can_update`,
                                         `can_delete`, `self`)
VALUES (@config_admin_role_id, @esb_data_group_id, 1, 1, 1, 1, 0);

INSERT INTO `ohrm_data_group_screen`(`data_group_id`, `screen_id`, `permission`)
VALUES (@esb_data_group_id, @esb_screen_id, 3);

/********************* Employee Data Export ******************/

INSERT INTO `ohrm_screen` (`name`, `module_id`, `action_url`, `route_name`)
VALUES ('Employee Data Export Configuration', @admin_module_id, 'employeeDataExportConfiguration', NULL);

SET
@employeeDataExportConfiguration_screen_id = (SELECT id FROM `ohrm_screen` WHERE `name` = 'Employee Data Export Configuration');

INSERT INTO `ohrm_menu_item` (`menu_title`, `menu_category`, `screen_id`, `parent_id`, `level`, `order_hint`, `url_extras`, `image_name`, `uisref`, `status`) VALUES
    ('Employee Data Export Configuration', NULL, @employeeDataExportConfiguration_screen_id, @esb_menu_id, 4, 200, NULL, NULL, NULL, 0);

INSERT INTO `ohrm_user_role_screen` (`user_role_id`, `screen_id`, `can_read`, `can_create`, `can_update`, `can_delete`)
VALUES (@config_admin_role_id, @employeeDataExportConfiguration_screen_id, '1', '1', '1', '1');

INSERT INTO `ohrm_data_group` (`name`, `description`, `can_read`, `can_create`, `can_update`, `can_delete`)
VALUES ('employeeDataExportConfiguration', 'Employee Data Export Configuration', 1, 1, 1, 1);

SET
@employeeDataExportConfigurationDataGroup = (SELECT id FROM `ohrm_data_group` WHERE `name` = 'employeeDataExportConfiguration');

INSERT INTO `ohrm_user_role_data_group` (`user_role_id`, `data_group_id`, `can_read`, `can_create`, `can_update`,
                                         `can_delete`, `self`)
VALUES (@config_admin_role_id, @employeeDataExportConfigurationDataGroup, 1, 1, 1, 1, 0);

INSERT INTO `ohrm_data_group_screen`(`data_group_id`, `screen_id`, `permission`)
VALUES (@employeeDataExportConfigurationDataGroup, @employeeDataExportConfiguration_screen_id, 3);

INSERT INTO `ohrm_async_event` (`name`, `display_name`, `group_name`, `enabled`, `position`)
VALUES ('admin.salary_component.add', 'Add Salary Component', 'admin', 1, 10),
       ('admin.salary_component.update', 'Update Salary Component', 'admin', 1, 10),
       ('admin.salary_component.delete', 'Delete Salary Component', 'admin', 1, 10),
       ('system_user_added', 'Add System User', 'admin', 1, 10),
       ('admin.system_user.update_user', 'Update System User', 'admin', 1, 10),
       ('admin.system_user.delete_user', 'Delete System User', 'admin', 1, 10),
       ('admin.job_title_add', 'Add Job Title', 'admin', 1, 10),
       ('admin.job_title_update', 'Update Job Title', 'admin', 1, 10),
       ('admin.job_title_delete', 'Delete Job Title', 'admin', 1, 10),
       ('admin.subunit_add', 'Add Subunit', 'admin', 1, 10),
       ('admin.subunit_update', 'Update Subunit', 'admin', 1, 10),
       ('admin.subunit_delete', 'Delete Subunit', 'admin', 1, 10),
       ('admin.employment_status_add', 'Add Employment Status', 'admin', 1, 10),
       ('admin.employment_status_update', 'Update Employment Status', 'admin', 1, 10),
       ('admin.employment_status_delete', 'Delete Employment Status', 'admin', 1, 10);

SET
@max_event_listener_position := (SELECT MAX(`position`)
                                     FROM ohrm_event_listener);
INSERT INTO `ohrm_event_listener` (`event`, `listener_class`, `enabled`, `position`)
VALUES ('admin.system_user.credential_invalidation', 'UserCredentialsInvalidationListener', 1,
        @max_event_listener_position + 1),
       ('admin.system_user.update_password', 'UserCredentialsInvalidationListener', 1,
        @max_event_listener_position + 2),
       ('admin.system_user.update_user', 'UpdateAssignedEmployeeRememberMeTokenListener', 1,
        @max_event_listener_position + 3),
       ('admin.system_user.update_user', 'UpdateUserRolesRememberMeTokenListener', 1,
        @max_event_listener_position + 4),
       ('user_role_delete', 'DeleteUserRolesRememberMeTokenListener', 1,
        @max_event_listener_position + 5);

INSERT INTO ohrm_data_list (`name`, `meta_data`)
VALUES ('systemUsersList',
        '{"listFields":{"status":"status","regions":"regions"},"availableFields":{"username":"Username","userroles":"User Role(s)","emp_id":"Employee Id","employeeName":"Employee Name","status":"Status","regions":"Regions"},"defaultFields":["status","regions"],"mandatoryFields":["username","userroles","employeeName"]}');

CREATE TABLE `ohrm_eeo_report_criteria`
(
    `id`           int AUTO_INCREMENT,
    `criteria`     LONGTEXT DEFAULT NULL,
    `user_id`      INT      DEFAULT NULL,
    `updated_time` DATETIME DEFAULT NULL,
    primary key (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO ohrm_config(`property`, `value`)
VALUES ('authentication.default_alternate_login', '{"type":"","id":""}');





INSERT INTO `ohrm_event_listener` (`id`, `event`, `listener_class`, `enabled`, `position`)
VALUES (NULL, 'admin.reset_password', 'ResetPasswordMailer', '1', '100');

SET
@max_event_listener_position := (SELECT MAX(`position`)FROM ohrm_event_listener);
INSERT INTO `ohrm_event_listener` (`id`, `event`, `listener_class`, `enabled`, `position`)
VALUES (NULL, 'admin.update_authentication_settings', 'UpdateAuthenticationSettingsListener', '1', @max_event_listener_position + 1),
       (NULL, 'admin.system_user.reset_2fa', 'ResetMfaAuditListener', '1', @max_event_listener_position + 2),
       (NULL, 'admin.system_user.disable_2fa', 'DisableMfaAuditListener', '1',@max_event_listener_position + 3),
       (NULL, 'admin.system_user.setup_2fa', 'SetupMfaAuditListener', '1',@max_event_listener_position + 4);

SET
@moduleId = (SELECT id FROM ohrm_module WHERE name = 'Admin');

INSERT INTO `ohrm_screen` (`name`, `module_id`, `action_url`, `route_name`)
VALUES ('In-App Marketing', @moduleId, 'inAppMarketing', NULL);

SET
@screenId = (SELECT id FROM `ohrm_screen` WHERE name = 'In-App Marketing');

SET @people_management_pillar_menu_id := (SELECT `id` FROM ohrm_menu_item WHERE `menu_title` = 'People Management' AND `level` = 1);
SET @hr_administration_module_menu_id := (SELECT `id` FROM ohrm_menu_item WHERE `menu_title` = 'HR Administration'
                                                                            AND `level` = 2 AND parent_id = @people_management_pillar_menu_id);
SET @configuration_menu_id := (SELECT `id` FROM ohrm_menu_item WHERE `menu_title` = 'Configurations' AND `level` = 3 AND `parent_id` = @hr_administration_module_menu_id);

INSERT INTO `ohrm_menu_item` (`menu_title`, `menu_category`, `screen_id`, `parent_id`,
                              `level`, `order_hint`, `url_extras`, `image_name`, `uisref`, `status`,
                              `include_attachment_section`, `has_multiple_records`)
VALUES ('In-App Marketing', NULL, @screenId, @configuration_menu_id, 4, 900, NULL,
        NULL, 'admin.in_app_marketing', '1', NULL, NULL);

SET
@sysAdminId = (SELECT id FROM `ohrm_user_role` WHERE name = 'ConfigAdmin');

INSERT INTO `ohrm_user_role_screen` (`user_role_id`, `screen_id`, `can_read`, `can_create`, `can_update`, `can_delete`)
VALUES (@sysAdminId, @screenId, 1, 1, 1, 1);

INSERT INTO `ohrm_data_group` (`name`, `description`, `can_read`, `can_create`, `can_update`, `can_delete`)
VALUES ('inAppMarketing', 'Sys Admin - In App Marketing', 1, 1, 1, 1);
SET
@in_app_marketing_data_group_id = (SELECT `id` FROM ohrm_data_group WHERE `name` = 'inAppMarketing');

INSERT INTO `ohrm_user_role_data_group` (`user_role_id`, `data_group_id`, `can_read`, `can_create`, `can_update`,
                                         `can_delete`, `self`)
VALUES (4, @in_app_marketing_data_group_id, 1, 1, 1, 1, 0);


CREATE TABLE ohrm_inapp_marketing
(
    id         BIGINT AUTO_INCREMENT,
    type       ENUM('url', 'image'),
    status     TINYINT(1),
    url        TEXT,
    image_name VARCHAR(255),
    image_type VARCHAR(255),
    image_size BIGINT,
    image      MEDIUMBLOB,
    PRIMARY KEY (id)
) ENGINE = INNODB DEFAULT CHARSET=utf8;

-- NOTE: NULLified to reduce the loading times of dev/QA environments; If NULL, the static image is used.
-- `url`: 'https://in-app-marketing.orangehrm.com/'
INSERT INTO `ohrm_inapp_marketing` (`type`, `status`, `url`, `image_name`, `image_type`, `image_size`, `image`)
VALUES ('url', 1, 'https://in-app-marketing.orangehrm.com/', 'default_image', 'image/jpeg', 193150,
        '[encoded data, 257536 characters]');

#Standart Timezone
CREATE TABLE ohrm_standard_time_zone (
                                        `id` INT(6) AUTO_INCREMENT,
                                        `timezone_key` VARCHAR(255) NOT NULL UNIQUE,
                                        `label` VARCHAR(255),
                                        `alternative_keys` VARCHAR(500),
                                        `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
                                        `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
                                        PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET UTF8 ENGINE = INNODB;

INSERT INTO `ohrm_standard_time_zone`(`timezone_key`, `label`, `alternative_keys`)
VALUES  ('Africa/Abidjan', 'Greenwich Mean Time - Abidjan',NULL),
        ('Africa/Accra', 'Greenwich Mean Time - Accra',NULL),
        ('Africa/Addis_Ababa', 'East Africa Time - Addis Ababa',NULL),
        ('Africa/Algiers', 'Central European Standard Time - Algiers',NULL),
        ('Africa/Asmara', 'East Africa Time - Asmara',NULL),
        ('Africa/Bamako', 'Greenwich Mean Time - Bamako',NULL),
        ('Africa/Bangui', 'West Africa Standard Time - Bangui',NULL),
        ('Africa/Banjul', 'Greenwich Mean Time - Gambia',NULL),
        ('Africa/Bissau', 'Greenwich Mean Time - Bissau',NULL),
        ('Africa/Blantyre', 'Central Africa Time - Blantyre',NULL),
        ('Africa/Brazzaville', 'West Africa Standard Time - Brazzaville',NULL),
        ('Africa/Bujumbura', 'Central Africa Time - Bujumbura',NULL),
        ('Africa/Cairo', 'Eastern European Standard Time - Cairo', 'Egypt'),
        ('Africa/Casablanca', 'Morocco Time',NULL),
        ('Africa/Ceuta', 'Central European Time - Ceuta',NULL),
        ('Africa/Conakry', 'Greenwich Mean Time - Conakry',NULL),
        ('Africa/Dakar', 'Greenwich Mean Time - Dakar',NULL),
        ('Africa/Dar_es_Salaam', 'East Africa Time - Salaam',NULL),
        ('Africa/Djibouti', 'East Africa Time - Djibouti',NULL),
        ('Africa/Douala', 'West Africa Standard Time - Douala',NULL),
        ('Africa/El_Aaiun', 'Western Sahara Time',NULL),
        ('Africa/Freetown', 'Greenwich Mean Time - Freetown',NULL),
        ('Africa/Gaborone', 'Central Africa Time - Gaborone',NULL),
        ('Africa/Harare', 'Central Africa Time - Harare',NULL),
        ('Africa/Johannesburg', 'South Africa Standard Time',NULL),
        ('Africa/Juba', 'Central Africa Time - Juba',NULL),
        ('Africa/Kampala', 'East Africa Time - Kampala',NULL),
        ('Africa/Khartoum', 'Central Africa Time - Khartoum',NULL),
        ('Africa/Kigali', 'Central Africa Time - Kigali',NULL),
        ('Africa/Kinshasa', 'West Africa Standard Time - Kinshasa',NULL),
        ('Africa/Lagos', 'West Africa Standard Time - Lagos',NULL),
        ('Africa/Libreville', 'West Africa Standard Time - Libreville',NULL),
        ('Africa/Lome', 'Greenwich Mean Time - Lomé',NULL),
        ('Africa/Luanda', 'West Africa Standard Time - Luanda',NULL),
        ('Africa/Lubumbashi', 'Central Africa Time - Lubumbashi',NULL),
        ('Africa/Lusaka', 'Central Africa Time - Lusaka',NULL),
        ('Africa/Malabo', 'West Africa Standard Time - Malabo',NULL),
        ('Africa/Maputo', 'Central Africa Time - Maputo',NULL),
        ('Africa/Maseru', 'South Africa Standard Time - Maseru',NULL),
        ('Africa/Mbabane', 'South Africa Standard Time - Mbabane',NULL),
        ('Africa/Mogadishu', 'East Africa Time - Mogadishu',NULL),
        ('Africa/Monrovia', 'Greenwich Mean Time - Monrovia',NULL),
        ('Africa/Nairobi', 'East Africa Time',NULL),
        ('Africa/Ndjamena', 'West Africa Standard Time- Ndjamena',NULL),
        ('Africa/Niamey', 'West Africa Standard Time - Niamey',NULL),
        ('Africa/Nouakchott', 'Greenwich Mean Time - Nouakchott',NULL),
        ('Africa/Ouagadougou', 'Greenwich Mean Time - Ouagadougou',NULL),
        ('Africa/Porto-Novo', 'West Africa Standard Time - Porto-Novo',NULL),
        ('Africa/Sao_Tome', 'Greenwich Mean Time - São Tomé',NULL),
        ('Africa/Tripoli', 'Eastern European Standard Time - Tripoli', 'Libya'),
        ('Africa/Tunis', 'Central European Standard Time - Tunis',NULL),
        ('Africa/Windhoek', 'Central Africa Time - Windhoek',NULL),
        ('America/Adak', 'Hawaii-Aleutian Time (Adak)', 'America/Atka,US/Aleutian'),
        ('America/Anchorage', 'Alaska Time - Anchorage', 'US/Alaska'),
        ('America/Anguilla', 'Atlantic Standard Time - Anguilla',NULL),
        ('America/Antigua', 'Atlantic Standard Time - Antigua',NULL),
        ('America/Araguaina', 'Brasilia Standard Time - Araguaina',NULL),
        ('America/Argentina/Buenos_Aires', 'Argentina Standard Time - Buenos Aires', 'America/Buenos_Aires'),
        ('America/Argentina/Catamarca', 'Argentina Standard Time - Catamarca', 'America/Argentina/ComodRivadavia,America/Catamarca'),
        ('America/Argentina/Cordoba', 'Argentina Standard Time - Cordoba', 'America/Cordoba,America/Rosario'),
        ('America/Argentina/Jujuy', 'Argentina Standard Time - Jujuy', 'America/Jujuy'),
        ('America/Argentina/La_Rioja', 'Argentina Standard Time - La Rioja',NULL),
        ('America/Argentina/Mendoza', 'Argentina Standard Time - Mendoza', 'America/Mendoza'),
        ('America/Argentina/Rio_Gallegos', 'Argentina Standard Time - Rio Gallegos',NULL),
        ('America/Argentina/Salta', 'Argentina Standard Time - Salta',NULL),
        ('America/Argentina/San_Juan', 'Argentina Standard Time - San Juan',NULL),
        ('America/Argentina/San_Luis', 'Argentina Standard Time - San Luis',NULL),
        ('America/Argentina/Tucuman', 'Argentina Standard Time - Tucuman',NULL),
        ('America/Argentina/Ushuaia', 'Argentina Standard Time - Ushuaia',NULL),
        ('America/Aruba', 'Atlantic Standard Time - Aruba',NULL),
        ('America/Asuncion', 'Paraguay Time',NULL),
        ('America/Atikokan', 'Eastern Standard Time - Atikokan',NULL),
        ('America/Bahia', 'Brasilia Standard Time - Bahia',NULL),
        ('America/Bahia_Banderas', 'Central Time - Bahia Banderas',NULL),
        ('America/Barbados', 'Atlantic Standard Time - Barbados',NULL),
        ('America/Belem', 'Brasilia Standard Time - Belem',NULL),
        ('America/Belize', 'Central Standard Time - Belize',NULL),
        ('America/Blanc-Sablon', 'Blanc-Sablon Time',NULL),
        ('America/Boa_Vista', 'Amazon Standard Time - Boa Vista',NULL),
        ('America/Bogota', 'Colombia Standard Time',NULL),
        ('America/Boise', 'Mountain Time - Boise',NULL),
        ('America/Cambridge_Bay', 'Mountain Time - Cambridge Bay',NULL),
        ('America/Campo_Grande', 'Amazon Standard Time - Campo Grande',NULL),
        ('America/Cancun', 'Eastern Standard Time - Cancun',NULL),
        ('America/Caracas', 'Venezuela Time',NULL),
        ('America/Cayenne', 'French Guiana Time',NULL),
        ('America/Cayman', 'Eastern Standard Time - Cayman Islands',NULL),
        ('America/Chicago', 'Central Time - Chicago', 'US/Central'),
        ('America/Chihuahua', 'Mexican Pacific Time - Chihuahua',NULL),
        ('America/Coral_Harbour', 'Eastern Standard Time - Coral Harbour',NULL),
        ('America/Costa_Rica', 'Central Standard Time - Costa Rica',NULL),
        ('America/Creston', 'Mountain Standard Time - Creston',NULL),
        ('America/Cuiaba', 'Amazon Standard Time - Cuiaba',NULL),
        ('America/Curacao', 'Atlantic Standard Time - Curaçao',NULL),
        ('America/Danmarkshavn', 'Greenwich Mean Time - Danmarkshavn',NULL),
        ('America/Dawson', 'Yukon Time - Dawson',NULL),
        ('America/Dawson_Creek', 'Mountain Standard Time - Dawson Creek',NULL),
        ('America/Denver', 'Mountain Time - Denver', 'America/Shiprock,Navajo,US/Mountain'),
        ('America/Detroit', 'Eastern Time - Detroit', 'US/Michigan'),
        ('America/Dominica', 'Atlantic Standard Time - Dominica',NULL),
        ('America/Edmonton', 'Mountain Time - Edmonton', 'Canada/Mountain'),
        ('America/Eirunepe', 'Acre Standard Time - Eirunepe',NULL),
        ('America/El_Salvador', 'Central Standard Time - El Salvador',NULL),
        ('America/Fort_Nelson', 'Mountain Standard Time - Fort Nelson',NULL),
        ('America/Fortaleza', 'Brasilia Standard Time - Fortaleza',NULL),
        ('America/Glace_Bay', 'Atlantic Time - Glace Bay',NULL),
        ('America/Godthab', 'Godthab Time',NULL),
        ('America/Goose_Bay', 'Atlantic Time - Goose Bay',NULL),
        ('America/Grand_Turk', 'Eastern Time - Grand Turk',NULL),
        ('America/Grenada', 'Atlantic Standard Time - Grenada',NULL),
        ('America/Guadeloupe', 'Atlantic Standard Time - Guadeloupe',NULL),
        ('America/Guatemala', 'Central Standard Time - Guatemala',NULL),
        ('America/Guayaquil', 'Ecuador Time',NULL),
        ('America/Guyana', 'Guyana Time',NULL),
        ('America/Halifax', 'Atlantic Time - Halifax', 'Canada/Atlantic'),
        ('America/Havana', 'Cuba Time', 'Cuba'),
        ('America/Hermosillo', 'Mexican Pacific Standard Time',NULL),
        ('America/Indiana/Indianapolis','Eastern Time - Indianapolis', 'America/Fort_Wayne,America/Indianapolis,US/East-Indiana'),
        ('America/Indiana/Knox','Central Time - Knox Indiana', 'America/Knox_IN,US/Indiana-Starke'),
        ('America/Indiana/Marengo','Eastern Time - Marengo Indiana',NULL),
        ('America/Indiana/Petersburg','Eastern Time - Petersburg Indiana',NULL),
        ('America/Indiana/Tell_City','Central Time - Tell City Indiana',NULL),
        ('America/Indiana/Vevay','Eastern Time - Vevay Indiana',NULL),
        ('America/Indiana/Vincennes','Eastern Time - Vincennes Indiana',NULL),
        ('America/Indiana/Winamac','Eastern Time - Winamac Indiana',NULL),
        ('America/Inuvik','Mountain Time - Inuvik',NULL),
        ('America/Iqaluit','Eastern Time - Iqaluit',NULL),
        ('America/Jamaica','Eastern Standard Time - Jamaica', 'Jamaica'),
        ('America/Juneau','Alaska Time - Juneau',NULL),
        ('America/Kentucky/Louisville','Eastern Time - Louisville', 'America/Louisville'),
        ('America/Kentucky/Monticello','Eastern Time - Monticello Kentucky',NULL),
        ('America/Kralendijk','Atlantic Standard Time - Kralendijk',NULL),
        ('America/La_Paz','Bolivia Time',NULL),
        ('America/Lima','Peru Standard Time',NULL),
        ('America/Los_Angeles','Pacific Time - Los Angeles', 'US/Pacific'),
        ('America/Lower_Princes','Atlantic Standard Time - Lower Princes Quarter',NULL),
        ('America/Maceio','Brasilia Standard Time - Maceio',NULL),
        ('America/Managua','Central Standard Time - Managua',NULL),
        ('America/Manaus','Amazon Standard Time - Manaus', 'Brazil/West'),
        ('America/Marigot','Atlantic Standard Time - Marigot',NULL),
        ('America/Martinique','Atlantic Standard Time - Martinique',NULL),
        ('America/Matamoros','Central Time - Matamoros',NULL),
        ('America/Mazatlan','Mexican Pacific Time - Mazatlan', 'Mexico/BajaSur'),
        ('America/Menominee','Central Time - Menominee',NULL),
        ('America/Merida','Central Time - Merida',NULL),
        ('America/Metlakatla','Alaska Time - Metlakatla',NULL),
        ('America/Mexico_City','Central Time - Mexico City', 'Mexico/General'),
        ('America/Miquelon','St. Pierre & Miquelon Time',NULL),
        ('America/Moncton','Atlantic Time - Moncton',NULL),
        ('America/Monterrey','Central Time - Monterrey',NULL),
        ('America/Montevideo','Uruguay Standard Time',NULL),
        ('America/Montserrat','Atlantic Standard Time - Montserrat',NULL),
        ('America/Nassau','Eastern Daylight Time - Nassau',NULL),
        ('America/New_York','Eastern Time - New York', 'US/Eastern'),
        ('America/Nipigon','Eastern Time - Nipigon',NULL),
        ('America/Nome','Alaska Time - Nome',NULL),
        ('America/Noronha','Fernando de Noronha Standard Time', 'Brazil/DeNoronha'),
        ('America/North_Dakota/Beulah','Central Time - Beulah North Dakota',NULL),
        ('America/North_Dakota/Center','Central Time - Center North Dakota',NULL),
        ('America/North_Dakota/New_Salem','Central Time - New Salem North Dakota',NULL),
        ('America/Ojinaga','Mountain Time - Ojinaga',NULL),
        ('America/Panama','Eastern Standard Time - Panama',NULL),
        ('America/Pangnirtung','Eastern Time - Pangnirtung',NULL),
        ('America/Paramaribo','Suriname Time',NULL),
        ('America/Phoenix','Mountain Standard Time - Phoenix', 'US/Arizona'),
        ('America/Port-au-Prince','Eastern Time - Port-au-Prince',NULL),
        ('America/Port_of_Spain','Atlantic Standard Time - Port of Spain',NULL),
        ('America/Porto_Velho','Amazon Standard Time - Porto Velho',NULL),
        ('America/Puerto_Rico','Atlantic Standard Time - Puerto Rico',NULL),
        ('America/Punta_Arenas','Punta Arenas Time',NULL),
        ('America/Rainy_River','Central Time - Rainy River',NULL),
        ('America/Rankin_Inlet','Central Time - Rankin Inlet',NULL),
        ('America/Recife','Brasilia Standard Time - Recife',NULL),
        ('America/Regina','Central Standard Time - Regina', 'Canada/Saskatchewan'),
        ('America/Resolute','Central Time - Resolute',NULL),
        ('America/Rio_Branco','Acre Standard Time - Rio Branco', 'America/Porto_Acre,Brazil/Acre'),
        ('America/Santarem','Brasilia Standard Time - Santarem',NULL),
        ('America/Santiago','Chile Time', 'Chile/Continental'),
        ('America/Santo_Domingo','Atlantic Standard Time - Santo Domingo',NULL),
        ('America/Sao_Paulo','Brasilia Standard Time - Sao Paulo', 'Brazil/East'),
        ('America/Scoresbysund','East Greenland Time',NULL),
        ('America/Sitka','Alaska Time - Sitka',NULL),
        ('America/St_Barthelemy','Atlantic Standard Time - St. Barts',NULL),
        ('America/St_Johns','Newfoundland Time', 'Canada/Newfoundland'),
        ('America/St_Kitts','Atlantic Standard Time - Saint Kitts and Nevis',NULL),
        ('America/St_Lucia','Atlantic Standard Time - Saint Lucia',NULL),
        ('America/St_Thomas','Saint Thomas Time',NULL),
        ('America/St_Vincent','Atlantic Standard Time - Saint Vincent and the Grenadines',NULL),
        ('America/Swift_Current','Central Standard Time - Swift Current',NULL),
        ('America/Tegucigalpa','Central Standard Time - Tegucigalpa',NULL),
        ('America/Thule','Atlantic Time - Thule',NULL),
        ('America/Thunder_Bay','Eastern Time - Thunder Bay',NULL),
        ('America/Tijuana','Pacific Time - Tijuana', 'America/Ensenada,Mexico/BajaNorte'),
        ('America/Toronto','Eastern Time - Toronto', 'Canada/Eastern'),
        ('America/Tortola','Atlantic Standard Time - Tortola',NULL),
        ('America/Vancouver','Pacific Time - Vancouver', 'Canada/Pacific'),
        ('America/Whitehorse','Yukon Time - Whitehorse', 'Canada/Yukon'),
        ('America/Winnipeg','Central Time - Winnipeg', 'Canada/Central'),
        ('America/Yakutat','Alaska Time - Yakutat',NULL),
        ('America/Yellowknife','Mountain Time - Yellowknife',NULL),
        ('Antarctica/Casey','Casey Time',NULL),
        ('Antarctica/Davis','Davis Time',NULL),
        ('Antarctica/DumontDUrville','DumontDUrville Time',NULL),
        ('Antarctica/Macquarie','Eastern Australia Time - Macquarie',NULL),
        ('Antarctica/Mawson','Mawson Time',NULL),
        ('Antarctica/McMurdo','New Zealand Standard Time - McMurdo Station',NULL),
        ('Antarctica/Palmer','Palmer Time',NULL),
        ('Antarctica/Rothera','Rothera Time',NULL),
        ('Antarctica/Syowa','Syowa Time',NULL),
        ('Antarctica/Troll','Troll Time',NULL),
        ('Antarctica/Vostok','Vostok Time',NULL),
        ('Arctic/Longyearbyen','Central European Summer Time - Longyearbyen',NULL),
        ('Asia/Aden','Arabian Standard Time - Yemen',NULL),
        ('Asia/Almaty','East Kazakhstan Time - Almaty',NULL),
        ('Asia/Amman','Eastern European Time - Amman',NULL),
        ('Asia/Anadyr','Anadyr Standard Time',NULL),
        ('Asia/Aqtau','West Kazakhstan Time - Aqtau',NULL),
        ('Asia/Aqtobe','West Kazakhstan Time - Aqtobe',NULL),
        ('Asia/Ashgabat','Turkmenistan Standard Time', 'Asia/Ashkhabad'),
        ('Asia/Atyrau','West Kazakhstan Time - Atyrau',NULL),
        ('Asia/Baghdad','Arabian Standard Time - Baghdad',NULL),
        ('Asia/Bahrain','Arabian Standard Time - Bahrain',NULL),
        ('Asia/Baku','Azerbaijan Standard Time',NULL),
        ('Asia/Bangkok','Indochina Time - Bangkok',NULL),
        ('Asia/Barnaul','Barnaul Time',NULL),
        ('Asia/Beirut','Eastern European Time - Beirut',NULL),
        ('Asia/Bishkek','Kyrgyzstan Time',NULL),
        ('Asia/Brunei','Brunei Darussalam Time',NULL),
        ('Asia/Chita','Yakutsk Standard Time - Chita',NULL),
        ('Asia/Choibalsan','Ulaanbaatar Standard Time - Choibalsan',NULL),
        ('Asia/Chongqing','China Standard Time - Chongqing',NULL),
        ('Asia/Colombo','India Standard Time - Colombo',NULL),
        ('Asia/Damascus','Eastern European Time - Damascus',NULL),
        ('Asia/Dhaka','Bangladesh Standard Time', 'Asia/Dacca'),
        ('Asia/Dili','East Timor Time',NULL),
        ('Asia/Dubai','Gulf Standard Time',NULL),
        ('Asia/Dushanbe','Tajikistan Time',NULL),
        ('Asia/Famagusta','Famagusta Time',NULL),
        ('Asia/Gaza','Eastern European Time - Gaza',NULL),
        ('Asia/Hebron','Eastern European Time - Hebron',NULL),
        ('Asia/Harbin','China Standard Time - Harbin',NULL),
        ('Asia/Ho_Chi_Minh','Indochina Time - Ho Chi Minh City', 'Asia/Saigon'),
        ('Asia/Hong_Kong','Hong Kong Standard Time', 'Hongkong'),
        ('Asia/Hovd','Hovd Standard Time',NULL),
        ('Asia/Irkutsk','Irkutsk Standard Time',NULL),
        ('Asia/Jakarta','Western Indonesia Time - Jakarta',NULL),
        ('Asia/Jayapura','Eastern Indonesia Time',NULL),
        ('Asia/Jerusalem','Israel Time', 'Asia/Tel_Aviv,Israel'),
        ('Asia/Kabul','Afghanistan Time',NULL),
        ('Asia/Kamchatka','Petropavlovsk-Kamchatski Standard Time',NULL),
        ('Asia/Karachi','Pakistan Standard Time',NULL),
        ('Asia/Kashgar','China Standard Time - Kashgar',NULL),
        ('Asia/Kathmandu','Nepal Time', 'Asia/Katmandu'),
        ('Asia/Khandyga','Yakutsk Standard Time - Khandyga',NULL),
        ('Asia/Kolkata','India Standard Time - Kolkata', 'Asia/Calcutta'),
        ('Asia/Krasnoyarsk','Krasnoyarsk Standard Time - Krasnoyarsk',NULL),
        ('Asia/Kuala_Lumpur','Malaysia Time - Kuala Lumpur',NULL),
        ('Asia/Kuching','Malaysia Time - Kuching',NULL),
        ('Asia/Kuwait','Arabian Standard Time - Kuwait',NULL),
        ('Asia/Macau','China Standard Time - Macao', 'Asia/Macao'),
        ('Asia/Magadan','Magadan Standard Time',NULL),
        ('Asia/Makassar','Central Indonesian Time - Makassar',NULL),
        ('Asia/Manila','Philippine Standard Time',NULL),
        ('Asia/Muscat','Gulf Standard Time - Muscat',NULL),
        ('Asia/Nicosia','Eastern European Time - Nicosia',NULL),
        ('Asia/Novokuznetsk','Krasnoyarsk Standard Time - Novokuznetsk',NULL),
        ('Asia/Novosibirsk','Novosibirsk Standard Time',NULL),
        ('Asia/Omsk','Omsk Standard Time',NULL),
        ('Asia/Oral','West Kazakhstan Time - Oral',NULL),
        ('Asia/Phnom_Penh','Indochina Time - Phnom Penh',NULL),
        ('Asia/Pontianak','Western Indonesia Time - Pontianak',NULL),
        ('Asia/Pyongyang','Korean Standard Time - Pyongyang',NULL),
        ('Asia/Qatar','Arabian Standard Time - Qatar',NULL),
        ('Asia/Qyzylorda','West Kazakhstan Time - Qyzylorda',NULL),
        ('Asia/Rangoon','Myanmar Time - Yangon',NULL),
        ('Asia/Riyadh','Arabian Standard Time - Riyadh',NULL),
        ('Asia/Sakhalin','Sakhalin Standard Time',NULL),
        ('Asia/Samarkand','Uzbekistan Standard Time - Samarkand',NULL),
        ('Asia/Seoul','Korean Standard Time - Seoul', 'ROK'),
        ('Asia/Shanghai','China Standard Time - Shanghai', 'PRC'),
        ('Asia/Singapore','Singapore Standard Time', 'Singapore'),
        ('Asia/Srednekolymsk','Srednekolymsk Time',NULL),
        ('Asia/Taipei','Taipei Standard Time', 'ROC'),
        ('Asia/Tashkent','Uzbekistan Standard Time - Tashkent',NULL),
        ('Asia/Tbilisi','Georgia Standard Time',NULL),
        ('Asia/Tehran','Iran Time', 'Iran'),
        ('Asia/Thimphu','Bhutan Time', 'Asia/Thimbu'),
        ('Asia/Tokyo','Japan Standard Time', 'Japan'),
        ('Asia/Tomsk','Tomsk Time',NULL),
        ('Asia/Ulaanbaatar','Ulaanbaatar Standard Time - Ulaanbaatar', 'Asia/Ulan_Bator'),
        ('Asia/Urumqi','Urumqi Time',NULL),
        ('Asia/Ust-Nera','Vladivostok Standard Time - Ust-Nera',NULL),
        ('Asia/Vientiane','Indochina Time - Vientiane',NULL),
        ('Asia/Vladivostok','Vladivostok Standard Time - Vladivostok',NULL),
        ('Asia/Yakutsk','Yakutsk Standard Time - Yakutsk',NULL),
        ('Asia/Yangon','Myanmar Time',NULL),
        ('Asia/Yekaterinburg','Yekaterinburg Standard Time',NULL),
        ('Asia/Yerevan','Armenia Standard Time',NULL),
        ('Atlantic/Azores','Azores Time',NULL),
        ('Atlantic/Bermuda','Atlantic Time - Bermuda',NULL),
        ('Atlantic/Canary','Western European Time - Canary',NULL),
        ('Atlantic/Cape_Verde','Cape Verde Standard Time',NULL),
        ('Atlantic/Faroe','Western European Time - Faroe', 'Atlantic/Faeroe'),
        ('Atlantic/Madeira','Western European Time - Madeira',NULL),
        ('Atlantic/Reykjavik','Greenwich Mean Time - Reykjavik',NULL),
        ('Atlantic/South_Georgia','South Georgia Time',NULL),
        ('Atlantic/St_Helena','Saint Helena Time',NULL),
        ('Atlantic/Stanley','Falkland Islands Standard Time',NULL),
        ('Australia/Adelaide','Central Australia Time - Adelaide', 'Australia/South'),
        ('Australia/Brisbane','Australian Eastern Standard Time - Brisbane', 'Australia/Queensland'),
        ('Australia/Broken_Hill','Central Australia Time - Broken Hill', 'Australia/Yancowinna'),
        ('Australia/Currie','Australian Eastern Standard Time - Currie',NULL),
        ('Australia/Darwin','Australian Central Standard Time', 'Australia/North'),
        ('Australia/Eucla','Australian Central Western Standard Time',NULL),
        ('Australia/Hobart','Eastern Australia Time - Hobart', 'Australia/Tasmania'),
        ('Australia/Lindeman','Australian Eastern Standard Time - Lindeman',NULL),
        ('Australia/Lord_Howe','Lord Howe Time', 'Australia/LHI'),
        ('Australia/Melbourne','Eastern Australia Time - Melbourne', 'Australia/Victoria'),
        ('Australia/Perth','Australian Western Standard Time', 'Australia/West'),
        ('Australia/Sydney','Eastern Australia Time - Sydney', 'Australia/ACT,Australia/Canberra,Australia/NSW'),
        ('Etc/GMT','Greenwich Mean Time - Etc/GMT', 'GMT+0,GMT-0,GMT0,Greenwich'),
        ('Europe/Amsterdam','Central European Time - Amsterdam',NULL),
        ('Europe/Andorra','Central European Time - Andorra',NULL),
        ('Europe/Astrakhan','Astrakhan Time',NULL),
        ('Europe/Athens','Eastern European Time - Athens',NULL),
        ('Europe/Belgrade','Central European Time - Belgrade',NULL),
        ('Europe/Berlin','Central European Time - Berlin',NULL),
        ('Europe/Bratislava','Central European Summer Time - Bratislava',NULL),
        ('Europe/Brussels','Central European Time - Brussels',NULL),
        ('Europe/Bucharest','Eastern European Time - Bucharest',NULL),
        ('Europe/Budapest','Central European Time - Budapest',NULL),
        ('Europe/Busingen','Central European Summer Time - Büsingen am Hochrhein',NULL),
        ('Europe/Chisinau','Eastern European Time - Chisinau', 'Europe/Tiraspol'),
        ('Europe/Copenhagen','Central European Time - Copenhagen',NULL),
        ('Europe/Dublin','Ireland Time', 'Eire'),
        ('Europe/Gibraltar','Central European Time - Gibraltar',NULL),
        ('Europe/Guernsey','Guernsey Time',NULL),
        ('Europe/Helsinki','Eastern European Time - Helsinki',NULL),
        ('Europe/Isle_of_Man','Isle of Man Time',NULL),
        ('Europe/Istanbul','Turkey Time', 'Turkey'),
        ('Europe/Jersey','Jersey Time',NULL),
        ('Europe/Kaliningrad','Eastern European Standard Time - Kaliningrad',NULL),
        ('Europe/Kiev','Eastern European Time - Kyiv', 'Europe/Kyiv'),
        ('Europe/Kirov','Kirov Time',NULL),
        ('Europe/Lisbon','Western European Time - Lisbon', 'Portugal'),
        ('Europe/Ljubljana','Central European Summer Time - Ljubljana',NULL),
        ('Europe/London','United Kingdom Time', 'Europe/Belfast,GB,GB-Eire'),
        ('Europe/Luxembourg','Central European Time - Luxembourg',NULL),
        ('Europe/Madrid','Central European Time - Madrid',NULL),
        ('Europe/Malta','Central European Time - Malta',NULL),
        ('Europe/Mariehamn','Eastern European Summer Time - Mariehamn',NULL),
        ('Europe/Minsk','Moscow Standard Time - Minsk',NULL),
        ('Europe/Monaco','Central European Time - Monaco',NULL),
        ('Europe/Moscow','Moscow Standard Time - Moscow', 'W-SU'),
        ('Europe/Oslo','Central European Time - Oslo',NULL),
        ('Europe/Paris','Central European Time - Paris',NULL),
        ('Europe/Podgorica','Central European Summer Time - Podgorica',NULL),
        ('Europe/Prague','Central European Time - Prague',NULL),
        ('Europe/Riga','Eastern European Time - Riga',NULL),
        ('Europe/Rome','Central European Time - Rome',NULL),
        ('Europe/Samara','Samara Standard Time',NULL),
        ('Europe/San_Marino','Central European Summer Time - San Marino',NULL),
        ('Europe/Sarajevo','Central European Summer Time - Sarajevo',NULL),
        ('Europe/Saratov','Saratov Time',NULL),
        ('Europe/Simferopol','Moscow Standard Time - Simferopol',NULL),
        ('Europe/Skopje','Central European Summer Time - Skopje',NULL),
        ('Europe/Sofia','Eastern European Time - Sofia',NULL),
        ('Europe/Stockholm','Central European Time - Stockholm',NULL),
        ('Europe/Tallinn','Eastern European Time - Tallinn',NULL),
        ('Europe/Tirane','Central European Time - Tirane',NULL),
        ('Europe/Ulyanovsk','Ulyanovsk Time',NULL),
        ('Europe/Uzhgorod','Eastern European Time - Uzhhorod',NULL),
        ('Europe/Vaduz','Central European Summer Time - Vaduz',NULL),
        ('Europe/Vatican','Central European Summer Time - Vatican City',NULL),
        ('Europe/Vienna','Central European Time - Vienna',NULL),
        ('Europe/Vilnius','Eastern European Time - Vilnius',NULL),
        ('Europe/Volgograd','Volgograd Standard Time',NULL),
        ('Europe/Warsaw','Central European Time - Warsaw', 'Poland'),
        ('Europe/Zagreb','Central European Summer Time - Zagreb',NULL),
        ('Europe/Zaporozhye','Eastern European Time - Zaporozhye',NULL),
        ('Europe/Zurich','Central European Time - Zurich',NULL),
        ('Indian/Antananarivo','Antananarivo Time',NULL),
        ('Indian/Chagos','Indian Ocean Time',NULL),
        ('Indian/Christmas','Christmas Island Time',NULL),
        ('Indian/Cocos','Cocos Islands Time',NULL),
        ('Indian/Comoro','Comoro Time',NULL),
        ('Indian/Kerguelen','French Southern & Antarctic Time',NULL),
        ('Indian/Mahe','Seychelles Time',NULL),
        ('Indian/Maldives','Maldives Time',NULL),
        ('Indian/Mauritius','Mauritius Standard Time',NULL),
        ('Indian/Mayotte','Mayotte Time',NULL),
        ('Indian/Reunion','Réunion Time',NULL),
        ('Pacific/Apia','Apia Standard Time',NULL),
        ('Pacific/Auckland','Auckland Time', 'Antarctica/South_Pole,NZ'),
        ('Pacific/Bougainville','Bougainville Time',NULL),
        ('Pacific/Chatham','Chatham Time', 'NZ-CHAT'),
        ('Pacific/Chuuk','Chuuk Time - Chuuk',NULL),
        ('Pacific/Easter','Easter Island Time', 'Chile/EasterIsland'),
        ('Pacific/Efate','Vanuatu Standard Time',NULL),
        ('Pacific/Enderbury','Phoenix Islands Time - Enderbury Island',NULL),
        ('Pacific/Fakaofo','Tokelau Time',NULL),
        ('Pacific/Fiji','Fiji Time',NULL),
        ('Pacific/Funafuti','Tuvalu Time',NULL),
        ('Pacific/Galapagos','Galapagos Time',NULL),
        ('Pacific/Gambier','Gambier Time',NULL),
        ('Pacific/Guadalcanal','Solomon Islands Time',NULL),
        ('Pacific/Guam','Chamorro Standard Time',NULL),
        ('Pacific/Honolulu','Hawaii-Aleutian Standard Time', 'US/Hawaii'),
        ('Pacific/Johnston','Johnston Time',NULL),
        ('Pacific/Kiritimati','Line Islands Time',NULL),
        ('Pacific/Kosrae','Kosrae Time',NULL),
        ('Pacific/Kwajalein','Marshall Islands Time - Kwajalein', 'Kwajalein'),
        ('Pacific/Majuro','Marshall Islands Time - Majuro',NULL),
        ('Pacific/Marquesas','Marquesas Time',NULL),
        ('Pacific/Midway','Midway Time',NULL),
        ('Pacific/Nauru','Nauru Time',NULL),
        ('Pacific/Niue','Niue Time',NULL),
        ('Pacific/Norfolk','Norfolk Island Time',NULL),
        ('Pacific/Noumea','New Caledonia Standard Time',NULL),
        ('Pacific/Pago_Pago','Samoa Standard Time', 'Pacific/Samoa,US/Samoa'),
        ('Pacific/Palau','Palau Time',NULL),
        ('Pacific/Pitcairn','Pitcairn Time',NULL),
        ('Pacific/Pohnpei','Ponape Time',NULL),
        ('Pacific/Port_Moresby','Papua New Guinea Time',NULL),
        ('Pacific/Rarotonga','Cook Islands Standard Time',NULL),
        ('Pacific/Saipan','Chamorro Standard Time - Saipan',NULL),
        ('Pacific/Tahiti','Tahiti Time',NULL),
        ('Pacific/Tarawa','Gilbert Islands Time',NULL),
        ('Pacific/Tongatapu','Tonga Standard Time',NULL),
        ('Pacific/Truk','Chuuk Lagoon Time',NULL),
        ('Pacific/Wake','Wake Island Time',NULL),
        ('Pacific/Wallis','Wallis & Futuna Time',NULL),
        ('UTC','Coordinated Universal Time - UTC',NULL),
        ('America/Nuuk','West Greenland Summer Time',NULL),
        ('Asia/Qostanay','East Kazakhstan Time',NULL),
        ('Pacific/Kanton','Phoenix Islands Time',NULL),

        ('Africa/Asmera','East Africa Time - Asmera',NULL),
        ('Africa/Timbuktu','Greenwich Mean Time - Timbuktu',NULL),
        ('America/Montreal','Eastern Standard Time - Montreal',NULL),
        ('America/Santa_Isabel','Pacific Standard Time - Santa Isabel',NULL),
        ('America/Virgin','Atlantic Standard Time',NULL),
        ('Asia/Chungking','China Standard Time',NULL),
        ('Asia/Istanbul','Turkey Time - Istanbul',NULL),
        ('Asia/Ujung_Pandang','Central Indonesian Time - Ujung Pandang',NULL),
        ('Atlantic/Jan_Mayen','Central European Time - Jan Mayen',NULL),
        ('CET','Central European Time - CET',NULL),
        ('CST6CDT','Central Standard Time',NULL),
        ('EET','Eastern European Time - EET',NULL),
        ('EST','Eastern Standard Time - EST',NULL),
        ('EST5EDT','Eastern Standard Time - EST5EDT',NULL),
        ('Etc/GMT-0','Greenwich Mean Time - Etc/GMT-0',NULL),
        ('Etc/GMT-1','GMT+01:00',NULL),
        ('Etc/GMT-10','GMT+10:00',NULL),
        ('Etc/GMT-11','GMT+11:00',NULL),
        ('Etc/GMT-12','GMT+12:00',NULL),
        ('Etc/GMT-13','GMT+13:00',NULL),
        ('Etc/GMT-14','GMT+14:00',NULL),
        ('Etc/GMT-2','GMT+02:00',NULL),
        ('Etc/GMT-3','GMT+03:00',NULL),
        ('Etc/GMT-4','GMT+04:00',NULL),
        ('Etc/GMT-5','GMT+05:00',NULL),
        ('Etc/GMT-6','GMT+06:00',NULL),
        ('Etc/GMT-7','GMT+07:00',NULL),
        ('Etc/GMT-8','GMT+08:00',NULL),
        ('Etc/GMT-9','GMT+09:00',NULL),
        ('Etc/GMT+0','Greenwich Mean Time - Etc/GMT+0',NULL),
        ('Etc/GMT+1','GMT-01:00',NULL),
        ('Etc/GMT+10','GMT-10:00',NULL),
        ('Etc/GMT+11','GMT-11:00',NULL),
        ('Etc/GMT+12','GMT-12:00',NULL),
        ('Etc/GMT+2','GMT-02:00',NULL),
        ('Etc/GMT+3','GMT-03:00',NULL),
        ('Etc/GMT+4','GMT-04:00',NULL),
        ('Etc/GMT+5','GMT-05:00',NULL),
        ('Etc/GMT+6','GMT-06:00',NULL),
        ('Etc/GMT+7','GMT-07:00',NULL),
        ('Etc/GMT+8','GMT-08:00',NULL),
        ('Etc/GMT+9','GMT-09:00',NULL),
        ('Etc/GMT0','Greenwich Mean Time - Etc/GMT0',NULL),
        ('Etc/Greenwich','Greenwich Mean Time - Etc/Greenwich',NULL),
        ('Etc/UCT','Coordinated Universal Time - Etc/UCT',NULL),
        ('Etc/Universal','Coordinated Universal Time - Etc/Universal',NULL),
        ('Etc/UTC','Coordinated Universal Time - Etc/UTC', 'Universal,Zulu'),
        ('Etc/Zulu','Coordinated Universal Time - Etc/Zulu',NULL),
        ('Europe/Nicosia','Eastern European Time - Nicosia',NULL),
        ('GMT','Greenwich Mean Time - GMT',NULL),
        ('HST','Hawaii Standard Time',NULL),
        ('Iceland','Greenwich Mean Time - Iceland',NULL),
        ('MET','Middle Europe Time',NULL),
        ('MST','Mountain Standard Time - MST',NULL),
        ('MST7MDT','Mountain Standard Time - MST7MDT',NULL),
        ('Pacific/Ponape','Pohnpei Time',NULL),
        ('Pacific/Yap','Chuuk Time - Yap',NULL),
        ('PST8PDT','Pacific Standard Time - PST8PDT',NULL),
        ('UCT','Coordinated Universal Time - UCT',NULL),
        ('WET','Western European Time',NULL);
