<?php if ( !defined( 'ABSPATH' ) ) exit;//PHPの宣言と直接アクセスの拒否

function haup_icon_picker_init(){
	//スタイルシートの登録とエンキュー
	wp_register_style(
		'haup-icon-picker-style',
		plugin_dir_url( __FILE__ ) .'icon-picker.css',
		array(),
		haup_plugin_version(),
		'all'
	);

	wp_enqueue_style('haup-icon-picker-style');

	//スクリプトの登録とエンキュー
	wp_register_script(
		'haup-icon-picker-script',
		plugin_dir_url( __FILE__ ) .'icon-picker.js',
		array('jquery'),
		haup_plugin_version(),
		array( 
			'strategy'  => 'defer',
			'in_footer' => true, // Note: This is the default value.
		)
	);

	wp_enqueue_script('haup-icon-picker-script');

}
add_action('admin_enqueue_scripts','haup_icon_picker_init');

/*** スクリプトへデータを渡す ***/
function haup_localize_icon_picker_data() {
	$icon_data = array(
		'iconMapICOMoon' => haup_get_hau_icon_map()
	);

	// グローバル変数 'HAIconPicker' としてJavaScriptに渡す
	wp_localize_script(
		'haup-icon-picker-script',
		'HAIconPicker',
		$icon_data
	);
}
add_action('admin_enqueue_scripts', 'haup_localize_icon_picker_data');


/**
 * IcoMoonのUnicodeから対応するCSSクラス名を取得するヘルパー関数。
 *
 * @param string $unicode 検索するUnicode値 (例: '\e937')。
 * @return string|false 対応するCSSクラス名 (例: 'icon-x-logo')、見つからない場合は false。
 */
function haumenu_get_class_from_unicode( $unicode ) {
	// 1. 共通のクラス名 => Unicode マップを取得
	$icon_map_js = haup_get_hau_icon_map(); // クラス名 => Unicode の形式

	// 2. マップを Unicode => クラス名 の形式に反転
	// array_flip() はキーと値を入れ替える
	$icon_map_php = array_flip( $icon_map_js );

	// 3. 検索してクラス名を返す
	if ( isset( $icon_map_php[ $unicode ] ) ) {
		return $icon_map_php[ $unicode ];
	}

	return false;
}

/***** アイコン選択からスタイル用のコードを提示 *****/
function haup_icon_picker_output_style_help(){
	$default_class = ''; // 初期表示用のデフォルトクラス
	$preview_id = 'ha-css-preview'; // JSで操作するプレビューのユニークID
	$output_id = 'ha-css-code-output'; // JSで操作するテキストエリアのユニークID

	$output_code = '';
	$output_code .= '<div class="ha-css-output-container">';
	$output_code .= '<div class="ha-css-output-description">';
	$output_code .= '<p>'.esc_html__('Selecting an icon will generate example style code for using the icon manually','hima-art-utility').'<br><span style="color:red;">'.esc_html__('Note: The "element" part of the generated style code must be replaced with the class to be applied.','hima-art-utility').'</span></p>';
	$output_code .= '</div>';
	$output_code .= '<div class="ha-css-output-inner">';
	$output_code .= '<div class="ha-css-output-container-preview">';
	$output_code .= '<span id="'.$preview_id.'" class="ha-icon-preview '.$default_class.'"></span>';
	$output_code .= '</div>';
	$output_code .= '<div class="ha-css-output-container-buttons">';
	$output_code .= '<button type="button" class="button button-secondary ha-open-icon-modal ha-open-css-modal">';
	$output_code .= esc_html__('Select Icon', 'hima-art-utility');
	$output_code .= '</button>';
	$output_code .= '<button type="button" class="button ha-clear-icon-btn ha-clear-css-btn">';
	$output_code .= esc_html__('Clear', 'hima-art-utility');
	$output_code .= '</button>';
	$output_code .= '</div>';
	$output_code .= '<div class="ha-css-output-container-code">';
	$output_code .= '<textarea id="'.$output_id.'" rows="5" readonly></textarea>';
	$output_code .= '</div>';
	$output_code .= '</div>';
	$output_code .= '<div id="icon-selection-modal" style="display:none;">';
	$output_code .= '<div class="ha-modal-content">';
	$output_code .= '<h3>'.esc_html__('Select Icon', 'hima-art-utility').'</h3>';
	$output_code .= '<button type="button" class="ha-close-icon-modal">&times;</button>';
	$output_code .= '<div class="ha-icon-list-grid">';
	$output_code .= '</div>';
	$output_code .= '</div>';
	$output_code .= '</div>';
	$output_code .= '</div>';

	if(isset( GetOP09_addcontent()['expansion-hau-icons'] ) && GetOP09_addcontent()['expansion-hau-icons'] == 1 ){
		return $output_code;
	}else{
		return '';
	}
}

