SAP ABAP ALV常规属性用法总结
*&---------------------------------------------------------------------*
*& Report Y20231114_ALV
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
report y20231114_alv.
tables:csks,zglt001 ,sscrfields,csku.
types:begin of gy_tab ,
box type c,
linecolor type c length 4, "行颜色
cellcolor type lvc_t_scol, "单元格颜色
dd_handle type int4, "设置下来框
field_style type lvc_t_styl. "编辑设置
include type zglt001 .
types:end of gy_tab .
data:functxt type smp_dyntxt .
data: gw_fieldcat type lvc_s_fcat,
gt_fieldcat type lvc_t_fcat.
data:gt_tab type table of gy_tab.
data:gt_tab_de type table of gy_tab.
data:gw_tab type gy_tab .
data:gt_events type slis_t_event .
data: gt_ddval type lvc_t_drop,
gw_ddval type lvc_s_drop.
data gv_grid type ref to cl_gui_alv_grid.
class lcl_event_receiver definition deferred.
data gv_event_receiver type ref to lcl_event_receiver.
class lcl_event_receiver definition.
public section.
methods:
"数据检查
handle_data_changed
for event data_changed of cl_gui_alv_grid
importing
er_data_changed
.
endclass.
selection-screen begin of block bk1 with frame title text-001.
parameters: r1 type c radiobutton group rad default 'X' user-command qwer, "批量上传
r2 type c radiobutton group rad, "查询
r3 type c radiobutton group rad , "修改
r4 type c radiobutton group rad . "新增
selection-screen end of block bk1 .
selection-screen begin of block bk2 with frame title text-002.
parameters: p_file like rlgrap-filename default '' modif id a.
select-options : s_glno for zglt001-glno modif id b,
s_matnr for zglt001-matnr modif id b.
selection-screen end of block bk2 .
selection-screen: function key 1 ,
function key 2.
initialization.
"文本字段中的图标(替换显示,别名)
functxt-icon_id = icon_export.
"菜单制作器:信息文本 (4.0),滑鼠移去过去显示的信息TIP
functxt-quickinfo = '模板下载'.
"菜单制作器:图标文本 (4.0),菜单名称
functxt-icon_text = '下载模板'.
sscrfields-functxt_01 = functxt.
at selection-screen on value-request for p_file.
perform frm_help_selfile.
at selection-screen output.
loop at screen.
if r1 eq 'X'.
if screen-group1 eq 'B'.
screen-active = 0 .
endif.
elseif r2 eq 'X' or r3 eq 'X' or r4 eq 'X'.
if screen-group1 eq 'A'.
screen-active = 0 .
endif.
endif.
modify screen .
endloop.
at selection-screen.
"下载模板
if sscrfields-ucomm = 'FC01'.
"EXCEL 模板下载
perform frm_download_file using 'ZGL001' '公路信息上载模板.xlsx'.
endif.
start-of-selection .
if r2 eq 'X' or r3 eq 'X'."
perform frm_get_data.
elseif r1 eq 'X'."批量上传
perform frm_get_data_from_excel.
endif.
perform frm_set_fact.
perform frm_dispaly_alv .
*&---------------------------------------------------------------------*
*& Form FRM_GET_DATA
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
form frm_get_data .
data:lt_color type lvc_t_scol,
lw_color type lvc_s_scol,
l_index type i.
select * into corresponding fields of table gt_tab
from zglt001 where glno in s_glno and
matnr in s_matnr .
loop at gt_tab assigning field-symbol(<gs_tab>).
if sy-tabix eq 2 .
<gs_tab>-linecolor = 'C411'.
endif.
if <gs_tab>-glno+10 eq '002'.
clear: lw_color.
refresh lt_color.
lw_color-fname = 'MATNR'.
lw_color-color-col = 6.
lw_color-color-int = 1 .
lw_color-color-inv = 1.
append lw_color to lt_color.
<gs_tab>-cellcolor = lt_color.
endif.
endloop.
endform.
*&---------------------------------------------------------------------*
*& Form FRM_GET_DATA_FROM_EXCEL
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
form frm_get_data_from_excel .
types:begin of ly_tab ,
glno type string, "
matnr type string, "
maktx type string, "
menge type string,
brgew type string,
ztyp type string,
end of ly_tab .
data:lt_tab type table of ly_tab,
lw_tab type ly_tab.
data: gt_exc type standard table of zalsmex_tabline4 with header line .
data:gv_answer type c.
field-symbols <fs>.
data: gv_column type i.
data:lv_uuid(32) type c.
data:gt_zglt001 type table of zglt001 .
data:gw_zglt001 type zglt001.
if p_file is initial .
message s001(00) display like 'E' with '请选择上载文件'.
leave list-processing.
endif.
clear:gt_exc.
refresh lt_tab .
call function 'ZALSM_EXCEL_TO_INTERNAL_TABLE4'
exporting
filename = p_file
i_begin_col = 1 "列
i_begin_row = 2 "行
i_end_col = 60
i_end_row = 999999
tables
intern = gt_exc[]
exceptions
inconsistent_parameters = 1
upload_ole = 2
others = 3.
if gt_exc[] is initial.
call function 'POPUP_TO_CONFIRM_WITH_MESSAGE'
exporting
diagnosetext1 = 'No data in excel'
textline1 = 'No data in excel'
titel = 'Confirm'
importing
answer = gv_answer.
else.
clear lw_tab.
loop at gt_exc.
move gt_exc-col to gv_column.
assign component gv_column of structure lw_tab to <fs>.
move gt_exc-value to <fs>.
at end of row.
append lw_tab to lt_tab.
clear lw_tab.
endat.
endloop.
endif.
refresh:gt_zglt001.
move-corresponding lt_tab to gt_zglt001.
modify zglt001 from table gt_zglt001 .
if sy-subrc eq 0.
commit work .
message s003(zca) with '更新成功!'.
endif.
move-corresponding lt_tab to gt_tab .
endform.
*&---------------------------------------------------------------------*
*& Form FRM_SET_FACT
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
form frm_set_fact .
define fcatadd.
clear gw_fieldcat.
gw_fieldcat-fieldname = &1.
gw_fieldcat-tabname = &2.
gw_fieldcat-scrtext_l = &3.
gw_fieldcat-scrtext_m = &3.
gw_fieldcat-scrtext_s = &3.
gw_fieldcat-outputlen = &4.
gw_fieldcat-ref_field = &5.
gw_fieldcat-ref_table = &6.
* gw_fieldcat-just = 'C'."左中右对齐
gw_fieldcat-INTLEN = '40'."过滤框长度
"CHECKBOX 作为复选框
IF r3 eq 'X'.
IF &1 NE 'GLNO'.
gw_fieldcat-EDIT = 'X'."列编辑
ENDIF.
ENDIF.
if &1 eq 'ZTYP'."设置下拉框字段
gw_fieldcat-drdn_field = 'DD_HANDLE'.
endif.
IF r4 eq 'X'.
gw_fieldcat-EDIT = 'X'.
ENDIF.
IF R2 EQ 'X' AND &1 EQ 'GLNO'.
gw_fieldcat-EMPHASIZE = 'C511'."列颜色
ENDIF.
IF &1 eq 'MATNR'.
gw_fieldcat-HOTSPOT = 'MATNR'.
ENDIF.
append gw_fieldcat to gt_fieldcat.
end-of-definition.
fcatadd 'GLNO' 'GT_TAB' '公路单号' '15' '' ''.
fcatadd 'MATNR' 'GT_TAB' '物料代码' '18' 'MATNR' 'MAKT'.
fcatadd 'MAKTX' 'GT_TAB' '物料描述' '30' '' ''.
fcatadd 'MENGE' 'GT_TAB' '数量' '12' 'MENGE' 'EKPO'.
fcatadd 'BRGEW' 'GT_TAB' '毛重' '12' 'BRGEW' 'MARA'.
fcatadd 'ZTYP' 'GT_TAB' '车辆类型' '10' '' ''.
endform.
*&---------------------------------------------------------------------*
*& Form FRM_DISPALY_ALV
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
form frm_dispaly_alv .
data:ls_layout type lvc_s_layo.
ls_layout-box_fname = 'BOX'.
ls_layout-stylefname = 'FIELD_STYLE'."设置编辑状态
ls_layout-info_fname = 'LINECOLOR'.
ls_layout-ctab_fname = 'CELLCOLOR'.
perform creat_dropdown_values. "添加下来框值
perform fm_event_build . "***增加事件
call function 'REUSE_ALV_GRID_DISPLAY_LVC'
exporting
i_callback_program = sy-repid
* I_CALLBACK_TOP_OF_PAGE = 'FRM_TOP_OF_PAGE'
* I_CALLBACK_HTML_TOP_OF_PAGE = 'HTML_TOP_OF_PAGE'
* I_GRID_TITLE = I_GRID_TITLE
i_callback_user_command = 'USER_COMMAND'
i_callback_pf_status_set = 'F_SET_STATUS'
is_layout_lvc = ls_layout
it_fieldcat_lvc = gt_fieldcat
i_save = 'A'
it_events = gt_events
i_html_height_top = 24
tables
t_outtab = gt_tab
exceptions
program_error = 1
others = 2.
endform.
form f_set_status using p_extab type slis_t_extab.
data:lt_extab type slis_t_extab,
lw_extab like line of lt_extab.
if r1 eq 'X' or r2 eq 'X' .
lw_extab-fcode = 'SAVE'.
append lw_extab to lt_extab.
lw_extab-fcode = 'ADD'.
append lw_extab to lt_extab.
lw_extab-fcode = 'DEL'.
append lw_extab to lt_extab.
endif.
set pf-status 'ZGUI' excluding lt_extab.
endform.
form user_command using ucomm type syucomm selfield type slis_selfield.
data: lr_grid1 type ref to cl_gui_alv_grid .
data l_stylelin type lvc_s_styl.
data: lt_style type standard table of lvc_s_styl.
data:lt_zglt001 type table of gy_tab .
data:lt_zglt001_1 type table of zglt001 .
data:lt_zglt001_de type table of zglt001 .
data:lv_flag type c .
call function 'GET_GLOBALS_FROM_SLVC_FULLSCR'
importing
e_grid = lr_grid1.
"刷新
call method lr_grid1->check_changed_data.
selfield-refresh = 'X'.
case ucomm .
when '&IC1'."双击跳转事务码
read table gt_tab into gw_tab index selfield-tabindex.
if sy-subrc eq 0.
if gw_tab-matnr is not initial and selfield-fieldname = 'MATNR'.
set parameter id 'MAT' field gw_tab-matnr. "
call transaction 'MM03' and skip first screen.
endif.
endif.
when 'ADD'..
clear :gw_tab .
"编辑状态
refresh :lt_style.
l_stylelin-fieldname = 'GLNO' . " 需要编辑的列名
l_stylelin-style = cl_gui_alv_grid=>mc_style_enabled. " 设置为不可编辑状态
append l_stylelin to lt_style.
l_stylelin-fieldname = 'MATNR' . " 需要编辑的列名
l_stylelin-style = cl_gui_alv_grid=>mc_style_enabled. " 设置为不可编辑状态
append l_stylelin to lt_style.
l_stylelin-fieldname = 'MAKTX' . " 需要编辑的列名
l_stylelin-style = cl_gui_alv_grid=>mc_style_enabled. " 设置为不可编辑状态
append l_stylelin to lt_style.
l_stylelin-fieldname = 'MENGE' . " 需要编辑的列名
l_stylelin-style = cl_gui_alv_grid=>mc_style_enabled. " 设置为不可编辑状态
append l_stylelin to lt_style.
l_stylelin-fieldname = 'BRGEW' . " 需要编辑的列名
l_stylelin-style = cl_gui_alv_grid=>mc_style_enabled. " 设置为不可编辑状态
append l_stylelin to lt_style.
l_stylelin-fieldname = 'ZTYP' . " 需要编辑的列名
l_stylelin-style = cl_gui_alv_grid=>mc_style_enabled. " 设置为不可编辑状态
append l_stylelin to lt_style.
gw_tab-field_style = lt_style.
gw_tab-dd_handle = 1 .
append gw_tab to gt_tab .
when 'DEL' .
refresh:gt_tab_de .
move-corresponding gt_tab to gt_tab_de .
delete gt_tab where box eq 'X'.
delete gt_tab_de where box ne 'X'.
when 'SAVE' .
clear:lv_flag .
if gt_tab_de is not initial.
move-corresponding gt_tab_de to lt_zglt001_de .
delete zglt001 from table lt_zglt001_de .
if sy-subrc eq 0.
lv_flag = 'A'.
endif.
commit work.
endif.
refresh :lt_zglt001 .
move-corresponding gt_tab to lt_zglt001 .
loop at gt_tab assigning field-symbol(<gs_tab>) where box eq 'X'.
"编辑状态
refresh :lt_style.
l_stylelin-fieldname = 'GLNO' . " 需要编辑的列名
l_stylelin-style = cl_gui_alv_grid=>mc_style_disabled. " 设置为不可编辑状态
append l_stylelin to lt_style.
<gs_tab>-field_style = lt_style.
endloop.
delete lt_zglt001 where box eq ''.
if lt_zglt001 is not initial.
refresh:lt_zglt001_1 .
move-corresponding lt_zglt001 to lt_zglt001_1.
modify zglt001 from table lt_zglt001_1 .
if sy-subrc eq 0.
lv_flag = 'B'.
endif.
commit work.
endif.
if lv_flag = 'A'.
message s000(zmm) with '删除成功!'.
elseif lv_flag = 'B'.
message s000(zmm) with '更新成功!'.
else.
message s000(zmm) with '操作失败!' display like 'E'.
endif.
endcase.
endform .
*&---------------------------------------------------------------------*
*& Form FRM_HELP_SELFILE
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
form frm_help_selfile .
data: l_subrc type sy-subrc,
lt_ftbl type table of file_table,
lwa_ftbl type file_table.
clear: p_file.
call method cl_gui_frontend_services=>file_open_dialog
exporting
window_title = '请选择导入的文件'
default_extension = '*.XLSX*'
default_filename = '*.XLSX*'
file_filter = '*.XLSX*'
initial_directory = 'C:\'
multiselection = ''
changing
file_table = lt_ftbl
rc = l_subrc
exceptions
file_open_dialog_failed = 1
cntl_error = 2
error_no_gui = 3
not_supported_by_gui = 4
others = 5.
if sy-subrc = 0.
read table lt_ftbl into lwa_ftbl index 1.
p_file = lwa_ftbl-filename.
endif.
endform.
*&---------------------------------------------------------------------*
*& Form FM_EVENT_BUILD
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
form fm_event_build .
data lv_event like line of gt_events.
call function 'REUSE_ALV_EVENTS_GET'
exporting
i_list_type = 0
importing
et_events = gt_events
exceptions
list_type_wrong = 1
others = 2.
read table gt_events with key name = 'CALLER_EXIT' into lv_event .
if sy-subrc = 0 .
lv_event-form = 'FM_BUTTON' . "增加調用FORM事件執行類轉換(2)
append lv_event to gt_events .
endif.
endform.
form fm_button using e_grid type slis_data_caller_exit .
call function 'GET_GLOBALS_FROM_SLVC_FULLSCR'
importing
e_grid = gv_grid.
create object gv_event_receiver.
"事件注册
gv_grid->register_edit_event(
exporting
i_event_id = cl_gui_alv_grid=>mc_evt_modified ).
"事件绑定
set handler gv_event_receiver->handle_data_changed for gv_grid.
call method gv_grid->set_drop_down_table
exporting
it_drop_down = gt_ddval.
endform.
class lcl_event_receiver implementation.
"ALV 数据改变事件 检查报表数据改变
method handle_data_changed.
data: msg type char255 .
data: lt_line type lvc_t_modi .
lt_line = er_data_changed->mt_good_cells.
" ROW_ID
loop at lt_line into data(lw_line).
clear:gw_tab.
read table gt_tab into gw_tab index lw_line-row_id.
if sy-subrc eq 0.
if lw_line-fieldname eq 'MATNR'.
select single maktx into gw_tab-maktx from makt
where matnr eq lw_line-value and spras eq sy-langu .
endif.
modify gt_tab from gw_tab index lw_line-row_id transporting maktx .
endif.
endloop .
perform frm_fresh_alv using gv_grid. "刷新ALV显示
endmethod.
endclass.
form frm_fresh_alv using pc_grid type ref to cl_gui_alv_grid.
"固定刷新
data: ls_stable type lvc_s_stbl.
ls_stable-row = 'X'.
ls_stable-col = 'X'.
call method pc_grid->refresh_table_display
exporting
is_stable = ls_stable
i_soft_refresh = ''
exceptions
finished = 1
others = 2.
endform.
*&---------------------------------------------------------------------*
*& Form CREAT_DROPDOWN_VALUES
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
form creat_dropdown_values .
data l_count type i .
l_count = 1.
clear gw_ddval.
gw_ddval-handle = l_count.
gw_ddval-value = '1'.
append gw_ddval to gt_ddval.
gw_ddval-value = '2'.
append gw_ddval to gt_ddval.
gw_ddval-value = '3'.
append gw_ddval to gt_ddval.
gw_ddval-value = '4'.
append gw_ddval to gt_ddval.
gw_ddval-value = '5'.
append gw_ddval to gt_ddval.
clear gw_ddval.
gw_ddval-handle = l_count.
gw_ddval-value = ''.
append gw_ddval to gt_ddval.
loop at gt_tab assigning field-symbol(<gs_tab>) .
<gs_tab>-dd_handle = l_count.
endloop.
endform.
*&---------------------------------------------------------------------*
*& Form FRM_DOWNLOAD_FILE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_0022 text
* -->P_0023 text
*----------------------------------------------------------------------*
form frm_download_file using iv_objid type w3objid
iv_fname type string.
data: ls_filekey type wwwdatatab,
lt_mime type standard table of w3mime,
lt_param type standard table of wwwparams,
ls_param type wwwparams,
lv_filesize type i,
lv_code type i.
data: lv_filefilter type string,
lv_default_filename type string,
lv_filename type string,
lv_path type string,
lv_fullpath type string,
lv_user_action type i.
ls_filekey-relid = 'MI'.
ls_filekey-objid = iv_objid.
call function 'WWWDATA_IMPORT'
exporting
key = ls_filekey
tables
mime = lt_mime
exceptions
wrong_object_type = 1
import_error = 2
others = 3.
if sy-subrc <> 0.
* Implement suitable error handling here
endif.
select * from wwwparams
into corresponding fields of table lt_param
where relid = ls_filekey-relid
and objid = ls_filekey-objid.
read table lt_param into ls_param with key name = 'filesize'.
if sy-subrc eq 0.
lv_filesize = ls_param-value.
endif.
call method cl_gui_frontend_services=>file_save_dialog
exporting
default_file_name = iv_fname
changing
filename = lv_filename
path = lv_path
fullpath = lv_fullpath
user_action = lv_user_action
exceptions
cntl_error = 1
error_no_gui = 2
not_supported_by_gui = 3
invalid_default_file_name = 4
others = 5.
if sy-subrc <> 0.
* Implement suitable error handling here
endif.
if lv_user_action eq cl_gui_frontend_services=>action_ok.
call method cl_gui_frontend_services=>gui_download
exporting
bin_filesize = lv_filesize
filename = lv_fullpath
filetype = 'BIN'
changing
data_tab = lt_mime.
if sy-subrc <> 0.
* Implement suitable error handling here
endif.
endif.
endform. "FRM_DOWNLOAD_FILE
javascript实现获取中文汉字拼音首字母
今天分享一个日常开发中可能会用到的一个小功能,简单说就是输入中文汉字可转换得到中文汉字拼音首字母。当然我可写不出这样的功能,源码来自于其他民间大神的分享,博主在此记录一下功能demo,方便日后复用,同时方便需要此功能的各位。
如下输入名字张三。
点击按钮获取,得到中文拼音首字母
博主整理了一下代码可阅读性,下面直接上代码。
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
</head>
<body>
<input type="text" id="text">
<button onclick="makePy()">首字母获取</button><br>
<p id="text_value"></p>
<script type="text/javascript">
// 汉字拼音首字母列表 本列表包含了20902个汉字,用于配合 ToChineseSpell
//函数使用,本表收录的字符的Unicode编码范围为19968至40869, XDesigner 整理
var strChineseFirstPY = "YDYQSXMWZSSXJBYMGCCZQPSSQBYCDSCDQLDYLYBSSJGYZZJJFKCCLZDHWDWZJLJPFYYNWJJTMYHZWZHFLZPPQHGSCYYYNJQYXXGJHHSDSJNKKTMOMLCRXYPSNQSECCQZGGLLYJLMYZZSECYKYYHQWJSSGGYXYZYJWWKDJHYCHMYXJTLXJYQBYXZLDWRDJRWYSRLDZJPCBZJJBRCFTLECZSTZFXXZHTRQHYBDLYCZSSYMMRFMYQZPWWJJYFCRWFDFZQPYDDWYXKYJAWJFFXYPSFTZYHHYZYSWCJYXSCLCXXWZZXNBGNNXBXLZSZSBSGPYSYZDHMDZBQBZCWDZZYYTZHBTSYYBZGNTNXQYWQSKBPHHLXGYBFMJEBJHHGQTJCYSXSTKZHLYCKGLYSMZXYALMELDCCXGZYRJXSDLTYZCQKCNNJWHJTZZCQLJSTSTBNXBTYXCEQXGKWJYFLZQLYHYXSPSFXLMPBYSXXXYDJCZYLLLSJXFHJXPJBTFFYABYXBHZZBJYZLWLCZGGBTSSMDTJZXPTHYQTGLJSCQFZKJZJQNLZWLSLHDZBWJNCJZYZSQQYCQYRZCJJWYBRTWPYFTWEXCSKDZCTBZHYZZYYJXZCFFZZMJYXXSDZZOTTBZLQWFCKSZSXFYRLNYJMBDTHJXSQQCCSBXYYTSYFBXDZTGBCNSLCYZZPSAZYZZSCJCSHZQYDXLBPJLLMQXTYDZXSQJTZPXLCGLQTZWJBHCTSYJSFXYEJJTLBGXSXJMYJQQPFZASYJNTYDJXKJCDJSZCBARTDCLYJQMWNQNCLLLKBYBZZSYHQQLTWLCCXTXLLZNTYLNEWYZYXCZXXGRKRMTCNDNJTSYYSSDQDGHSDBJGHRWRQLYBGLXHLGTGXBQJDZPYJSJYJCTMRNYMGRZJCZGJMZMGXMPRYXKJNYMSGMZJYMKMFXMLDTGFBHCJHKYLPFMDXLQJJSMTQGZSJLQDLDGJYCALCMZCSDJLLNXDJFFFFJCZFMZFFPFKHKGDPSXKTACJDHHZDDCRRCFQYJKQCCWJDXHWJLYLLZGCFCQDSMLZPBJJPLSBCJGGDCKKDEZSQCCKJGCGKDJTJDLZYCXKLQSCGJCLTFPCQCZGWPJDQYZJJBYJHSJDZWGFSJGZKQCCZLLPSPKJGQJHZZLJPLGJGJJTHJJYJZCZMLZLYQBGJWMLJKXZDZNJQSYZMLJLLJKYWXMKJLHSKJGBMCLYYMKXJQLBMLLKMDXXKWYXYSLMLPSJQQJQXYXFJTJDXMXXLLCXQBSYJBGWYMBGGBCYXPJYGPEPFGDJGBHBNSQJYZJKJKHXQFGQZKFHYGKHDKLLSDJQXPQYKYBNQSXQNSZSWHBSXWHXWBZZXDMNSJBSBKBBZKLYLXGWXDRWYQZMYWSJQLCJXXJXKJEQXSCYETLZHLYYYSDZPAQYZCMTLSHTZCFYZYXYLJSDCJQAGYSLCQLYYYSHMRQQKLDXZSCSSSYDYCJYSFSJBFRSSZQSBXXPXJYSDRCKGJLGDKZJZBDKTCSYQPYHSTCLDJDHMXMCGXYZHJDDTMHLTXZXYLYMOHYJCLTYFBQQXPFBDFHHTKSQHZYYWCNXXCRWHOWGYJLEGWDQCWGFJYCSNTMYTOLBYGWQWESJPWNMLRYDZSZTXYQPZGCWXHNGPYXSHMYQJXZTDPPBFYHZHTJYFDZWKGKZBLDNTSXHQEEGZZYLZMMZYJZGXZXKHKSTXNXXWYLYAPSTHXDWHZYMPXAGKYDXBHNHXKDPJNMYHYLPMGOCSLNZHKXXLPZZLBMLSFBHHGYGYYGGBHSCYAQTYWLXTZQCEZYDQDQMMHTKLLSZHLSJZWFYHQSWSCWLQAZYNYTLSXTHAZNKZZSZZLAXXZWWCTGQQTDDYZTCCHYQZFLXPSLZYGPZSZNGLNDQTBDLXGTCTAJDKYWNSYZLJHHZZCWNYYZYWMHYCHHYXHJKZWSXHZYXLYSKQYSPSLYZWMYPPKBYGLKZHTYXAXQSYSHXASMCHKDSCRSWJPWXSGZJLWWSCHSJHSQNHCSEGNDAQTBAALZZMSSTDQJCJKTSCJAXPLGGXHHGXXZCXPDMMHLDGTYBYSJMXHMRCPXXJZCKZXSHMLQXXTTHXWZFKHCCZDYTCJYXQHLXDHYPJQXYLSYYDZOZJNYXQEZYSQYAYXWYPDGXDDXSPPYZNDLTWRHXYDXZZJHTCXMCZLHPYYYYMHZLLHNXMYLLLMDCPPXHMXDKYCYRDLTXJCHHZZXZLCCLYLNZSHZJZZLNNRLWHYQSNJHXYNTTTKYJPYCHHYEGKCTTWLGQRLGGTGTYGYHPYHYLQYQGCWYQKPYYYTTTTLHYHLLTYTTSPLKYZXGZWGPYDSSZZDQXSKCQNMJJZZBXYQMJRTFFBTKHZKBXLJJKDXJTLBWFZPPTKQTZTGPDGNTPJYFALQMKGXBDCLZFHZCLLLLADPMXDJHLCCLGYHDZFGYDDGCYYFGYDXKSSEBDHYKDKDKHNAXXYBPBYYHXZQGAFFQYJXDMLJCSQZLLPCHBSXGJYNDYBYQSPZWJLZKSDDTACTBXZDYZYPJZQSJNKKTKNJDJGYYPGTLFYQKASDNTCYHBLWDZHBBYDWJRYGKZYHEYYFJMSDTYFZJJHGCXPLXHLDWXXJKYTCYKSSSMTWCTTQZLPBSZDZWZXGZAGYKTYWXLHLSPBCLLOQMMZSSLCMBJCSZZKYDCZJGQQDSMCYTZQQLWZQZXSSFPTTFQMDDZDSHDTDWFHTDYZJYQJQKYPBDJYYXTLJHDRQXXXHAYDHRJLKLYTWHLLRLLRCXYLBWSRSZZSYMKZZHHKYHXKSMDSYDYCJPBZBSQLFCXXXNXKXWYWSDZYQOGGQMMYHCDZTTFJYYBGSTTTYBYKJDHKYXBELHTYPJQNFXFDYKZHQKZBYJTZBXHFDXKDASWTAWAJLDYJSFHBLDNNTNQJTJNCHXFJSRFWHZFMDRYJYJWZPDJKZYJYMPCYZNYNXFBYTFYFWYGDBNZZZDNYTXZEMMQBSQEHXFZMBMFLZZSRXYMJGSXWZJSPRYDJSJGXHJJGLJJYNZZJXHGXKYMLPYYYCXYTWQZSWHWLYRJLPXSLSXMFSWWKLCTNXNYNPSJSZHDZEPTXMYYWXYYSYWLXJQZQXZDCLEEELMCPJPCLWBXSQHFWWTFFJTNQJHJQDXHWLBYZNFJLALKYYJLDXHHYCSTYYWNRJYXYWTRMDRQHWQCMFJDYZMHMYYXJWMYZQZXTLMRSPWWCHAQBXYGZYPXYYRRCLMPYMGKSJSZYSRMYJSNXTPLNBAPPYPYLXYYZKYNLDZYJZCZNNLMZHHARQMPGWQTZMXXMLLHGDZXYHXKYXYCJMFFYYHJFSBSSQLXXNDYCANNMTCJCYPRRNYTYQNYYMBMSXNDLYLYSLJRLXYSXQMLLYZLZJJJKYZZCSFBZXXMSTBJGNXYZHLXNMCWSCYZYFZLXBRNNNYLBNRTGZQYSATSWRYHYJZMZDHZGZDWYBSSCSKXSYHYTXXGCQGXZZSHYXJSCRHMKKBXCZJYJYMKQHZJFNBHMQHYSNJNZYBKNQMCLGQHWLZNZSWXKHLJHYYBQLBFCDSXDLDSPFZPSKJYZWZXZDDXJSMMEGJSCSSMGCLXXKYYYLNYPWWWGYDKZJGGGZGGSYCKNJWNJPCXBJJTQTJWDSSPJXZXNZXUMELPXFSXTLLXCLJXJJLJZXCTPSWXLYDHLYQRWHSYCSQYYBYAYWJJJQFWQCQQCJQGXALDBZZYJGKGXPLTZYFXJLTPADKYQHPMATLCPDCKBMTXYBHKLENXDLEEGQDYMSAWHZMLJTWYGXLYQZLJEEYYBQQFFNLYXRDSCTGJGXYYNKLLYQKCCTLHJLQMKKZGCYYGLLLJDZGYDHZWXPYSJBZKDZGYZZHYWYFQYTYZSZYEZZLYMHJJHTSMQWYZLKYYWZCSRKQYTLTDXWCTYJKLWSQZWBDCQYNCJSRSZJLKCDCDTLZZZACQQZZDDXYPLXZBQJYLZLLLQDDZQJYJYJZYXNYYYNYJXKXDAZWYRDLJYYYRJLXLLDYXJCYWYWNQCCLDDNYYYNYCKCZHXXCCLGZQJGKWPPCQQJYSBZZXYJSQPXJPZBSBDSFNSFPZXHDWZTDWPPTFLZZBZDMYYPQJRSDZSQZSQXBDGCPZSWDWCSQZGMDHZXMWWFYBPDGPHTMJTHZSMMBGZMBZJCFZWFZBBZMQCFMBDMCJXLGPNJBBXGYHYYJGPTZGZMQBQTCGYXJXLWZKYDPDYMGCFTPFXYZTZXDZXTGKMTYBBCLBJASKYTSSQYYMSZXFJEWLXLLSZBQJJJAKLYLXLYCCTSXMCWFKKKBSXLLLLJYXTYLTJYYTDPJHNHNNKBYQNFQYYZBYYESSESSGDYHFHWTCJBSDZZTFDMXHCNJZYMQWSRYJDZJQPDQBBSTJGGFBKJBXTGQHNGWJXJGDLLTHZHHYYYYYYSXWTYYYCCBDBPYPZYCCZYJPZYWCBDLFWZCWJDXXHYHLHWZZXJTCZLCDPXUJCZZZLYXJJTXPHFXWPYWXZPTDZZBDZCYHJHMLXBQXSBYLRDTGJRRCTTTHYTCZWMXFYTWWZCWJWXJYWCSKYBZSCCTZQNHXNWXXKHKFHTSWOCCJYBCMPZZYKBNNZPBZHHZDLSYDDYTYFJPXYNGFXBYQXCBHXCPSXTYZDMKYSNXSXLHKMZXLYHDHKWHXXSSKQYHHCJYXGLHZXCSNHEKDTGZXQYPKDHEXTYKCNYMYYYPKQYYYKXZLTHJQTBYQHXBMYHSQCKWWYLLHCYYLNNEQXQWMCFBDCCMLJGGXDQKTLXKGNQCDGZJWYJJLYHHQTTTNWCHMXCXWHWSZJYDJCCDBQCDGDNYXZTHCQRXCBHZTQCBXWGQWYYBXHMBYMYQTYEXMQKYAQYRGYZSLFYKKQHYSSQYSHJGJCNXKZYCXSBXYXHYYLSTYCXQTHYSMGSCPMMGCCCCCMTZTASMGQZJHKLOSQYLSWTMXSYQKDZLJQQYPLSYCZTCQQPBBQJZCLPKHQZYYXXDTDDTSJCXFFLLCHQXMJLWCJCXTSPYCXNDTJSHJWXDQQJSKXYAMYLSJHMLALYKXCYYDMNMDQMXMCZNNCYBZKKYFLMCHCMLHXRCJJHSYLNMTJZGZGYWJXSRXCWJGJQHQZDQJDCJJZKJKGDZQGJJYJYLXZXXCDQHHHEYTMHLFSBDJSYYSHFYSTCZQLPBDRFRZTZYKYWHSZYQKWDQZRKMSYNBCRXQBJYFAZPZZEDZCJYWBCJWHYJBQSZYWRYSZPTDKZPFPBNZTKLQYHBBZPNPPTYZZYBQNYDCPJMMCYCQMCYFZZDCMNLFPBPLNGQJTBTTNJZPZBBZNJKLJQYLNBZQHKSJZNGGQSZZKYXSHPZSNBCGZKDDZQANZHJKDRTLZLSWJLJZLYWTJNDJZJHXYAYNCBGTZCSSQMNJPJYTYSWXZFKWJQTKHTZPLBHSNJZSYZBWZZZZLSYLSBJHDWWQPSLMMFBJDWAQYZTCJTBNNWZXQXCDSLQGDSDPDZHJTQQPSWLYYJZLGYXYZLCTCBJTKTYCZJTQKBSJLGMGZDMCSGPYNJZYQYYKNXRPWSZXMTNCSZZYXYBYHYZAXYWQCJTLLCKJJTJHGDXDXYQYZZBYWDLWQCGLZGJGQRQZCZSSBCRPCSKYDZNXJSQGXSSJMYDNSTZTPBDLTKZWXQWQTZEXNQCZGWEZKSSBYBRTSSSLCCGBPSZQSZLCCGLLLZXHZQTHCZMQGYZQZNMCOCSZJMMZSQPJYGQLJYJPPLDXRGZYXCCSXHSHGTZNLZWZKJCXTCFCJXLBMQBCZZWPQDNHXLJCTHYZLGYLNLSZZPCXDSCQQHJQKSXZPBAJYEMSMJTZDXLCJYRYYNWJBNGZZTMJXLTBSLYRZPYLSSCNXPHLLHYLLQQZQLXYMRSYCXZLMMCZLTZSDWTJJLLNZGGQXPFSKYGYGHBFZPDKMWGHCXMSGDXJMCJZDYCABXJDLNBCDQYGSKYDQTXDJJYXMSZQAZDZFSLQXYJSJZYLBTXXWXQQZBJZUFBBLYLWDSLJHXJYZJWTDJCZFQZQZZDZSXZZQLZCDZFJHYSPYMPQZMLPPLFFXJJNZZYLSJEYQZFPFZKSYWJJJHRDJZZXTXXGLGHYDXCSKYSWMMZCWYBAZBJKSHFHJCXMHFQHYXXYZFTSJYZFXYXPZLCHMZMBXHZZSXYFYMNCWDABAZLXKTCSHHXKXJJZJSTHYGXSXYYHHHJWXKZXSSBZZWHHHCWTZZZPJXSNXQQJGZYZYWLLCWXZFXXYXYHXMKYYSWSQMNLNAYCYSPMJKHWCQHYLAJJMZXHMMCNZHBHXCLXTJPLTXYJHDYYLTTXFSZHYXXSJBJYAYRSMXYPLCKDUYHLXRLNLLSTYZYYQYGYHHSCCSMZCTZQXKYQFPYYRPFFLKQUNTSZLLZMWWTCQQYZWTLLMLMPWMBZSSTZRBPDDTLQJJBXZCSRZQQYGWCSXFWZLXCCRSZDZMCYGGDZQSGTJSWLJMYMMZYHFBJDGYXCCPSHXNZCSBSJYJGJMPPWAFFYFNXHYZXZYLREMZGZCYZSSZDLLJCSQFNXZKPTXZGXJJGFMYYYSNBTYLBNLHPFZDCYFBMGQRRSSSZXYSGTZRNYDZZCDGPJAFJFZKNZBLCZSZPSGCYCJSZLMLRSZBZZLDLSLLYSXSQZQLYXZLSKKBRXBRBZCYCXZZZEEYFGKLZLYYHGZSGZLFJHGTGWKRAAJYZKZQTSSHJJXDCYZUYJLZYRZDQQHGJZXSSZBYKJPBFRTJXLLFQWJHYLQTYMBLPZDXTZYGBDHZZRBGXHWNJTJXLKSCFSMWLSDQYSJTXKZSCFWJLBXFTZLLJZLLQBLSQMQQCGCZFPBPHZCZJLPYYGGDTGWDCFCZQYYYQYSSCLXZSKLZZZGFFCQNWGLHQYZJJCZLQZZYJPJZZBPDCCMHJGXDQDGDLZQMFGPSYTSDYFWWDJZJYSXYYCZCYHZWPBYKXRYLYBHKJKSFXTZJMMCKHLLTNYYMSYXYZPYJQYCSYCWMTJJKQYRHLLQXPSGTLYYCLJSCPXJYZFNMLRGJJTYZBXYZMSJYJHHFZQMSYXRSZCWTLRTQZSSTKXGQKGSPTGCZNJSJCQCXHMXGGZTQYDJKZDLBZSXJLHYQGGGTHQSZPYHJHHGYYGKGGCWJZZYLCZLXQSFTGZSLLLMLJSKCTBLLZZSZMMNYTPZSXQHJCJYQXYZXZQZCPSHKZZYSXCDFGMWQRLLQXRFZTLYSTCTMJCXJJXHJNXTNRZTZFQYHQGLLGCXSZSJDJLJCYDSJTLNYXHSZXCGJZYQPYLFHDJSBPCCZHJJJQZJQDYBSSLLCMYTTMQTBHJQNNYGKYRQYQMZGCJKPDCGMYZHQLLSLLCLMHOLZGDYYFZSLJCQZLYLZQJESHNYLLJXGJXLYSYYYXNBZLJSSZCQQCJYLLZLTJYLLZLLBNYLGQCHXYYXOXCXQKYJXXXYKLXSXXYQXCYKQXQCSGYXXYQXYGYTQOHXHXPYXXXULCYEYCHZZCBWQBBWJQZSCSZSSLZYLKDESJZWMYMCYTSDSXXSCJPQQSQYLYYZYCMDJDZYWCBTJSYDJKCYDDJLBDJJSODZYSYXQQYXDHHGQQYQHDYXWGMMMAJDYBBBPPBCMUUPLJZSMTXERXJMHQNUTPJDCBSSMSSSTKJTSSMMTRCPLZSZMLQDSDMJMQPNQDXCFYNBFSDQXYXHYAYKQYDDLQYYYSSZBYDSLNTFQTZQPZMCHDHCZCWFDXTMYQSPHQYYXSRGJCWTJTZZQMGWJJTJHTQJBBHWZPXXHYQFXXQYWYYHYSCDYDHHQMNMTMWCPBSZPPZZGLMZFOLLCFWHMMSJZTTDHZZYFFYTZZGZYSKYJXQYJZQBHMBZZLYGHGFMSHPZFZSNCLPBQSNJXZSLXXFPMTYJYGBXLLDLXPZJYZJYHHZCYWHJYLSJEXFSZZYWXKZJLUYDTMLYMQJPWXYHXSKTQJEZRPXXZHHMHWQPWQLYJJQJJZSZCPHJLCHHNXJLQWZJHBMZYXBDHHYPZLHLHLGFWLCHYYTLHJXCJMSCPXSTKPNHQXSRTYXXTESYJCTLSSLSTDLLLWWYHDHRJZSFGXTSYCZYNYHTDHWJSLHTZDQDJZXXQHGYLTZPHCSQFCLNJTCLZPFSTPDYNYLGMJLLYCQHYSSHCHYLHQYQTMZYPBYWRFQYKQSYSLZDQJMPXYYSSRHZJNYWTQDFZBWWTWWRXCWHGYHXMKMYYYQMSMZHNGCEPMLQQMTCWCTMMPXJPJJHFXYYZSXZHTYBMSTSYJTTQQQYYLHYNPYQZLCYZHZWSMYLKFJXLWGXYPJYTYSYXYMZCKTTWLKSMZSYLMPWLZWXWQZSSAQSYXYRHSSNTSRAPXCPWCMGDXHXZDZYFJHGZTTSBJHGYZSZYSMYCLLLXBTYXHBBZJKSSDMALXHYCFYGMQYPJYCQXJLLLJGSLZGQLYCJCCZOTYXMTMTTLLWTGPXYMZMKLPSZZZXHKQYSXCTYJZYHXSHYXZKXLZWPSQPYHJWPJPWXQQYLXSDHMRSLZZYZWTTCYXYSZZSHBSCCSTPLWSSCJCHNLCGCHSSPHYLHFHHXJSXYLLNYLSZDHZXYLSXLWZYKCLDYAXZCMDDYSPJTQJZLNWQPSSSWCTSTSZLBLNXSMNYYMJQBQHRZWTYYDCHQLXKPZWBGQYBKFCMZWPZLLYYLSZYDWHXPSBCMLJBSCGBHXLQHYRLJXYSWXWXZSLDFHLSLYNJLZYFLYJYCDRJLFSYZFSLLCQYQFGJYHYXZLYLMSTDJCYHBZLLNWLXXYGYYHSMGDHXXHHLZZJZXCZZZCYQZFNGWPYLCPKPYYPMCLQKDGXZGGWQBDXZZKZFBXXLZXJTPJPTTBYTSZZDWSLCHZHSLTYXHQLHYXXXYYZYSWTXZKHLXZXZPYHGCHKCFSYHUTJRLXFJXPTZTWHPLYXFCRHXSHXKYXXYHZQDXQWULHYHMJTBFLKHTXCWHJFWJCFPQRYQXCYYYQYGRPYWSGSUNGWCHKZDXYFLXXHJJBYZWTSXXNCYJJYMSWZJQRMHXZWFQSYLZJZGBHYNSLBGTTCSYBYXXWXYHXYYXNSQYXMQYWRGYQLXBBZLJSYLPSYTJZYHYZAWLRORJMKSCZJXXXYXCHDYXRYXXJDTSQFXLYLTSFFYXLMTYJMJUYYYXLTZCSXQZQHZXLYYXZHDNBRXXXJCTYHLBRLMBRLLAXKYLLLJLYXXLYCRYLCJTGJCMTLZLLCYZZPZPCYAWHJJFYBDYYZSMPCKZDQYQPBPCJPDCYZMDPBCYYDYCNNPLMTMLRMFMMGWYZBSJGYGSMZQQQZTXMKQWGXLLPJGZBQCDJJJFPKJKCXBLJMSWMDTQJXLDLPPBXCWRCQFBFQJCZAHZGMYKPHYYHZYKNDKZMBPJYXPXYHLFPNYYGXJDBKXNXHJMZJXSTRSTLDXSKZYSYBZXJLXYSLBZYSLHXJPFXPQNBYLLJQKYGZMCYZZYMCCSLCLHZFWFWYXZMWSXTYNXJHPYYMCYSPMHYSMYDYSHQYZCHMJJMZCAAGCFJBBHPLYZYLXXSDJGXDHKXXTXXNBHRMLYJSLTXMRHNLXQJXYZLLYSWQGDLBJHDCGJYQYCMHWFMJYBMBYJYJWYMDPWHXQLDYGPDFXXBCGJSPCKRSSYZJMSLBZZJFLJJJLGXZGYXYXLSZQYXBEXYXHGCXBPLDYHWETTWWCJMBTXCHXYQXLLXFLYXLLJLSSFWDPZSMYJCLMWYTCZPCHQEKCQBWLCQYDPLQPPQZQFJQDJHYMMCXTXDRMJWRHXCJZYLQXDYYNHYYHRSLSRSYWWZJYMTLTLLGTQCJZYABTCKZCJYCCQLJZQXALMZYHYWLWDXZXQDLLQSHGPJFJLJHJABCQZDJGTKHSSTCYJLPSWZLXZXRWGLDLZRLZXTGSLLLLZLYXXWGDZYGBDPHZPBRLWSXQBPFDWOFMWHLYPCBJCCLDMBZPBZZLCYQXLDOMZBLZWPDWYYGDSTTHCSQSCCRSSSYSLFYBFNTYJSZDFNDPDHDZZMBBLSLCMYFFGTJJQWFTMTPJWFNLBZCMMJTGBDZLQLPYFHYYMJYLSDCHDZJWJCCTLJCLDTLJJCPDDSQDSSZYBNDBJLGGJZXSXNLYCYBJXQYCBYLZCFZPPGKCXZDZFZTJJFJSJXZBNZYJQTTYJYHTYCZHYMDJXTTMPXSPLZCDWSLSHXYPZGTFMLCJTYCBPMGDKWYCYZCDSZZYHFLYCTYGWHKJYYLSJCXGYWJCBLLCSNDDBTZBSCLYZCZZSSQDLLMQYYHFSLQLLXFTYHABXGWNYWYYPLLSDLDLLBJCYXJZMLHLJDXYYQYTDLLLBUGBFDFBBQJZZMDPJHGCLGMJJPGAEHHBWCQXAXHHHZCHXYPHJAXHLPHJPGPZJQCQZGJJZZUZDMQYYBZZPHYHYBWHAZYJHYKFGDPFQSDLZMLJXKXGALXZDAGLMDGXMWZQYXXDXXPFDMMSSYMPFMDMMKXKSYZYSHDZKXSYSMMZZZMSYDNZZCZXFPLSTMZDNMXCKJMZTYYMZMZZMSXHHDCZJEMXXKLJSTLWLSQLYJZLLZJSSDPPMHNLZJCZYHMXXHGZCJMDHXTKGRMXFWMCGMWKDTKSXQMMMFZZYDKMSCLCMPCGMHSPXQPZDSSLCXKYXTWLWJYAHZJGZQMCSNXYYMMPMLKJXMHLMLQMXCTKZMJQYSZJSYSZHSYJZJCDAJZYBSDQJZGWZQQXFKDMSDJLFWEHKZQKJPEYPZYSZCDWYJFFMZZYLTTDZZEFMZLBNPPLPLPEPSZALLTYLKCKQZKGENQLWAGYXYDPXLHSXQQWQCQXQCLHYXXMLYCCWLYMQYSKGCHLCJNSZKPYZKCQZQLJPDMDZHLASXLBYDWQLWDNBQCRYDDZTJYBKBWSZDXDTNPJDTCTQDFXQQMGNXECLTTBKPWSLCTYQLPWYZZKLPYGZCQQPLLKCCYLPQMZCZQCLJSLQZDJXLDDHPZQDLJJXZQDXYZQKZLJCYQDYJPPYPQYKJYRMPCBYMCXKLLZLLFQPYLLLMBSGLCYSSLRSYSQTMXYXZQZFDZUYSYZTFFMZZSMZQHZSSCCMLYXWTPZGXZJGZGSJSGKDDHTQGGZLLBJDZLCBCHYXYZHZFYWXYZYMSDBZZYJGTSMTFXQYXQSTDGSLNXDLRYZZLRYYLXQHTXSRTZNGZXBNQQZFMYKMZJBZYMKBPNLYZPBLMCNQYZZZSJZHJCTZKHYZZJRDYZHNPXGLFZTLKGJTCTSSYLLGZRZBBQZZKLPKLCZYSSUYXBJFPNJZZXCDWXZYJXZZDJJKGGRSRJKMSMZJLSJYWQSKYHQJSXPJZZZLSNSHRNYPZTWCHKLPSRZLZXYJQXQKYSJYCZTLQZYBBYBWZPQDWWYZCYTJCJXCKCWDKKZXSGKDZXWWYYJQYYTCYTDLLXWKCZKKLCCLZCQQDZLQLCSFQCHQHSFSMQZZLNBJJZBSJHTSZDYSJQJPDLZCDCWJKJZZLPYCGMZWDJJBSJQZSYZYHHXJPBJYDSSXDZNCGLQMBTSFSBPDZDLZNFGFJGFSMPXJQLMBLGQCYYXBQKDJJQYRFKZTJDHCZKLBSDZCFJTPLLJGXHYXZCSSZZXSTJYGKGCKGYOQXJPLZPBPGTGYJZGHZQZZLBJLSQFZGKQQJZGYCZBZQTLDXRJXBSXXPZXHYZYCLWDXJJHXMFDZPFZHQHQMQGKSLYHTYCGFRZGNQXCLPDLBZCSCZQLLJBLHBZCYPZZPPDYMZZSGYHCKCPZJGSLJLNSCDSLDLXBMSTLDDFJMKDJDHZLZXLSZQPQPGJLLYBDSZGQLBZLSLKYYHZTTNTJYQTZZPSZQZTLLJTYYLLQLLQYZQLBDZLSLYYZYMDFSZSNHLXZNCZQZPBWSKRFBSYZMTHBLGJPMCZZLSTLXSHTCSYZLZBLFEQHLXFLCJLYLJQCBZLZJHHSSTBRMHXZHJZCLXFNBGXGTQJCZTMSFZKJMSSNXLJKBHSJXNTNLZDNTLMSJXGZJYJCZXYJYJWRWWQNZTNFJSZPZSHZJFYRDJSFSZJZBJFZQZZHZLXFYSBZQLZSGYFTZDCSZXZJBQMSZKJRHYJZCKMJKHCHGTXKXQGLXPXFXTRTYLXJXHDTSJXHJZJXZWZLCQSBTXWXGXTXXHXFTSDKFJHZYJFJXRZSDLLLTQSQQZQWZXSYQTWGWBZCGZLLYZBCLMQQTZHZXZXLJFRMYZFLXYSQXXJKXRMQDZDMMYYBSQBHGZMWFWXGMXLZPYYTGZYCCDXYZXYWGSYJYZNBHPZJSQSYXSXRTFYZGRHZTXSZZTHCBFCLSYXZLZQMZLMPLMXZJXSFLBYZMYQHXJSXRXSQZZZSSLYFRCZJRCRXHHZXQYDYHXSJJHZCXZBTYNSYSXJBQLPXZQPYMLXZKYXLXCJLCYSXXZZLXDLLLJJYHZXGYJWKJRWYHCPSGNRZLFZWFZZNSXGXFLZSXZZZBFCSYJDBRJKRDHHGXJLJJTGXJXXSTJTJXLYXQFCSGSWMSBCTLQZZWLZZKXJMLTMJYHSDDBXGZHDLBMYJFRZFSGCLYJBPMLYSMSXLSZJQQHJZFXGFQFQBPXZGYYQXGZTCQWYLTLGWSGWHRLFSFGZJMGMGBGTJFSYZZGZYZAFLSSPMLPFLCWBJZCLJJMZLPJJLYMQDMYYYFBGYGYZMLYZDXQYXRQQQHSYYYQXYLJTYXFSFSLLGNQCYHYCWFHCCCFXPYLYPLLZYXXXXXKQHHXSHJZCFZSCZJXCPZWHHHHHAPYLQALPQAFYHXDYLUKMZQGGGDDESRNNZLTZGCHYPPYSQJJHCLLJTOLNJPZLJLHYMHEYDYDSQYCDDHGZUNDZCLZYZLLZNTNYZGSLHSLPJJBDGWXPCDUTJCKLKCLWKLLCASSTKZZDNQNTTLYYZSSYSSZZRYLJQKCQDHHCRXRZYDGRGCWCGZQFFFPPJFZYNAKRGYWYQPQXXFKJTSZZXSWZDDFBBXTBGTZKZNPZZPZXZPJSZBMQHKCYXYLDKLJNYPKYGHGDZJXXEAHPNZKZTZCMXCXMMJXNKSZQNMNLWBWWXJKYHCPSTMCSQTZJYXTPCTPDTNNPGLLLZSJLSPBLPLQHDTNJNLYYRSZFFJFQWDPHZDWMRZCCLODAXNSSNYZRESTYJWJYJDBCFXNMWTTBYLWSTSZGYBLJPXGLBOCLHPCBJLTMXZLJYLZXCLTPNCLCKXTPZJSWCYXSFYSZDKNTLBYJCYJLLSTGQCBXRYZXBXKLYLHZLQZLNZCXWJZLJZJNCJHXMNZZGJZZXTZJXYCYYCXXJYYXJJXSSSJSTSSTTPPGQTCSXWZDCSYFPTFBFHFBBLZJCLZZDBXGCXLQPXKFZFLSYLTUWBMQJHSZBMDDBCYSCCLDXYCDDQLYJJWMQLLCSGLJJSYFPYYCCYLTJANTJJPWYCMMGQYYSXDXQMZHSZXPFTWWZQSWQRFKJLZJQQYFBRXJHHFWJJZYQAZMYFRHCYYBYQWLPEXCCZSTYRLTTDMQLYKMBBGMYYJPRKZNPBSXYXBHYZDJDNGHPMFSGMWFZMFQMMBCMZZCJJLCNUXYQLMLRYGQZCYXZLWJGCJCGGMCJNFYZZJHYCPRRCMTZQZXHFQGTJXCCJEAQCRJYHPLQLSZDJRBCQHQDYRHYLYXJSYMHZYDWLDFRYHBPYDTSSCNWBXGLPZMLZZTQSSCPJMXXYCSJYTYCGHYCJWYRXXLFEMWJNMKLLSWTXHYYYNCMMCWJDQDJZGLLJWJRKHPZGGFLCCSCZMCBLTBHBQJXQDSPDJZZGKGLFQYWBZYZJLTSTDHQHCTCBCHFLQMPWDSHYYTQWCNZZJTLBYMBPDYYYXSQKXWYYFLXXNCWCXYPMAELYKKJMZZZBRXYYQJFLJPFHHHYTZZXSGQQMHSPGDZQWBWPJHZJDYSCQWZKTXXSQLZYYMYSDZGRXCKKUJLWPYSYSCSYZLRMLQSYLJXBCXTLWDQZPCYCYKPPPNSXFYZJJRCEMHSZMSXLXGLRWGCSTLRSXBZGBZGZTCPLUJLSLYLYMTXMTZPALZXPXJTJWTCYYZLBLXBZLQMYLXPGHDSLSSDMXMBDZZSXWHAMLCZCPJMCNHJYSNSYGCHSKQMZZQDLLKABLWJXSFMOCDXJRRLYQZKJMYBYQLYHETFJZFRFKSRYXFJTWDSXXSYSQJYSLYXWJHSNLXYYXHBHAWHHJZXWMYLJCSSLKYDZTXBZSYFDXGXZJKHSXXYBSSXDPYNZWRPTQZCZENYGCXQFJYKJBZMLJCMQQXUOXSLYXXLYLLJDZBTYMHPFSTTQQWLHOKYBLZZALZXQLHZWRRQHLSTMYPYXJJXMQSJFNBXYXYJXXYQYLTHYLQYFMLKLJTMLLHSZWKZHLJMLHLJKLJSTLQXYLMBHHLNLZXQJHXCFXXLHYHJJGBYZZKBXSCQDJQDSUJZYYHZHHMGSXCSYMXFEBCQWWRBPYYJQTYZCYQYQQZYHMWFFHGZFRJFCDPXNTQYZPDYKHJLFRZXPPXZDBBGZQSTLGDGYLCQMLCHHMFYWLZYXKJLYPQHSYWMQQGQZMLZJNSQXJQSYJYCBEHSXFSZPXZWFLLBCYYJDYTDTHWZSFJMQQYJLMQXXLLDTTKHHYBFPWTYYSQQWNQWLGWDEBZWCMYGCULKJXTMXMYJSXHYBRWFYMWFRXYQMXYSZTZZTFYKMLDHQDXWYYNLCRYJBLPSXCXYWLSPRRJWXHQYPHTYDNXHHMMYWYTZCSQMTSSCCDALWZTCPQPYJLLQZYJSWXMZZMMYLMXCLMXCZMXMZSQTZPPQQBLPGXQZHFLJJHYTJSRXWZXSCCDLXTYJDCQJXSLQYCLZXLZZXMXQRJMHRHZJBHMFLJLMLCLQNLDXZLLLPYPSYJYSXCQQDCMQJZZXHNPNXZMEKMXHYKYQLXSXTXJYYHWDCWDZHQYYBGYBCYSCFGPSJNZDYZZJZXRZRQJJYMCANYRJTLDPPYZBSTJKXXZYPFDWFGZZRPYMTNGXZQBYXNBUFNQKRJQZMJEGRZGYCLKXZDSKKNSXKCLJSPJYYZLQQJYBZSSQLLLKJXTBKTYLCCDDBLSPPFYLGYDTZJYQGGKQTTFZXBDKTYYHYBBFYTYYBCLPDYTGDHRYRNJSPTCSNYJQHKLLLZSLYDXXWBCJQSPXBPJZJCJDZFFXXBRMLAZHCSNDLBJDSZBLPRZTSWSBXBCLLXXLZDJZSJPYLYXXYFTFFFBHJJXGBYXJPMMMPSSJZJMTLYZJXSWXTYLEDQPJMYGQZJGDJLQJWJQLLSJGJGYGMSCLJJXDTYGJQJQJCJZCJGDZZSXQGSJGGCXHQXSNQLZZBXHSGZXCXYLJXYXYYDFQQJHJFXDHCTXJYRXYSQTJXYEFYYSSYYJXNCYZXFXMSYSZXYYSCHSHXZZZGZZZGFJDLTYLNPZGYJYZYYQZPBXQBDZTZCZYXXYHHSQXSHDHGQHJHGYWSZTMZMLHYXGEBTYLZKQWYTJZRCLEKYSTDBCYKQQSAYXCJXWWGSBHJYZYDHCSJKQCXSWXFLTYNYZPZCCZJQTZWJQDZZZQZLJJXLSBHPYXXPSXSHHEZTXFPTLQYZZXHYTXNCFZYYHXGNXMYWXTZSJPTHHGYMXMXQZXTSBCZYJYXXTYYZYPCQLMMSZMJZZLLZXGXZAAJZYXJMZXWDXZSXZDZXLEYJJZQBHZWZZZQTZPSXZTDSXJJJZNYAZPHXYYSRNQDTHZHYYKYJHDZXZLSWCLYBZYECWCYCRYLCXNHZYDZYDYJDFRJJHTRSQTXYXJRJHOJYNXELXSFSFJZGHPZSXZSZDZCQZBYYKLSGSJHCZSHDGQGXYZGXCHXZJWYQWGYHKSSEQZZNDZFKWYSSTCLZSTSYMCDHJXXYWEYXCZAYDMPXMDSXYBSQMJMZJMTZQLPJYQZCGQHXJHHLXXHLHDLDJQCLDWBSXFZZYYSCHTYTYYBHECXHYKGJPXHHYZJFXHWHBDZFYZBCAPNPGNYDMSXHMMMMAMYNBYJTMPXYYMCTHJBZYFCGTYHWPHFTWZZEZSBZEGPFMTSKFTYCMHFLLHGPZJXZJGZJYXZSBBQSCZZLZCCSTPGXMJSFTCCZJZDJXCYBZLFCJSYZFGSZLYBCWZZBYZDZYPSWYJZXZBDSYUXLZZBZFYGCZXBZHZFTPBGZGEJBSTGKDMFHYZZJHZLLZZGJQZLSFDJSSCBZGPDLFZFZSZYZYZSYGCXSNXXCHCZXTZZLJFZGQSQYXZJQDCCZTQCDXZJYQJQCHXZTDLGSCXZSYQJQTZWLQDQZTQCHQQJZYEZZZPBWKDJFCJPZTYPQYQTTYNLMBDKTJZPQZQZZFPZSBNJLGYJDXJDZZKZGQKXDLPZJTCJDQBXDJQJSTCKNXBXZMSLYJCQMTJQWWCJQNJNLLLHJCWQTBZQYDZCZPZZDZYDDCYZZZCCJTTJFZDPRRTZTJDCQTQZDTJNPLZBCLLCTZSXKJZQZPZLBZRBTJDCXFCZDBCCJJLTQQPLDCGZDBBZJCQDCJWYNLLZYZCCDWLLXWZLXRXNTQQCZXKQLSGDFQTDDGLRLAJJTKUYMKQLLTZYTDYYCZGJWYXDXFRSKSTQTENQMRKQZHHQKDLDAZFKYPBGGPZREBZZYKZZSPEGJXGYKQZZZSLYSYYYZWFQZYLZZLZHWCHKYPQGNPGBLPLRRJYXCCSYYHSFZFYBZYYTGZXYLXCZWXXZJZBLFFLGSKHYJZEYJHLPLLLLCZGXDRZELRHGKLZZYHZLYQSZZJZQLJZFLNBHGWLCZCFJYSPYXZLZLXGCCPZBLLCYBBBBUBBCBPCRNNZCZYRBFSRLDCGQYYQXYGMQZWTZYTYJXYFWTEHZZJYWLCCNTZYJJZDEDPZDZTSYQJHDYMBJNYJZLXTSSTPHNDJXXBYXQTZQDDTJTDYYTGWSCSZQFLSHLGLBCZPHDLYZJYCKWTYTYLBNYTSDSYCCTYSZYYEBHEXHQDTWNYGYCLXTSZYSTQMYGZAZCCSZZDSLZCLZRQXYYELJSBYMXSXZTEMBBLLYYLLYTDQYSHYMRQWKFKBFXNXSBYCHXBWJYHTQBPBSBWDZYLKGZSKYHXQZJXHXJXGNLJKZLYYCDXLFYFGHLJGJYBXQLYBXQPQGZTZPLNCYPXDJYQYDYMRBESJYYHKXXSTMXRCZZYWXYQYBMCLLYZHQYZWQXDBXBZWZMSLPDMYSKFMZKLZCYQYCZLQXFZZYDQZPZYGYJYZMZXDZFYFYTTQTZHGSPCZMLCCYTZXJCYTJMKSLPZHYSNZLLYTPZCTZZCKTXDHXXTQCYFKSMQCCYYAZHTJPCYLZLYJBJXTPNYLJYYNRXSYLMMNXJSMYBCSYSYLZYLXJJQYLDZLPQBFZZBLFNDXQKCZFYWHGQMRDSXYCYTXNQQJZYYPFZXDYZFPRXEJDGYQBXRCNFYYQPGHYJDYZXGRHTKYLNWDZNTSMPKLBTHBPYSZBZTJZSZZJTYYXZPHSSZZBZCZPTQFZMYFLYPYBBJQXZMXXDJMTSYSKKBJZXHJCKLPSMKYJZCXTMLJYXRZZQSLXXQPYZXMKYXXXJCLJPRMYYGADYSKQLSNDHYZKQXZYZTCGHZTLMLWZYBWSYCTBHJHJFCWZTXWYTKZLXQSHLYJZJXTMPLPYCGLTBZZTLZJCYJGDTCLKLPLLQPJMZPAPXYZLKKTKDZCZZBNZDYDYQZJYJGMCTXLTGXSZLMLHBGLKFWNWZHDXUHLFMKYSLGXDTWWFRJEJZTZHYDXYKSHWFZCQSHKTMQQHTZHYMJDJSKHXZJZBZZXYMPAGQMSTPXLSKLZYNWRTSQLSZBPSPSGZWYHTLKSSSWHZZLYYTNXJGMJSZSUFWNLSOZTXGXLSAMMLBWLDSZYLAKQCQCTMYCFJBSLXCLZZCLXXKSBZQCLHJPSQPLSXXCKSLNHPSFQQYTXYJZLQLDXZQJZDYYDJNZPTUZDSKJFSLJHYLZSQZLBTXYDGTQFDBYAZXDZHZJNHHQBYKNXJJQCZMLLJZKSPLDYCLBBLXKLELXJLBQYCXJXGCNLCQPLZLZYJTZLJGYZDZPLTQCSXFDMNYCXGBTJDCZNBGBQYQJWGKFHTNPYQZQGBKPBBYZMTJDYTBLSQMPSXTBNPDXKLEMYYCJYNZCTLDYKZZXDDXHQSHDGMZSJYCCTAYRZLPYLTLKXSLZCGGEXCLFXLKJRTLQJAQZNCMBYDKKCXGLCZJZXJHPTDJJMZQYKQSECQZDSHHADMLZFMMZBGNTJNNLGBYJBRBTMLBYJDZXLCJLPLDLPCQDHLXZLYCBLCXZZJADJLNZMMSSSMYBHBSQKBHRSXXJMXSDZNZPXLGBRHWGGFCXGMSKLLTSJYYCQLTSKYWYYHYWXBXQYWPYWYKQLSQPTNTKHQCWDQKTWPXXHCPTHTWUMSSYHBWCRWXHJMKMZNGWTMLKFGHKJYLSYYCXWHYECLQHKQHTTQKHFZLDXQWYZYYDESBPKYRZPJFYYZJCEQDZZDLATZBBFJLLCXDLMJSSXEGYGSJQXCWBXSSZPDYZCXDNYXPPZYDLYJCZPLTXLSXYZYRXCYYYDYLWWNZSAHJSYQYHGYWWAXTJZDAXYSRLTDPSSYYFNEJDXYZHLXLLLZQZSJNYQYQQXYJGHZGZCYJCHZLYCDSHWSHJZYJXCLLNXZJJYYXNFXMWFPYLCYLLABWDDHWDXJMCXZTZPMLQZHSFHZYNZTLLDYWLSLXHYMMYLMBWWKYXYADTXYLLDJPYBPWUXJMWMLLSAFDLLYFLBHHHBQQLTZJCQJLDJTFFKMMMBYTHYGDCQRDDWRQJXNBYSNWZDBYYTBJHPYBYTTJXAAHGQDQTMYSTQXKBTZPKJLZRBEQQSSMJJBDJOTGTBXPGBKTLHQXJJJCTHXQDWJLWRFWQGWSHCKRYSWGFTGYGBXSDWDWRFHWYTJJXXXJYZYSLPYYYPAYXHYDQKXSHXYXGSKQHYWFDDDPPLCJLQQEEWXKSYYKDYPLTJTHKJLTCYYHHJTTPLTZZCDLTHQKZXQYSTEEYWYYZYXXYYSTTJKLLPZMCYHQGXYHSRMBXPLLNQYDQHXSXXWGDQBSHYLLPJJJTHYJKYPPTHYYKTYEZYENMDSHLCRPQFDGFXZPSFTLJXXJBSWYYSKSFLXLPPLBBBLBSFXFYZBSJSSYLPBBFFFFSSCJDSTZSXZRYYSYFFSYZYZBJTBCTSBSDHRTJJBYTCXYJEYLXCBNEBJDSYXYKGSJZBXBYTFZWGENYHHTHZHHXFWGCSTBGXKLSXYWMTMBYXJSTZSCDYQRCYTWXZFHMYMCXLZNSDJTTTXRYCFYJSBSDYERXJLJXBBDEYNJGHXGCKGSCYMBLXJMSZNSKGXFBNBPTHFJAAFXYXFPXMYPQDTZCXZZPXRSYWZDLYBBKTYQPQJPZYPZJZNJPZJLZZFYSBTTSLMPTZRTDXQSJEHBZYLZDHLJSQMLHTXTJECXSLZZSPKTLZKQQYFSYGYWPCPQFHQHYTQXZKRSGTTSQCZLPTXCDYYZXSQZSLXLZMYCPCQBZYXHBSXLZDLTCDXTYLZJYYZPZYZLTXJSJXHLPMYTXCQRBLZSSFJZZTNJYTXMYJHLHPPLCYXQJQQKZZSCPZKSWALQSBLCCZJSXGWWWYGYKTJBBZTDKHXHKGTGPBKQYSLPXPJCKBMLLXDZSTBKLGGQKQLSBKKTFXRMDKBFTPZFRTBBRFERQGXYJPZSSTLBZTPSZQZSJDHLJQLZBPMSMMSXLQQNHKNBLRDDNXXDHDDJCYYGYLXGZLXSYGMQQGKHBPMXYXLYTQWLWGCPBMQXCYZYDRJBHTDJYHQSHTMJSBYPLWHLZFFNYPMHXXHPLTBQPFBJWQDBYGPNZTPFZJGSDDTQSHZEAWZZYLLTYYBWJKXXGHLFKXDJTMSZSQYNZGGSWQSPHTLSSKMCLZXYSZQZXNCJDQGZDLFNYKLJCJLLZLMZZNHYDSSHTHZZLZZBBHQZWWYCRZHLYQQJBEYFXXXWHSRXWQHWPSLMSSKZTTYGYQQWRSLALHMJTQJSMXQBJJZJXZYZKXBYQXBJXSHZTSFJLXMXZXFGHKZSZGGYLCLSARJYHSLLLMZXELGLXYDJYTLFBHBPNLYZFBBHPTGJKWETZHKJJXZXXGLLJLSTGSHJJYQLQZFKCGNNDJSSZFDBCTWWSEQFHQJBSAQTGYPQLBXBMMYWXGSLZHGLZGQYFLZBYFZJFRYSFMBYZHQGFWZSYFYJJPHZBYYZFFWODGRLMFTWLBZGYCQXCDJYGZYYYYTYTYDWEGAZYHXJLZYYHLRMGRXXZCLHNELJJTJTPWJYBJJBXJJTJTEEKHWSLJPLPSFYZPQQBDLQJJTYYQLYZKDKSQJYYQZLDQTGJQYZJSUCMRYQTHTEJMFCTYHYPKMHYZWJDQFHYYXWSHCTXRLJHQXHCCYYYJLTKTTYTMXGTCJTZAYYOCZLYLBSZYWJYTSJYHBYSHFJLYGJXXTMZYYLTXXYPZLXYJZYZYYPNHMYMDYYLBLHLSYYQQLLNJJYMSOYQBZGDLYXYLCQYXTSZEGXHZGLHWBLJHEYXTWQMAKBPQCGYSHHEGQCMWYYWLJYJHYYZLLJJYLHZYHMGSLJLJXCJJYCLYCJPCPZJZJMMYLCQLNQLJQJSXYJMLSZLJQLYCMMHCFMMFPQQMFYLQMCFFQMMMMHMZNFHHJGTTHHKHSLNCHHYQDXTMMQDCYZYXYQMYQYLTDCYYYZAZZCYMZYDLZFFFMMYCQZWZZMABTBYZTDMNZZGGDFTYPCGQYTTSSFFWFDTZQSSYSTWXJHXYTSXXYLBYQHWWKXHZXWZNNZZJZJJQJCCCHYYXBZXZCYZTLLCQXYNJYCYYCYNZZQYYYEWYCZDCJYCCHYJLBTZYYCQWMPWPYMLGKDLDLGKQQBGYCHJXY";
//此处收录了375个多音字,数据来自于http://www.51window.net/page/pinyin
var oMultiDiff = {"19969":"DZ", "19975":"WM", "19988":"QJ", "20048":"YL", "20056":"SC", "20060":"NM", "20094":"QG", "20127":"QJ", "20167":"QC", "20193":"YG", "20250":"KH", "20256":"ZC", "20282":"SC", "20285":"QJG", "20291":"TD", "20314":"YD", "20340":"NE", "20375":"TD", "20389":"YJ", "20391":"CZ", "20415":"PB", "20446":"YS", "20447":"SQ", "20504":"TC", "20608":"KG", "20854":"QJ", "20857":"ZC", "20911":"PF", "20504":"TC", "20608":"KG", "20854":"QJ", "20857":"ZC", "20911":"PF", "20985":"AW", "21032":"PB", "21048":"XQ", "21049":"SC", "21089":"YS", "21119":"JC", "21242":"SB", "21273":"SC", "21305":"YP", "21306":"QO", "21330":"ZC", "21333":"SDC", "21345":"QK", "21378":"CA", "21397":"SC", "21414":"XS", "21442":"SC", "21477":"JG", "21480":"TD", "21484":"ZS", "21494":"YX", "21505":"YX", "21512":"HG", "21523":"XH", "21537":"PB", "21542":"PF", "21549":"KH", "21571":"E", "21574":"DA", "21588":"TD", "21589":"O", "21618":"ZC", "21621":"KHA", "21632":"ZJ", "21654":"KG", "21679":"LKG", "21683":"KH", "21710":"A", "21719":"YH", "21734":"WOE", "21769":"A", "21780":"WN", "21804":"XH", "21834":"A", "21899":"ZD", "21903":"RN", "21908":"WO", "21939":"ZC", "21956":"SA", "21964":"YA", "21970":"TD", "22003":"A", "22031":"JG", "22040":"XS", "22060":"ZC", "22066":"ZC", "22079":"MH", "22129":"XJ", "22179":"XA", "22237":"NJ", "22244":"TD", "22280":"JQ", "22300":"YH", "22313":"XW", "22331":"YQ", "22343":"YJ", "22351":"PH", "22395":"DC", "22412":"TD", "22484":"PB", "22500":"PB", "22534":"ZD", "22549":"DH", "22561":"PB", "22612":"TD", "22771":"KQ", "22831":"HB", "22841":"JG", "22855":"QJ", "22865":"XQ", "23013":"ML", "23081":"WM", "23487":"SX", "23558":"QJ", "23561":"YW", "23586":"YW", "23614":"YW", "23615":"SN", "23631":"PB", "23646":"ZS", "23663":"ZT", "23673":"YG", "23762":"TD", "23769":"ZS", "23780":"QJ", "23884":"QK", "24055":"XH", "24113":"DC", "24162":"ZC", "24191":"GA", "24273":"QJ", "24324":"NL", "24377":"TD", "24378":"QJ", "24439":"PF", "24554":"ZS", "24683":"TD", "24694":"WE", "24733":"LK", "24925":"TN", "25094":"ZG", "25100":"XQ", "25103":"XH", "25153":"PB", "25170":"PB", "25179":"KG", "25203":"PB", "25240":"ZS", "25282":"FB", "25303":"NA", "25324":"KG", "25341":"ZY", "25373":"WZ", "25375":"XJ", "25384":"A", "25457":"A", "25528":"SD", "25530":"SC", "25552":"TD", "25774":"ZC", "25874":"ZC", "26044":"YW", "26080":"WM", "26292":"PB", "26333":"PB", "26355":"ZY", "26366":"CZ", "26397":"ZC", "26399":"QJ", "26415":"ZS", "26451":"SB", "26526":"ZC", "26552":"JG", "26561":"TD", "26588":"JG", "26597":"CZ", "26629":"ZS", "26638":"YL", "26646":"XQ", "26653":"KG", "26657":"XJ", "26727":"HG", "26894":"ZC", "26937":"ZS", "26946":"ZC", "26999":"KJ", "27099":"KJ", "27449":"YQ", "27481":"XS", "27542":"ZS", "27663":"ZS", "27748":"TS", "27784":"SC", "27788":"ZD", "27795":"TD", "27812":"O", "27850":"PB", "27852":"MB", "27895":"SL", "27898":"PL", "27973":"QJ", "27981":"KH", "27986":"HX", "27994":"XJ", "28044":"YC", "28065":"WG", "28177":"SM", "28267":"QJ", "28291":"KH", "28337":"ZQ", "28463":"TL", "28548":"DC", "28601":"TD", "28689":"PB", "28805":"JG", "28820":"QG", "28846":"PB", "28952":"TD", "28975":"ZC", "29100":"A", "29325":"QJ", "29575":"SL", "29602":"FB", "30010":"TD", "30044":"CX", "30058":"PF", "30091":"YSP", "30111":"YN", "30229":"XJ", "30427":"SC", "30465":"SX", "30631":"YQ", "30655":"QJ", "30684":"QJG", "30707":"SD", "30729":"XH", "30796":"LG", "30917":"PB", "31074":"NM", "31085":"JZ", "31109":"SC", "31181":"ZC", "31192":"MLB", "31293":"JQ", "31400":"YX", "31584":"YJ", "31896":"ZN", "31909":"ZY", "31995":"XJ", "32321":"PF", "32327":"ZY", "32418":"HG", "32420":"XQ", "32421":"HG", "32438":"LG", "32473":"GJ", "32488":"TD", "32521":"QJ", "32527":"PB", "32562":"ZSQ", "32564":"JZ", "32735":"ZD", "32793":"PB", "33071":"PF", "33098":"XL", "33100":"YA", "33152":"PB", "33261":"CX", "33324":"BP", "33333":"TD", "33406":"YA", "33426":"WM", "33432":"PB", "33445":"JG", "33486":"ZN", "33493":"TS", "33507":"QJ", "33540":"QJ", "33544":"ZC", "33564":"XQ", "33617":"YT", "33632":"QJ", "33636":"XH", "33637":"YX", "33694":"WG", "33705":"PF", "33728":"YW", "33882":"SR", "34067":"WM", "34074":"YW", "34121":"QJ", "34255":"ZC", "34259":"XL", "34425":"JH", "34430":"XH", "34485":"KH", "34503":"YS", "34532":"HG", "34552":"XS", "34558":"YE", "34593":"ZL", "34660":"YQ", "34892":"XH", "34928":"SC", "34999":"QJ", "35048":"PB", "35059":"SC", "35098":"ZC", "35203":"TQ", "35265":"JX", "35299":"JX", "35782":"SZ", "35828":"YS", "35830":"E", "35843":"TD", "35895":"YG", "35977":"MH", "36158":"JG", "36228":"QJ", "36426":"XQ", "36466":"DC", "36710":"JC", "36711":"ZYG", "36767":"PB", "36866":"SK", "36951":"YW", "37034":"YX", "37063":"XH", "37218":"ZC", "37325":"ZC", "38063":"PB", "38079":"TD", "38085":"QY", "38107":"DC", "38116":"TD", "38123":"YD", "38224":"HG", "38241":"XTC", "38271":"ZC", "38415":"YE", "38426":"KH", "38461":"YD", "38463":"AE", "38466":"PB", "38477":"XJ", "38518":"YT", "38551":"WK", "38585":"ZC", "38704":"XS", "38739":"LJ", "38761":"GJ", "38808":"SQ", "39048":"JG", "39049":"XJ", "39052":"HG", "39076":"CZ", "39271":"XT", "39534":"TD", "39552":"TD", "39584":"PB", "39647":"SB", "39730":"LG", "39748":"TPB", "40109":"ZQ", "40479":"ND", "40516":"HG", "40536":"HG", "40583":"QJ", "40765":"YQ", "40784":"QJ", "40840":"YK", "40863":"QJG"};
//参数,中文字符串
//返回值:拼音首字母串数组
function makePy() {
var str = document.getElementById("text").value;
if (typeof (str) != "string") {
throw new Error(-1, "\u51fd\u6570makePy\u9700\u8981\u5b57\u7b26\u4e32\u7c7b\u578b\u53c2\u6570!");
}
var arrResult = new Array(); //保存中间结果的数组
for (var i = 0, len = str.length; i < len; i++) {
//获得unicode码
var ch = str.charAt(i);
//检查该unicode码是否在处理范围之内,在则返回该码对映汉字的拼音首字母,不在则调用其它函数处理
arrResult.push(checkCh(ch));
}
//处理arrResult,返回所有可能的拼音首字母串数组
document.getElementById("text_value").innerHTML = mkRslt(arrResult)
return mkRslt(arrResult);
}
function checkCh(ch) {
var uni = ch.charCodeAt(0);
//如果不在汉字处理范围之内,返回原字符,也可以调用自己的处理函数
if (uni > 40869 || uni < 19968) {
return ch;
} //dealWithOthers(ch);
//检查是否是多音字,是按多音字处理,不是就直接在strChineseFirstPY字符串中找对应的首字母
return (oMultiDiff[uni] ? oMultiDiff[uni] : (strChineseFirstPY.charAt(uni - 19968)));
}
function mkRslt(arr) {
var arrRslt = [""];
for (var i = 0, len = arr.length; i < len; i++) {
var str = arr[i];
var strlen = str.length;
if (strlen == 1) {
for (var k = 0; k < arrRslt.length; k++) {
arrRslt[k] += str;
console.log(str)
}
} else {
var tmpArr = arrRslt.slice(0);
arrRslt = [];
for (k = 0; k < strlen; k++) {
//复制一个相同的arrRslt
var tmp = tmpArr.slice(0);
//把当前字符str[k]添加到每个元素末尾
for (var j = 0; j < tmp.length; j++) {
tmp[j] += str.charAt(k);
}
//把复制并修改后的数组连接到arrRslt上
arrRslt = arrRslt.concat(tmp);
}
}
}
return arrRslt;
}
// //两端去空格函数
// String.prototype.trim = function () {
// return this.replace(/(^\s*)|(\s*$)/g, "");
// };
</script>
</body>
</html>
原文链接:https://blog.csdn.net/ZXW_Future/article/details/89048811
相关问答
lw在电路是什么意思的缩写?
LW是声功率级,也被称作电机的总噪声等级,其单位是:dB。LW声功率级是声功率与基准声功率之比的以10为底的对数乘以10。基准声功率必须指明。其数字表示式为Lw=...
一拖中央空调价格大概多少?-一起装修网
[回答]考如下:1、Gree/格力FGR5/C2匹一拖一家用风管机空调参考价:56002、Gree/格力中央空调家用变频star一拖五四三GMV-H...Gree...
请问伊莱克斯空调型号的字母都是什么意思?-一起装修网
[回答]名义制冷量:用阿拉伯数字表示,其值取制冷量的前两位数。(5)室内机组结构分类为吊顶式、挂壁式、落地式、天井式、嵌入式等,其代号分别为D、...
已收到对方发送的邮件,但是发件人却收到一封未送达的邮件-...
[回答]ChrisXia(chris.xia),您好:欢迎访问MicrosoftCommunity,很高兴能够为您提供帮助。根据您的描述,我们得知您邮箱接收到邮件,但寄件人收到退信信息...
酷狗肿么改歌曲信息-ZOL问答
长虹空调KFR-32GW/DMY(W1)610浏览5回答长虹空调KFR-50LW/DHF(W1-H)1质量怎么样179浏览4回答长虹空调KFR-72L...
java中关键字和保留字分别是什么意思-猪锄锄的回答-懂得
它们在Java现有版本中没有特殊含义,以后版本可能会作为有特殊含义的词,或者该词虽然在Java中没有特殊含义,以后版本也不打算使用,但在其...http://...
1.5匹空调规格型号及技术参数?
标称1,5匹空调的规格型号有三种,其制冷量均为3600w,制热量约3700w,有Kfr-36W,Kfr-36gw,Kfr-36lW。Kfr-36多为二级能效空调,输入功率约1000w,电辅热350w。...
海信空调型号字母代表什么意思?
(1)、K—房间空调器;(2)、结构形式:F—分体式房间空调器;C—窗式房间空调器;Q-代表嵌入式空调;Y-代表移动式空调;T-代表天井式空调;(3)、功能代号(单...(1)...
空调型号代码是什么含义?-?朦朦carina的回答-懂得
型号意义空调分类号结构分类代号整体式:窗机C落地式L分体式F分体式的室内机组:吊顶式D壁挂式G嵌入式Q台式T分体式的室外机组:W功能分类代号热泵式R...
酷狗怎么修改ID和帐户,用户名我自己会修改。-ZOL问答
长虹空调KFR-50LW/DHZ(W1/H)+1的空气过滤器怎么拆卸3003浏览5回答长虹空调KFR-32GW/DMY(W1)610浏览5...