/*** アイコンデータマップ定義 ***/
/* 設定項目でのUnicode<->CSSクラスの変換と、JSへ渡す関数のマッピングとして使用 */
function haup_get_hau_icon_map() {
	// クラス名 => Unicode のマッピング（JSと同期させるため、JSと同じ形式で定義）
	// icons/style.cssのclassとcontentsの値を指定する
	return array(
		'icon-hauicon-trump01' => '\ea55',
		'icon-hauicon-trump02' => '\e992',
		'icon-hauicon-trump03' => '\e993',
		'icon-hauicon-trump04' => '\e994',
		'icon-hauicon-trump05' => '\ea56',
		'icon-hauicon-image01' => '\e988',
		'icon-hauicon-image02' => '\e989',
		'icon-hauicon-bookfile01' => '\e99a',
		'icon-hauicon-bookfile02' => '\e99b',
		'icon-hauicon-bookfile03' => '\e99d',
		'icon-hauicon-bookfile04' => '\e99e',
		'icon-hauicon-bookfile05' => '\e99f',
		'icon-hauicon-bookfile06' => '\e9a0',
		'icon-hauicon-bookfile07' => '\e9a1',
		'icon-hauicon-bookfile08' => '\e9a2',
		'icon-hauicon-bookfile09' => '\e9a3',
		'icon-hauicon-bookfile10' => '\e9a4',
		'icon-hauicon-bookfile11' => '\e9a5',
		'icon-hauicon-bookfile12' => '\e9a6',
		'icon-hauicon-bookfile13' => '\e9a7',
		'icon-hauicon-bookfile14' => '\e9a8',
		'icon-hauicon-bookfile15' => '\e9a9',
		'icon-hauicon-bookfile16' => '\e9aa',
		'icon-hauicon-bookfile17' => '\e9ab',
		'icon-hauicon-bookfile18' => '\e9ac',
		'icon-hauicon-bookfile19' => '\e9ad',
		'icon-hauicon-bookfile20' => '\e9ae',
		'icon-hauicon-bookfile21' => '\e9af',
		'icon-hauicon-webmark01' => '\ea4e',
		'icon-hauicon-webmark02' => '\e9c8',
		'icon-hauicon-webmark03' => '\e9ce',
		'icon-hauicon-webmark04' => '\e9e0',
		'icon-hauicon-webmark05' => '\e9e1',
		'icon-hauicon-webmark06' => '\e9e2',
		'icon-hauicon-webmark07' => '\e9e3',
		'icon-hauicon-webmark08' => '\e9e4',
		'icon-hauicon-webmark09' => '\e9e5',
		'icon-hauicon-webmark10' => '\e9f2',
		'icon-hauicon-webmark11' => '\e9f3',
		'icon-hauicon-webmark12' => '\e9f4',
		'icon-hauicon-webmark13' => '\e9f5',
		'icon-hauicon-webmark14' => '\e9f6',
		'icon-hauicon-webmark15' => '\e9f7',
		'icon-hauicon-webmark16' => '\ea00',
		'icon-hauicon-webmark17' => '\ea01',
		'icon-hauicon-webmark18' => '\ea02',
		'icon-hauicon-webmark19' => '\ea03',
		'icon-hauicon-webmark20' => '\ea08',
		'icon-hauicon-webmark21' => '\ea09',
		'icon-hauicon-webmark22' => '\ea0a',
		'icon-hauicon-webmark23' => '\ea0b',
		'icon-hauicon-webmark24' => '\ea15',
		'icon-hauicon-webmark25' => '\ea16',
		'icon-hauicon-webmark26' => '\ea17',
		'icon-hauicon-webmark27' => '\ea18',
		'icon-hauicon-webmark28' => '\ea33',
		'icon-hauicon-webmark29' => '\ea34',
		'icon-hauicon-webmark30' => '\ea35',
		'icon-hauicon-webmark31' => '\ea36',
		'icon-hauicon-webmark32' => '\ea37',
		'icon-hauicon-webmark33' => '\ea38',
		'icon-hauicon-webmark34' => '\ea39',
		'icon-hauicon-webmark35' => '\ea3a',
		'icon-hauicon-webmark36' => '\ea3b',
		'icon-hauicon-webmark37' => '\ea82',
		'icon-hauicon-webmark38' => '\ea83',
		'icon-hauicon-webmark39' => '\f06a',
		'icon-hauicon-webmark40' => '\f059',
		'icon-hauicon-webmark41' => '\ea84',
		'icon-hauicon-webmark42' => '\f05a',
		'icon-hauicon-webmark43' => '\ea87',
		'icon-hauicon-webmark44' => '\f058',
		'icon-hauicon-webmark45' => '\ea85',
		'icon-hauicon-webmark46' => '\f055',
		'icon-hauicon-webmark47' => '\ea86',
		'icon-hauicon-webmark48' => '\f056',
		'icon-hauicon-webmark49' => '\ea88',
		'icon-hauicon-webmark50' => '\f057',
		'icon-hauicon-webmark51' => '\ea89',
		'icon-hauicon-webmark52' => '\ea8a',
		'icon-hauicon-webmark53' => '\ea8b',
		'icon-hauicon-webmark54' => '\ea8c',
		'icon-hauicon-webmark55' => '\ea8d',
		'icon-hauicon-webmark56' => '\ea8e',
		'icon-hauicon-webmark57' => '\ea8f',
		'icon-hauicon-webmark58' => '\eac3',
		'icon-hauicon-webmark59' => '\eac4',
		'icon-hauicon-webmark60' => '\eac5',
		'icon-hauicon-webmark61' => '\eac6',
		'icon-hauicon-webmark62' => '\eac7',
		'icon-hauicon-webmark63' => '\eac8',
		'icon-hauicon-webmark64' => '\eacd',
		'icon-hauicon-webmark65' => '\eace',
		'icon-hauicon-webmark66' => '\eacf',
		'icon-hauicon-webmark67' => '\ead0',
		'icon-hauicon-webmark68' => '\ead1',
		'icon-hauicon-webmark69' => '\ead6',
		'icon-hauicon-webmark70' => '\eaf8',
		'icon-hauicon-webmark71' => '\eaf9',
		'icon-hauicon-webmark72' => '\eafa',
		'icon-hauicon-webmark73' => '\eafb',
		'icon-hauicon-arrow01' => '\ea7e',
		'icon-hauicon-arrow02' => '\ea7f',
		'icon-hauicon-arrow03' => '\ea80',
		'icon-hauicon-arrow04' => '\ea81',
		'icon-hauicon-arrow05' => '\eaac',
		'icon-hauicon-arrow06' => '\eaad',
		'icon-hauicon-arrow07' => '\eaae',
		'icon-hauicon-arrow08' => '\eaaf',
		'icon-hauicon-arrow09' => '\eab0',
		'icon-hauicon-arrow10' => '\eab1',
		'icon-hauicon-arrow11' => '\eab2',
		'icon-hauicon-arrow12' => '\eab3',
		'icon-hauicon-arrow13' => '\eab4',
		'icon-hauicon-arrow14' => '\eab5',
		'icon-hauicon-arrow15' => '\eab6',
		'icon-hauicon-arrow16' => '\eab7',
		'icon-hauicon-arrow17' => '\eab8',
		'icon-hauicon-arrow18' => '\eab9',
		'icon-hauicon-arrow19' => '\eaba',
		'icon-hauicon-arrow20' => '\eabb',
		'icon-hauicon-arrow21' => '\eabc',
		'icon-hauicon-arrow22' => '\eabd',
		'icon-hauicon-arrow23' => '\eabe',
		'icon-hauicon-arrow24' => '\eabf',
		'icon-hauicon-arrow25' => '\f0aa',
		'icon-hauicon-arrow26' => '\f0a9',
		'icon-hauicon-arrow27' => '\f0ab',
		'icon-hauicon-arrow28' => '\f0a8',
		'icon-hauicon-share01' => '\eafd',
		'icon-hauicon-share02' => '\eaff',
		'icon-hauicon-share03' => '\eb00',
		'icon-hauicon-share04' => '\e937',
		'icon-hauicon-share05' => '\eb02',
		'icon-hauicon-share06' => '\eb03',
		'icon-hauicon-share07' => '\eb04',
		'icon-hauicon-share08' => '\eb05',
		'icon-hauicon-share09' => '\e902',
		'icon-hauicon-share10' => '\e900',
		'icon-hauicon-share11' => '\eb0a',
		'icon-hauicon-share12' => '\eb0b',
		'icon-hauicon-share13' => '\eb0c',
		'icon-hauicon-share14' => '\eb0d',
		'icon-hauicon-share15' => '\eb0e',
		'icon-hauicon-share16' => '\eb0f',
		'icon-hauicon-share17' => '\eb10',
		'icon-hauicon-share18' => '\eb12',
		'icon-hauicon-share19' => '\eb16',
		'icon-hauicon-share20' => '\eb17',
		'icon-hauicon-share21' => '\eb18',
		'icon-hauicon-share22' => '\eb1a',
		'icon-hauicon-share23' => '\eb1b',
		'icon-hauicon-share24' => '\eb1c',
		'icon-hauicon-share25' => '\eb2a',
		'icon-hauicon-share26' => '\eb2b',
		'icon-hauicon-share27' => '\eb34',
		'icon-hauicon-share28' => '\eb35',
		'icon-hauicon-share29' => '\eb36',
		'icon-hauicon-share30' => '\eb37',
		'icon-hauicon-share31' => '\eb41',
		'icon-hauicon-share32' => '\eb43',
		'icon-hauicon-share33' => '\eb44',
		'icon-hauicon-share34' => '\eb45',
		'icon-hauicon-share35' => '\eb4b',
		'icon-hauicon-share36' => '\eb63',
		'icon-hauicon-share37' => '\eb4c',
		'icon-hauicon-share38' => '\eb4d',
		'icon-hauicon-browser01' => '\eb54',
		'icon-hauicon-browser02' => '\eb55',
		'icon-hauicon-browser03' => '\eb57',
		'icon-hauicon-browser04' => '\eb58',
		'icon-hauicon-browser05' => '\eb59',
		'icon-hauicon-software01' => '\eb5a',
		'icon-hauicon-software02' => '\eb5b',
		'icon-hauicon-software03' => '\eb5c',
		'icon-hauicon-software04' => '\eb5d',
		'icon-hauicon-software05' => '\eb5e',
		'icon-hauicon-software06' => '\eb39',
		'icon-hauicon-software07' => '\eb3b',
		'icon-hauicon-software08' => '\eb3c',
		'icon-hauicon-software09' => '\eb3d',
		'icon-hauicon-software10' => '\eb2f',
		'icon-hauicon-software11' => '\eb30',
		'icon-hauicon-dog-01' => '\e904',
		'icon-hauicon-dog-02' => '\e905',
		'icon-hauicon-dog-03' => '\e906',
		'icon-hauicon-dog-04' => '\e907',
		'icon-hauicon-dog-05' => '\e908',
		'icon-hauicon-dog-06' => '\e909',
		'icon-hauicon-dog-07' => '\e90a',
		'icon-hauicon-dog-08' => '\e90b',
		'icon-hauicon-dog-09' => '\e90c',
		'icon-hauicon-dog-10' => '\e90d',
		'icon-hauicon-dog-11' => '\e90f',
		'icon-hauicon-dog-12' => '\e910',
		'icon-hauicon-cat-01' => '\e911',
		'icon-hauicon-cat-02' => '\e912',
		'icon-hauicon-cat-03' => '\e913',
		'icon-hauicon-cat-04' => '\e914',
		'icon-hauicon-cat-05' => '\e915',
		'icon-hauicon-cat-06' => '\e916',
		'icon-hauicon-cat-07' => '\e917',
		'icon-hauicon-cat-08' => '\e918',
		'icon-hauicon-cat-09' => '\e91b',
		'icon-hauicon-cat-10' => '\e91e',
		'icon-hauicon-cat-11' => '\e920',
		'icon-hauicon-cat-12' => '\e921',
		'icon-hauicon-cat-13' => '\e922',
		'icon-hauicon-fish-01' => '\e923',
		'icon-hauicon-fish-02' => '\e924',
		'icon-hauicon-fish-03' => '\e926',
		'icon-hauicon-fish-04' => '\e927',
		'icon-hauicon-fish-05' => '\e928',
		'icon-hauicon-fish-06' => '\e929',
		'icon-hauicon-fish-07' => '\e92a',
		'icon-hauicon-fish-08' => '\e92b',
		'icon-hauicon-fish-09' => '\e92c',
		'icon-hauicon-fish-10' => '\e92e',
		'icon-hauicon-fish-11' => '\e92f',
		'icon-hauicon-fish-12' => '\e930',
		'icon-hauicon-fish-13' => '\e931',
		'icon-hauicon-fish-14' => '\e932',
		'icon-hauicon-fish-15' => '\e933',
		'icon-hauicon-fish-16' => '\e934',
		'icon-hauicon-fish-17' => '\e935',
		'icon-hauicon-fish-18' => '\e936',
		'icon-hauicon-fish-19' => '\e938',
		'icon-hauicon-fish-20' => '\e939',
		'icon-hauicon-fish-21' => '\e93a',
		'icon-hauicon-fish-22' => '\e93b',
		'icon-hauicon-bird-01' => '\e93c',
		'icon-hauicon-bird-02' => '\e93e',
		'icon-hauicon-bird-03' => '\e93f',
		'icon-hauicon-bird-04' => '\e940',
		'icon-hauicon-bird-05' => '\e941',
		'icon-hauicon-bird-06' => '\e942',
		'icon-hauicon-bird-07' => '\e943',
		'icon-hauicon-bird-08' => '\e945',
		'icon-hauicon-bird-09' => '\e946',
		'icon-hauicon-insect-01' => '\e947',
		'icon-hauicon-insect-02' => '\e948',
		'icon-hauicon-insect-03' => '\e949',
		'icon-hauicon-insect-04' => '\e94a',
		'icon-hauicon-insect-05' => '\e94b',
		'icon-hauicon-insect-06' => '\e94c',
		'icon-hauicon-insect-07' => '\e94d',
		'icon-hauicon-insect-08' => '\e94f',
		'icon-hauicon-insect-09' => '\e950',
		'icon-hauicon-insect-10' => '\e952',
		'icon-hauicon-insect-11' => '\e953',
		'icon-hauicon-insect-12' => '\e955',
		'icon-hauicon-insect-13' => '\e956',
		'icon-hauicon-insect-14' => '\e957',
		'icon-hauicon-insect-15' => '\e958',
		'icon-hauicon-insect-16' => '\e94e',
		'icon-hauicon-insect-17' => '\e959',
		'icon-hauicon-animal-01' => '\e95a',
		'icon-hauicon-animal-02' => '\e95c',
		'icon-hauicon-animal-03' => '\e95d',
		'icon-hauicon-animal-04' => '\e95e',
		'icon-hauicon-animal-05' => '\e95f',
		'icon-hauicon-animal-06' => '\e960',
		'icon-hauicon-animal-07' => '\e961',
		'icon-hauicon-animal-08' => '\e962',
		'icon-hauicon-animal-09' => '\e963',
		'icon-hauicon-animal-10' => '\e964',
		'icon-hauicon-animal-11' => '\e966',
		'icon-hauicon-animal-12' => '\e967',
		'icon-hauicon-animal-13' => '\e969',
		'icon-hauicon-animal-14' => '\e96a',
		'icon-hauicon-animal-15' => '\e96b',
		'icon-hauicon-animal-16' => '\e96c',
		'icon-hauicon-animal-17' => '\e96f',
		'icon-hauicon-animal-18' => '\e970',
		'icon-hauicon-animal-19' => '\e973',
		'icon-hauicon-animal-20' => '\e982',
		'icon-hauicon-animal-21' => '\e984',
		'icon-hauicon-animal-22' => '\e99c',
		'icon-hauicon-animal-23' => '\e9b4',
		'icon-hauicon-animal-24' => '\e9b6',
		'icon-hauicon-plant-01' => '\e9fd',
		'icon-hauicon-plant-02' => '\e919',
		'icon-hauicon-plant-03' => '\ea06',
		'icon-hauicon-plant-04' => '\ea07',
		'icon-hauicon-plant-05' => '\ea0d',
		'icon-hauicon-plant-06' => '\ea1f',
		'icon-hauicon-plant-07' => '\ea24',
		'icon-hauicon-plant-08' => '\ea26',
		'icon-hauicon-plant-09' => '\e91d',
		'icon-hauicon-plant-10' => '\ea2b',
		'icon-hauicon-plant-11' => '\ea2c',
		'icon-hauicon-plant-12' => '\ea5a',
		'icon-hauicon-plant-13' => '\ea5b',
		'icon-hauicon-plant-14' => '\ea5c',
		'icon-hauicon-plant-15' => '\ea5e',
		'icon-hauicon-weather01' => '\e975',
		'icon-hauicon-weather02' => '\ea4f',
		'icon-hauicon-weather03' => '\ea3c',
		'icon-hauicon-weather04' => '\e97a',
		'icon-hauicon-weather05' => '\e977',
		'icon-hauicon-weather06' => '\e976',
		'icon-hauicon-weather07' => '\ea52',
		'icon-hauicon-weather08' => '\ea53',
		'icon-hauicon-weather09' => '\ea54',
		'icon-hauicon-weather10' => '\ea50',
		'icon-hauicon-food01' => '\ea1b',
		'icon-hauicon-food02' => '\ea1c',
		'icon-hauicon-food03' => '\ea1d',
		'icon-hauicon-food04' => '\ea5f',
		'icon-hauicon-food05' => '\ea60',
		'icon-hauicon-food06' => '\ea61',
		'icon-hauicon-food07' => '\ea62',
		'icon-hauicon-food08' => '\ea63',
		'icon-hauicon-food09' => '\ea64',
		'icon-hauicon-food10' => '\ea65',
		'icon-hauicon-food11' => '\ea66',
		'icon-hauicon-food12' => '\ea67',
		'icon-hauicon-food13' => '\ea68',
		'icon-hauicon-food14' => '\ea69',
		'icon-hauicon-food15' => '\ea6a',
		'icon-hauicon-food16' => '\ea6b',
		'icon-hauicon-food17' => '\ea6c',
		'icon-hauicon-food18' => '\ea6d',
		'icon-hauicon-food19' => '\ea6e',
		'icon-hauicon-food20' => '\ea70',
		'icon-hauicon-food21' => '\ea71',
		'icon-hauicon-food22' => '\ea72',
		'icon-hauicon-food23' => '\ea74',
		'icon-hauicon-food24' => '\ea75',
		'icon-hauicon-food25' => '\ea76',
		'icon-hauicon-food26' => '\ea77',
		'icon-hauicon-food27' => '\ea78',
		'icon-hauicon-food28' => '\ea7a',
		'icon-hauicon-food29' => '\ea7b',
		'icon-hauicon-food30' => '\ea7c',
		'icon-hauicon-food31' => '\ea7d',
		'icon-hauicon-food32' => '\eac0',
		'icon-hauicon-food33' => '\eac1',
		'icon-hauicon-food34' => '\eac2',
		'icon-hauicon-food35' => '\eac9',
		'icon-hauicon-food36' => '\ea2e',
		'icon-hauicon-food37' => '\eacc',
		'icon-hauicon-food38' => '\e9ff',
		'icon-hauicon-food39' => '\ead2',
		'icon-hauicon-food40' => '\e9b7',
		'icon-hauicon-food41' => '\ead3',
		'icon-hauicon-food42' => '\ead4',
		'icon-hauicon-food43' => '\ead7',
		'icon-hauicon-food44' => '\ead8',
		'icon-hauicon-food45' => '\ead9',
		'icon-hauicon-food46' => '\eada',
		'icon-hauicon-food47' => '\e9bc',
		'icon-hauicon-food48' => '\e9dd',
		'icon-hauicon-food49' => '\e9fb',
		'icon-hauicon-food50' => '\e9fc',
		'icon-hauicon-food51' => '\eadc',
		'icon-hauicon-food52' => '\eadd',
		'icon-hauicon-food53' => '\eade',
		'icon-hauicon-food54' => '\eadf',
		'icon-hauicon-food55' => '\eae0',
		'icon-hauicon-food56' => '\eae1',
		'icon-hauicon-food57' => '\eae2',
		'icon-hauicon-food58' => '\eae3',
		'icon-hauicon-food59' => '\eae4',
		'icon-hauicon-food60' => '\eae5',
		'icon-hauicon-vehicle01' => '\eae6',
		'icon-hauicon-vehicle02' => '\eae7',
		'icon-hauicon-vehicle03' => '\eae9',
		'icon-hauicon-vehicle04' => '\eaea',
		'icon-hauicon-vehicle05' => '\ea21',
		'icon-hauicon-vehicle06' => '\ea22',
		'icon-hauicon-vehicle07' => '\eaeb',
		'icon-hauicon-vehicle08' => '\eaec',
		'icon-hauicon-vehicle09' => '\eaed',
		'icon-hauicon-vehicle10' => '\eaee',
		'icon-hauicon-vehicle11' => '\eaef',
		'icon-hauicon-vehicle12' => '\eaf0',
		'icon-hauicon-vehicle13' => '\eaf1',
		'icon-hauicon-vehicle14' => '\eaf2',
		'icon-hauicon-vehicle15' => '\eaf3',
		'icon-hauicon-vehicle16' => '\eaf4',
		'icon-hauicon-vehicle17' => '\eaf5',
		'icon-hauicon-vehicle18' => '\eaf6',
		'icon-hauicon-vehicle19' => '\eaf7',
		'icon-hauicon-vehicle20' => '\eb06',
		'icon-hauicon-vehicle21' => '\eb08',
		'icon-hauicon-vehicle22' => '\eb09',
		'icon-hauicon-vehicle23' => '\eb11',
		'icon-hauicon-vehicle24' => '\eb13',
		'icon-hauicon-vehicle25' => '\eb14',
		'icon-hauicon-vehicle26' => '\eb15',
		'icon-hauicon-vehicle27' => '\eb19',
		'icon-hauicon-vehicle28' => '\eb1d',
		'icon-hauicon-vehicle29' => '\eb1f',
		'icon-hauicon-vehicle30' => '\eb20',
		'icon-hauicon-vehicle31' => '\eb21',
		'icon-hauicon-vehicle32' => '\eb22',
		'icon-hauicon-vehicle33' => '\eb23',
		'icon-hauicon-vehicle34' => '\eb24',
		'icon-hauicon-vehicle35' => '\eb25',
		'icon-hauicon-vehicle36' => '\eb1e',
		'icon-hauicon-vehicle37' => '\eb27',
		'icon-hauicon-vehicle38' => '\ea2a',
		'icon-hauicon-vehicle39' => '\eb29',
		'icon-hauicon-vehicle40' => '\e9c1',
		'icon-hauicon-vehicle41' => '\e9c3',
		'icon-hauicon-vehicle42' => '\e9c2',
		'icon-hauicon-vehicle43' => '\eb2c',
		'icon-hauicon-vehicle44' => '\eb2d',
		'icon-hauicon-vehicle45' => '\eb2e',
		'icon-hauicon-vehicle46' => '\e9c5',
		'icon-hauicon-vehicle47' => '\e9c4',
		'icon-hauicon-vehicle48' => '\e9c6',
		'icon-hauicon-vehicle49' => '\e9c7',
		'icon-hauicon-vehicle50' => '\f2c2',
		'icon-hauicon-vehicle51' => '\f2c3',
		'icon-hauicon-building01' => '\e97b',
		'icon-hauicon-building02' => '\e97c',
		'icon-hauicon-building03' => '\e97d',
		'icon-hauicon-building04' => '\ebc1',
		'icon-hauicon-building05' => '\e97e',
		'icon-hauicon-building06' => '\ebc2',
		'icon-hauicon-building07' => '\ebc3',
		'icon-hauicon-building08' => '\ebc4',
		'icon-hauicon-building09' => '\ebc5',
		'icon-hauicon-building10' => '\ebc6',
		'icon-hauicon-building11' => '\ebc7',
		'icon-hauicon-building12' => '\ebc8',
		'icon-hauicon-building13' => '\ebc9',
		'icon-hauicon-building14' => '\ebca',
		'icon-hauicon-building15' => '\ebcb',
		'icon-hauicon-building16' => '\ebcc',
		'icon-hauicon-building17' => '\ebcd',
		'icon-hauicon-building18' => '\ebce',
		'icon-hauicon-building19' => '\ebd1',
		'icon-hauicon-building20' => '\eb31',
		'icon-hauicon-building21' => '\ebd2',
		'icon-hauicon-pc01' => '\e9bd',
		'icon-hauicon-pc02' => '\e9be',
		'icon-hauicon-pc03' => '\ebd3',
		'icon-hauicon-pc04' => '\ebd4',
		'icon-hauicon-pc05' => '\ebd5',
		'icon-hauicon-pc06' => '\ebd6',
		'icon-hauicon-pc07' => '\ebd7',
		'icon-hauicon-pc08' => '\e9bf',
		'icon-hauicon-pc09' => '\ebdb',
		'icon-hauicon-pc10' => '\e997',
		'icon-hauicon-pc11' => '\e996',
		'icon-hauicon-pc12' => '\e998',
		'icon-hauicon-pc13' => '\e9d3',
		'icon-hauicon-pc14' => '\e9d5',
		'icon-hauicon-pc15' => '\e9d2',
		'icon-hauicon-pc16' => '\ebdd',
		'icon-hauicon-pc17' => '\ebde',
		'icon-hauicon-pc18' => '\ebdf',
		'icon-hauicon-pc19' => '\e9de',
		'icon-hauicon-pc20' => '\e9df',
		'icon-hauicon-pc21' => '\ea40',
		'icon-hauicon-pc22' => '\ea41',
		'icon-hauicon-pc23' => '\eafc',
		'icon-hauicon-pc24' => '\e9d1',
		'icon-hauicon-pc25' => '\ebe2',
		'icon-hauicon-pc26' => '\e9cf',
		'icon-hauicon-pc27' => '\ebe3',
		'icon-hauicon-pc28' => '\ebe5',
		'icon-hauicon-pc29' => '\ebe6',
		'icon-hauicon-pc30' => '\e9d6',
		'icon-hauicon-pc31' => '\e98a',
		'icon-hauicon-pc32' => '\e98f',
		'icon-hauicon-pc33' => '\ebe7',
		'icon-hauicon-pc34' => '\ebe8',
		'icon-hauicon-pc35' => '\ebe9',
		'icon-hauicon-pc36' => '\ebea',
		'icon-hauicon-pc37' => '\ebf0',
		'icon-hauicon-pc38' => '\ea31',
		'icon-hauicon-pc39' => '\ea32',
		'icon-hauicon-pc40' => '\ebf1',
		'icon-hauicon-winner01' => '\ebf2',
		'icon-hauicon-winner02' => '\ebf3',
		'icon-hauicon-winner03' => '\ebf4',
		'icon-hauicon-winner04' => '\ea19',
		'icon-hauicon-shop01' => '\e9b5',
		'icon-hauicon-shop02' => '\e9bb',
		'icon-hauicon-shop03' => '\e9b2',
		'icon-hauicon-shop04' => '\e9b3',
		'icon-hauicon-shop05' => '\f1ed',
		'icon-hauicon-shop06' => '\f1ee',
		'icon-hauicon-shop07' => '\ebf7',
		'icon-hauicon-shop08' => '\e9ba',
		'icon-hauicon-shop09' => '\f1f0',
		'icon-hauicon-shop10' => '\f1f1',
		'icon-hauicon-shop11' => '\f1f3',
		'icon-hauicon-shop12' => '\f1f4',
		'icon-hauicon-shop13' => '\f1f5',
		'icon-hauicon-shop14' => '\f24b',
		'icon-hauicon-shop15' => '\f283',
		'icon-hauicon-shop16' => '\f2bb',
		'icon-hauicon-shop17' => '\f2bc',
		'icon-hauicon-shop18' => '\ebf8',
		'icon-hauicon-shop19' => '\ebf9',
		'icon-hauicon-shop20' => '\ebfa',
		'icon-hauicon-shop21' => '\ebfb',
		'icon-hauicon-shop22' => '\ebfc',
		'icon-hauicon-shop23' => '\ebfd',
		'icon-hauicon-shop24' => '\ebfe',
		'icon-hauicon-shop25' => '\ebff',
		'icon-hauicon-shop26' => '\ec00',
		'icon-hauicon-shop27' => '\e9d7',
		'icon-hauicon-shop28' => '\e9d8',
		'icon-hauicon-shop29' => '\ec03',
		'icon-hauicon-shop30' => '\ec04',
		'icon-hauicon-shop31' => '\ec06',
		'icon-hauicon-shop32' => '\e9b9',
		'icon-hauicon-shop33' => '\ec07',
		'icon-hauicon-shop34' => '\e9b0',
		'icon-hauicon-shop35' => '\e9b1',
		'icon-hauicon-shop36' => '\ec08',
		'icon-hauicon-shop37' => '\ec09',
		'icon-hauicon-shop38' => '\ec0b',
		'icon-hauicon-shop39' => '\ec0c',
		'icon-hauicon-sports01' => '\ec0e',
		'icon-hauicon-sports02' => '\ec0f',
		'icon-hauicon-sports03' => '\ec10',
		'icon-hauicon-sports04' => '\ec12',
		'icon-hauicon-sports05' => '\ec13',
		'icon-hauicon-sports06' => '\ec14',
		'icon-hauicon-sports07' => '\ec15',
		'icon-hauicon-sports08' => '\ec16',
		'icon-hauicon-sports09' => '\ec18',
		'icon-hauicon-sports10' => '\ec19',
		'icon-hauicon-sports11' => '\ec1b',
		'icon-hauicon-sports12' => '\ec1c',
		'icon-hauicon-sports13' => '\ec1d',
		'icon-hauicon-sports14' => '\ec1e',
		'icon-hauicon-sports15' => '\ec1f',
		'icon-hauicon-sports16' => '\ec20',
		'icon-hauicon-sports17' => '\ec21',
		'icon-hauicon-sports18' => '\ec22',
		'icon-hauicon-sports19' => '\ec24',
		'icon-hauicon-sports20' => '\ec25',
		'icon-hauicon-sports21' => '\ec26',
		'icon-hauicon-sports22' => '\ec28',
		'icon-hauicon-sports23' => '\ec29',
		'icon-hauicon-sports24' => '\eb32',
		'icon-hauicon-sports25' => '\ec2a',
		'icon-hauicon-sports26' => '\ec2b',
		'icon-hauicon-sports27' => '\ec2d',
		'icon-hauicon-sports28' => '\ec2e',
		'icon-hauicon-sports29' => '\ec2f',
		'icon-hauicon-sports30' => '\ec30',
		'icon-hauicon-sports31' => '\ec31',
		'icon-hauicon-sports32' => '\ec33',
		'icon-hauicon-sports33' => '\ec34',
		'icon-hauicon-sports34' => '\ec35',
		'icon-hauicon-sports35' => '\ec36',
		'icon-hauicon-sports36' => '\ec37',
		'icon-hauicon-sports37' => '\ec38',
		'icon-hauicon-sports38' => '\ec39',
		'icon-hauicon-sports39' => '\ec3a',
		'icon-hauicon-sports40' => '\ec3b',
		'icon-hauicon-sports41' => '\ec3c',
		'icon-hauicon-sports42' => '\ec3d',
		'icon-hauicon-sports43' => '\ec3e',
		'icon-hauicon-sports44' => '\ec3f',
		'icon-hauicon-sports45' => '\ec40',
		'icon-hauicon-sports46' => '\ec41',
		'icon-hauicon-person01' => '\e9ec',
		'icon-hauicon-person02' => '\e9ed',
		'icon-hauicon-person03' => '\e9ee',
		'icon-hauicon-person04' => '\e9ef',
		'icon-hauicon-person05' => '\e9f0',
		'icon-hauicon-person06' => '\e9f1',
		'icon-hauicon-person07' => '\ec0d',
		'icon-hauicon-person08' => '\ea57',
		'icon-hauicon-person09' => '\ea58',
		'icon-hauicon-person10' => '\ea59',
		'icon-hauicon-person11' => '\ec4c',
		'icon-hauicon-person12' => '\ec4d',
		'icon-hauicon-person13' => '\ec4e',
		'icon-hauicon-person14' => '\ec4f',
		'icon-hauicon-person15' => '\ec50',
		'icon-hauicon-person16' => '\ec51',
		'icon-hauicon-person17' => '\ec53',
		'icon-hauicon-person18' => '\ec54',
		'icon-hauicon-person19' => '\ec55',
		'icon-hauicon-person20' => '\ec58',
		'icon-hauicon-person21' => '\ec59',
		'icon-hauicon-person22' => '\ec5a',
		'icon-hauicon-person23' => '\ec5b',
		'icon-hauicon-person24' => '\ec5c',
		'icon-hauicon-person25' => '\ec60',
		'icon-hauicon-person26' => '\ec61',
		'icon-hauicon-person27' => '\ec42',
		'icon-hauicon-bubble01' => '\e9e6',
		'icon-hauicon-bubble02' => '\e9e7',
		'icon-hauicon-bubble03' => '\e9e8',
		'icon-hauicon-bubble04' => '\e9e9',
		'icon-hauicon-bubble05' => '\e9ea',
		'icon-hauicon-bubble06' => '\e9eb',
		'icon-hauicon-bubble07' => '\e901',
		'icon-hauicon-bubble08' => '\e903',
		'icon-hauicon-medi01' => '\ec62',
		'icon-hauicon-medi02' => '\ec63',
		'icon-hauicon-medi03' => '\ec64',
		'icon-hauicon-medi04' => '\ec65',
		'icon-hauicon-medi05' => '\ec66',
		'icon-hauicon-medi06' => '\ec67',
		'icon-hauicon-medi07' => '\ec68',
		'icon-hauicon-medi08' => '\ec69',
		'icon-hauicon-medi09' => '\ec6a',
		'icon-hauicon-medi10' => '\ec6b',
		'icon-hauicon-medi11' => '\ea49',
		'icon-hauicon-medi12' => '\ea4a',
		'icon-hauicon-medi13' => '\ea4b',
		'icon-hauicon-medi14' => '\ea4c',
		'icon-hauicon-medi15' => '\ec6c',
		'icon-hauicon-medi16' => '\ec6d',
		'icon-hauicon-medi17' => '\ec6e',
		'icon-hauicon-medi18' => '\ec6f',
		'icon-hauicon-medi19' => '\ec70',
		'icon-hauicon-medi20' => '\ec71',
		'icon-hauicon-medi21' => '\ec72',
		'icon-hauicon-medi22' => '\ec73',
		'icon-hauicon-medi23' => '\ec74',
		'icon-hauicon-medi24' => '\ec75',
		'icon-hauicon-medi25' => '\ec76',
		'icon-hauicon-medi26' => '\ec77',
		'icon-hauicon-play01' => '\ea90',
		'icon-hauicon-play02' => '\ea91',
		'icon-hauicon-play03' => '\ea92',
		'icon-hauicon-play04' => '\ea93',
		'icon-hauicon-play05' => '\ea94',
		'icon-hauicon-play06' => '\ea95',
		'icon-hauicon-play07' => '\ea96',
		'icon-hauicon-play08' => '\ea97',
		'icon-hauicon-play09' => '\ea98',
		'icon-hauicon-play10' => '\ea99',
		'icon-hauicon-play11' => '\ea9a',
		'icon-hauicon-play12' => '\ea9b',
		'icon-hauicon-play13' => '\ea9c',
		'icon-hauicon-play14' => '\ea9d',
		'icon-hauicon-play15' => '\ea9e',
		'icon-hauicon-play16' => '\ea9f',
		'icon-hauicon-play17' => '\eaa0',
		'icon-hauicon-play18' => '\eaa8',
		'icon-hauicon-play19' => '\eaa9',
		'icon-hauicon-play20' => '\eaaa',
		'icon-hauicon-play21' => '\eaab',
		'icon-hauicon-sound01' => '\eaa1',
		'icon-hauicon-sound02' => '\eaa2',
		'icon-hauicon-sound03' => '\eaa3',
		'icon-hauicon-sound04' => '\eaa4',
		'icon-hauicon-sound05' => '\eaa5',
		'icon-hauicon-sound06' => '\eaa6',
		'icon-hauicon-sound07' => '\eaa7',
		'icon-hauicon-music01' => '\eb33',
		'icon-hauicon-music02' => '\eb38',
		'icon-hauicon-music03' => '\eb3a',
		'icon-hauicon-music04' => '\eb3e',
		'icon-hauicon-music05' => '\e98b',
		'icon-hauicon-music06' => '\eb40',
		'icon-hauicon-music07' => '\eb42',
		'icon-hauicon-music08' => '\e98c',
		'icon-hauicon-music09' => '\eb46',
		'icon-hauicon-music10' => '\eb47',
		'icon-hauicon-music11' => '\eb48',
		'icon-hauicon-music12' => '\eb49',
		'icon-hauicon-music13' => '\eb4a',
		'icon-hauicon-music14' => '\eb67',
		'icon-hauicon-music15' => '\eb68',
		'icon-hauicon-music16' => '\eb4e',
		'icon-hauicon-music17' => '\eb50',
		'icon-hauicon-music18' => '\eb51',
		'icon-hauicon-music19' => '\eb52',
		'icon-hauicon-music20' => '\eb56',
		'icon-hauicon-music21' => '\eb61',
		'icon-hauicon-music22' => '\ec78',
		'icon-hauicon-music23' => '\ec79',
		'icon-hauicon-music24' => '\eb65',
		'icon-hauicon-music25' => '\eb66',
		'icon-hauicon-music26' => '\eb69',
		'icon-hauicon-music27' => '\eb6a',
		'icon-hauicon-music28' => '\e98d',
		'icon-hauicon-music29' => '\e98e',
		'icon-hauicon-season01' => '\eb6b',
		'icon-hauicon-season02' => '\eb6c',
		'icon-hauicon-season03' => '\eb6e',
		'icon-hauicon-season04' => '\eb70',
		'icon-hauicon-season05' => '\eb71',
		'icon-hauicon-season06' => '\eb73',
		'icon-hauicon-season07' => '\eb74',
		'icon-hauicon-season08' => '\eb75',
		'icon-hauicon-season09' => '\eb76',
		'icon-hauicon-season10' => '\eb77',
		'icon-hauicon-season11' => '\eb78',
		'icon-hauicon-season12' => '\ea1a',
		'icon-hauicon-season13' => '\eb79',
		'icon-hauicon-season14' => '\eb7b',
		'icon-hauicon-season15' => '\eb7c',
		'icon-hauicon-season16' => '\eb7d',
		'icon-hauicon-season17' => '\eb7e',
		'icon-hauicon-season18' => '\eb80',
		'icon-hauicon-season19' => '\eb81',
		'icon-hauicon-season20' => '\eb85',
		'icon-hauicon-season21' => '\eb86',
		'icon-hauicon-season22' => '\eb87',
		'icon-hauicon-season23' => '\eb88',
		'icon-hauicon-season24' => '\ec7a',
		'icon-hauicon-season25' => '\eb89',
		'icon-hauicon-season26' => '\eb8a',
		'icon-hauicon-season27' => '\eb8b',
		'icon-hauicon-season28' => '\eb8c',
		'icon-hauicon-season29' => '\eb8d',
		'icon-hauicon-season30' => '\eb8e',
		'icon-hauicon-season31' => '\eb8f',
		'icon-hauicon-season32' => '\eb90',
		'icon-hauicon-season33' => '\eb91',
		'icon-hauicon-clock01' => '\e9c9',
		'icon-hauicon-clock02' => '\e9ca',
		'icon-hauicon-clock03' => '\e9cb',
		'icon-hauicon-clock04' => '\e9cd',
		'icon-hauicon-clock05' => '\eb92',
		'icon-hauicon-clock06' => '\eb93',
		'icon-hauicon-tools01' => '\e9cc',
		'icon-hauicon-tools02' => '\e995',
		'icon-hauicon-tools03' => '\e980',
		'icon-hauicon-tools04' => '\e981',
		'icon-hauicon-tools05' => '\e983',
		'icon-hauicon-tools06' => '\eb95',
		'icon-hauicon-tools07' => '\eb96',
		'icon-hauicon-tools08' => '\eb97',
		'icon-hauicon-tools09' => '\ea11',
		'icon-hauicon-tools10' => '\ea12',
		'icon-hauicon-tools11' => '\ea23',
		'icon-hauicon-tools12' => '\ea0c',
		'icon-hauicon-tools13' => '\eb9a',
		'icon-hauicon-tools14' => '\eb9b',
		'icon-hauicon-tools15' => '\eb9c',
		'icon-hauicon-tools16' => '\e987',
		'icon-hauicon-tools17' => '\eb9d',
		'icon-hauicon-tools18' => '\eb9e',
		'icon-hauicon-tools19' => '\eb9f',
		'icon-hauicon-tools20' => '\ea28',
		'icon-hauicon-tools21' => '\ea27',
		'icon-hauicon-tools22' => '\ea10',
		'icon-hauicon-tools23' => '\ea0f',
		'icon-hauicon-tools24' => '\ead5',
		'icon-hauicon-tools25' => '\eba0',
		'icon-hauicon-tools26' => '\eba1',
		'icon-hauicon-tools27' => '\eba2',
		'icon-hauicon-tools28' => '\eba3',
		'icon-hauicon-tools29' => '\eba4',
		'icon-hauicon-tools30' => '\ea48',
		'icon-hauicon-tools31' => '\ea46',
		'icon-hauicon-tools32' => '\eba6',
		'icon-hauicon-tools33' => '\eba7',
		'icon-hauicon-tools34' => '\eba8',
		'icon-hauicon-tools35' => '\eba9',
		'icon-hauicon-tools36' => '\ebaa',
		'icon-hauicon-tools37' => '\ebab',
		'icon-hauicon-tools38' => '\ebac',
		'icon-hauicon-tools39' => '\ebae',
		'icon-hauicon-tools40' => '\ebaf',
		'icon-hauicon-tools41' => '\ebb0',
		'icon-hauicon-tools42' => '\ebb1',
		'icon-hauicon-tools43' => '\ea29',
		'icon-hauicon-tools44' => '\e985',
		'icon-hauicon-tools45' => '\e986',
		'icon-hauicon-tools46' => '\e97f',
		'icon-hauicon-tools47' => '\ebb2',
		'icon-hauicon-tools48' => '\ebb4',
		'icon-hauicon-tools49' => '\ebb5',
		'icon-hauicon-tools50' => '\ebb6',
		'icon-hauicon-tools51' => '\ebb7',
		'icon-hauicon-tools52' => '\ebb8',
		'icon-hauicon-tools53' => '\ebb9',
		'icon-hauicon-tools54' => '\ebba',
		'icon-hauicon-tools55' => '\ebbb',
		'icon-hauicon-tools56' => '\e990',
		'icon-hauicon-tools57' => '\ebbc',
		'icon-hauicon-tools58' => '\ebbe',
		'icon-hauicon-tools59' => '\ebbf',
		'icon-hauicon-tools60' => '\ebc0',

	);
}

