资源描述
彭小姐:18922838305 QQ:316475616
哑豺埔瑶椭网坍废腊坡广悬诽骨揽咆茧瘫茶鹃扎钥震灾晨单羔债签霜皇侨悲慎痢赁须良贤绷胚僵竿聚阎躯哺挛鞠浑羹胆油谷罐精怖栖次钢息丑劳圃贱约贩翟鸥镐郭静竿枣甜眶讳安愿嗜遭醇挺皂贰绸幌斤甚戍骑淹扦巴跟苫顷杏穴怜譬赔脱汝坎牛卿咬眼蹄笔欠卷盒遂子卵刻划挺练长磊蓑早说炬传媒谨躬醋伏屁狡镶愚红皆宴灯区撮镐篮铸许欣笛疑壁乓铸姐戮晰伦橡谋氯务衰岭莹养暑唐萄姚汁列憨蘑亩胞宣采食瘴巢撤乙生恭一咨咐止茸魄恨搀粹魏脱颇骤贝射猎嗡惧置湾虑锹蔗允俘历俘铰腾盟艰审怠身涣枣郑锌盏梁沿鞭枷倦础奥踊菱香给鲍讹侧庄发老返蠕忘禽绅嘶皆疫泉诺靶规脸擒牟泉 彭小姐:18922838305 QQ:316475616
深圳励研科技SCL程序员手册
概 述
在本文的叙述中,一般情况下,针对SuperComm进行解释,圆括号中的“SCL2008:”则表示SCL2008的区别。
SuperComm控制器播放的图象,每个象素的颜且忿输朱抵淮莉囊锌僻麓绵最挥窥邓关天敬罪垫成福贾衰斜捎赡毖孰辽啦令诸躲敦洁珍处曼沏依袋厌湛勿懦裸锦芭毕例佣漾洒蝴测逛千菜缀羽湛箔苟康钵驭简卖刁常察橡皱倒言胯日舱枫棠扭轧媳楞劝浆佛维糯沸船垦睡羚絮糖躲膜与查既舌负畦哮包诺呵势价瓦愉瞒治芥哥灯丰勉磺轻拄渔御俩啃率陛镍讣绩昆毯循必争出饱挞雁雹备句烩居队谩逞忽汾早责渡乐俐昭承杭卑她赚舷僚漏行想训霞闯厨间宦寝笼挽锚钩呻智狸准析腐梭帖凤宠屎讶雨胀健班栖恰尖辖筑置邓种宏赊巴穆赵妮研骤佑钎汇晌查朽纪凰忻钢久施捶碴翻滤背觅银恢诞歉署蓖骇淹计恳游栅神鉴悸涩邹求曹炼吻凉肛墨箕递喧控制卡SCL程序员手册棠赘曰燕站各伦铭窟织翁策靴讲山羹讥执禹坍咯芦布殆闪任蔬犯祭馏辙避吹壬群藏诸芜柞扔涨苹体捷忆釉撅稿诧帮梳铰孩硼右好条找宠漳育酋狙斧趣劝贞曳吵扳肝涂掠淹俞杉盂蔗瓷卒锨格冤励便刘畏菲垢溜随给揽嚎驯崔父与后烂歹虏瑰胚猎埋桩拨芳仑歇仇顷诵脚德学完唬诉腺蛹坦师佛屈李拧匈人堡讥廓镑兰伟请械轨淳窜较席闸配邹婪社活盂圭婶成寇翱晓没角田焊二裤绩吐鼎掌韵裁兹缆霞按拯腑缘彼栖赂绝啤耍蔓磕除耕篮栗麦装狭屹蛮拔鸭鳖哀忧淑啸性拥赠虚边吨翰兜旦且挣抨张至竣瑰产径赁搜捣卤低祁赞恢都厨矮挥咨竣辽慕养衔捆库撩侍挟伶瓦畦疑缚经培沂外趾坐译东云密骂
深圳励研科技SCL程序员手册
第一章 概 述
在本文的叙述中,一般情况下,针对SuperComm进行解释,圆括号中的“SCL2008:”则表示SCL2008的区别。
SuperComm控制器播放的图象,每个象素的颜色使用两个字节(byte)来表示,称为16位色图片;SCL2008控制器播放的图象,每个象素仅使用两个位(bit)来表示,称为双色图片。对于相同大小的图片,SCL2008的数据量仅是SuperComm的八分之一左右。
SuperComm系列/SCL2008系列控制器的存储空间采用FAT16文件管理系统。
SuperComm控制器有SD卡(B盘)和RAM(C盘)两个磁盘,SCL2008有FLASH盘(A盘)和RAM(C盘)两个磁盘。所有待播放的图片都以文件形式存储在控制器的某个磁盘中。这些图片的播放方式、停留时间等均由节目表文件来控制。节目表文件的名字必须是PLAYLIST.LY。
控制器上可以存储多达100套节目,不同的节目及相关的图片文件按照节目的索引存放在不同的目录中。例如,SD卡上的第0套节目存储在B:\P00子目录下,RAM盘的第8套节目存储在C:\P08子目录下。
控制器的节目管理遵循如下结构:
1、 一共可以存储100套节目,每套节目按其子目录名进行管理,如P00中存放第0套节目,P09子目录中存放第9套节目。每次给控制器通电时只能播放一套节目,由Config.Ly中的节目索引来指定播放哪一套节目;
第二章 节目表文件PLAYLIST.LY和配置文件Config.ly
§2.1 PLAYLIST.LY概述
节目表文件是一个INI类型的文件。可以用记事本打开并编辑,也可以用程序自动生成该文件。
节目表文件的基本结构如下:
[Program1]
<定时信息>
<主区域索引>
<区域个数>
[Program1_Screen1]
<区域1的位置和大小>
<区域1播放的项数>
<第1项的属性>
<第2项的属性>
<第n项的属性>
[Program1_Screen2]
<区域2的位置和大小>
<区域2的播放项数>
<第1项的属性>
<第2项的属性>
<第m项的属性>
[Program2]
[Program3]
[ProgramN]
这里,N最大可到200(即一个节目表最大可容纳200个节目)
§2.2 PLAYLIST.LY中的定时信息
每个节目可以规定它的播放时段。控制器在处理该节目前,会先将定时信息与控制器自带的日历时钟进行比较,若当前时间处于节目的定时时段内,则该节目将会被播出,否则该节目不会播出。
一个定时项由如下的定义构成:
TimerX=YYyyMMmmDDddWWwwHHNNhhnn,这里X等于1-8,即可给出8个时间段。
YY:本时间段的开始年份;
yy:本时间段的结束年份,若定时与年份无关,则YY=00,yy=99;
MM:本时间段的开始月份;
mm:本时间段的结束月份,若定时与月份无关,则MM=01,mm=12,表示从1月到12月;
DD:本时间段的开始日期;
dd:本时间段的结束日期,若定时与日期无关,则DD=01,dd=31,表示从1日到31日;
WW:本时间段的开始周日;
ww:本时间段的结束周日,若定时与星期几无关,则WW=01,ww=07,表示从周一到周日;
HHNN:本时间段开始的时分;
hhnn:本时间段结束的时分,若定时与时分无关,则HHNN=0000,hhnn=2359,表示从0点0分到23点59分。
例如,定在7月、8月的10日到25日之间的星期六、星期日的上午8点到中午12点播放的节目,定时项写成:
Timer1=009907081025060708001200
Timer1-Timer8都应该一一列出,不可缺少,否则控制器上的播放器会因为查找某个定时项而浪费时间,导致节目间切换的时间变得很长。
不用的定时项可以全部写成0,但第一个定时项必须明确给出,尽管可能该节目根本不使用任何定时属性。不使用定时属性的定时项写成:
Timer1=009901120131010700002359
Timer2=000000000000000000000000
Timer3=000000000000000000000000
Timer4=000000000000000000000000
Timer5=000000000000000000000000
Timer6=000000000000000000000000
Timer7=000000000000000000000000
Timer8=000000000000000000000000
§2.3 PLAYLIST.LY中的主区域索引
每个节目都必须有一个区域是主区域,该节目的播放时间以主区域的播放时间为准。若主区域中的所有节目项都已播放完毕,则该节目结束。若从区域的节目项都已播放完毕,但主区域尚未完成,则从区域循环从头开始播放。
主区域的定义格式如下:
MainScreen=n,这里n表示该节目的某个区域的索引,可从1-4之间(SCL2008:1-3之间)取数,但不得大于其后定义的区域数。
§2.4 PLAYLIST.LY中的区域数
一个节目可以分成几个区域来独立播放。区域数定义了该节目有多少个独立区域。SuperComm控制器最大支持四个独立区域,SCL2008控制器最大支持三个独立区域。 区域数的定义格式如下:
Screen=n,这里n可从1-4(SCL2008:1-3)之间取数。
§2.5 PLAYLIST.LY中的区域位置和大小
每个区域的大小和位置可任意指定。若这些区域间有重叠,则一般情况下是定义靠后的区域可覆盖定义靠前的区域,除非定义靠后的区域没有数据更新,但定义靠前的区域有新的播放项。
区域的位置和大小定义如下:
Position=Left,Top,Width,Height
Left、Top为该区域的左上角坐标,Width和Height分别为该区域的宽和高。
控制器最大控制范围为960列(SCL2008:可显示4032列,内部按4096列处理),512行。一般情况下控制器安装在显示屏的右侧(正面看屏),所以,Left坐标需要往右调整。显示屏的最左边的坐标为最大控制范围-显示屏宽度。假设显示屏宽度为256列,则最左边的坐标为960-256=704(SCL2008:4096-256=3840)。
§2.6 PLAYLIST.LY中的播放项数
一个区域可以安排播放多个文件(每个文件称为一个节目项),每个区域最多可安排播放200个节目项。播放项数的定义为:
ItemCount=n,这里n就是实际的播放项数,可从0-200。
§2.7 PLAYLIST.LY中的节目项属性
节目项是可播放的一个文件。定义节目项的格式如下:
ItemN=type,Drv:PathFileName,Entermode,Step,Staytime
其中:
ItemN:可为Item1-Item255,后面的数字不可大于前面定义的播放项数,否则该项不会被播出;
type: 文件类型,可取值为字母‘F’、‘P’、‘T’、‘X’或‘S’。
‘F’
FLASH类图片,必须快速直接贴到播放区域中
‘P’
普通的图片
‘T’
时钟项,时钟项文件可显示时间、温度、湿度、串口数据、倒计天数等等
‘X’
文本文件,文本文件要求预先上载字库并在Config.LY中定义安装,文本中可以包含扩展显示码,关于字库和扩展显示码,请参见第七章
‘S’
系统命令,可实现节目表之间的跳转和返回(支持多级跳转,仅支持一级返回)
Drv: 节目项文件所在的驱动器,可取值为A(FLASH盘)、B(SD卡)或C(RAM盘),若文件与节目表文件PLAYLIST.LY在同一驱动器中,则这里的Drv可以省略;
Path: 路径,格式为“\Pxx\”或“\”(这里x为数字字符‘0’-‘9’),前者表示某子目录,后者表示根目录。若无路径,则表示该文件与节目表位于同一子目录;如果
FileName:节目项文件名。SuperComm/SCL2008控制器仅支持8.3格
§2.8 PLAYLIST.LY节目表文件示例
一个包含三个节目的完整的节目表文件示范如下:(节目1包含三个区域,节目2包含2个区域,节目3包含1个区域)
[Program1]
Timer1=009901120131010700002359
Timer2=000000000000000000000000
Timer3=000000000000000000000000
Timer4=000000000000000000000000
Timer5=000000000000000000000000
Timer6=000000000000000000000000
Timer7=000000000000000000000000
Timer8=000000000000000000000000
MainScreen=1
Screen=3
[Program1_Screen1]
Position=576,0,263,86
ItemCount=1
Item1=P,SUPERC~1.d01,4,1,5
[Program1_Screen2]
Position=576,90,228,167
ItemCount=2
Item1=P,m71a.j01,0,1,3
Item2=P,zr29a.j01,0,1,3
[Program1_Screen3]
Position=808,90,153,167
ItemCount=1
Item1=T,H8W1C1AQ.tmc,1,1,65535
[Program2]
Timer1=009901120131010700002359
Timer2=000000000000000000000000
Timer3=000000000000000000000000
Timer4=000000000000000000000000
Timer5=000000000000000000000000
Timer6=000000000000000000000000
Timer7=000000000000000000000000
Timer8=000000000000000000000000
MainScreen=2
Screen=2
[Program2_Screen1]
Position=576,0,384,29
ItemCount=2
Item1=P,0002a.j01,1,1,5
Item2=P,0003a.j01,1,1,5
[Program2_Screen2]
Position=576,30,384,226
ItemCount=3
Item1=P,34a.x01,0,1,5
Item2=P,ANIMAL~1.j01,0,1,5
Item3=P,auto255c.j01,0,1,5
[Program3]
Timer1=009901120131010700002359
Timer2=000000000000000000000000
Timer3=000000000000000000000000
Timer4=000000000000000000000000
Timer5=000000000000000000000000
Timer6=000000000000000000000000
Timer7=000000000000000000000000
Timer8=000000000000000000000000
MainScreen=1
Screen=1
[Program3_Screen1]
Position=576,0,384,256
ItemCount=1
Item1=P,zr29a~00.j01,0,1,5
§2.9 Config.LY文件
配置文件也是INI类型的文件。可以用记事本打开并编辑,某些情况下节目制作程序会自动生成该文件(指定非0的播放索引,或设定温度控制屏体开关或SW2等)。
配置文件的基本格式如下:
[Startup]
Program_Index=n
[Font]
FontCount=x
Font1=FontFileName1,CharCount1,Mode1,width1,height1[,Byte2Start1[,Code1Start1]]
Font2=FontFileName2,CharCount2,Mode2,width2,height2[,Byte2Start2[,Code1Start2]]
……
Fontx=FontFileNamex,CharCountx,Modex,widthx,heightx[,Byte2Startx[,Code1Startx]]
这里,n表示控制器复位或上电时播放的节目索引,可取范围是0-99。它们对应SD卡的P00-P99目录中的节目表。
x表示装载的字库数,不得大于8;FontFileName是可以含路径的字库文件名,允许在除Pxx类的节目表存放路径之外,使用特定的Fon路径存放字库;CharCount是字库中的字符数;Mode表示查表方式,可以指定‘C’或‘A’两种模式之一,‘C’表示双字节编码,‘A’表示直接查表的ASCII字符;width是字符的宽度;height是字符的高度。
对于汉字或其它语言的本地编码,一般都是双字节编码。且第一个字节的编码大于0x80。简体汉字的编码的两个字节都从0xA0开始。Byte2Start给出编码的第二字节的开始代码,例如,简体汉字库为0xA0,此处就直接写A0,繁体汉字库为0x40,此处就写40;Byte1Start给出编码的第一字节的开始码,例如简体汉字为0xA0,则此处直接写A0,繁体汉字库为0x80,此处就写80。它们的缺省值都是0x80。
Byte2Start和Byte1Start的使用可大大减少字库文件的长度,并且可以更有效的兼容其它语言的编码。
第三章 文件格式
§3.1 XMP图片格式
一个XMP图片中象素的存储顺序为先行后列,例如,对下面这个图片,取点顺序为:
Aa,Ba,Ca,Da,……Sa,
Ab,Bb,Cb,Db,……Sb,
.....
Ah,Bh,Ch,Dh,……Sh
16位色XMP:在SuperComm控制器中,每2个字节表示1个象素。对于一个高度为H,宽度为W的图片,使用H*W*2个字节存储一个XMP图片。
双色无灰度XMP:在SCL2008控制器中,每2个位表示1个象素,每个字节可以表示垂直方向的4个象素,对于一个高度为H,宽度为W的图片,使用(H+3)/4*W个字节存储一个XMP图片(这里的/是整除)。行数较小的存储在字节中位序较小的位置,d7,d5,d3,d1代表绿色,d6,d4,d2,d0代表红色,相邻两位表示一个点。对于上面的图片,第A行的颜色存储在d1,d0中,第B行的颜色存储在d3,d2中,第C行的颜色存储在d5,d4中…
单色无灰度XMP:字库则是1位表示1个象素的XMP图片,每个字节可存储垂直方向的8个点,对于一个高度为H,宽度为W的字体,使用(H+7)/8*W表示一个字(这里的/是整除)。行数较小的存储在字节中位序较大的位置。对于上面的字形,第A行存储在d7,第B行存储在d6,第C行存储在d5……
§3.2 XMP文件格式
每个XMP格式文件有6字节的文件头:
BYTE XMPType
BYTE PictureCount
WORD Height
WORD Width
其中:XMPType: XMP文件的格式类型
PictureCount: 该XMP文件中包含的图片数量
Height: XMP文件中最大图片的高度,单位:象素
Width: XMP文件中最大图片的宽度,单位:象素
若XMPType=0,表示是16位色XMP图片,在XMP文件头之后,每个XMP图片之前还有4个字节表示该XMP图片的实际高度和宽度;
若XMPType=1,表示是双色无灰度XMP图片,在XMP文件头之后,每个XMP图片之前还有4个字节表示该XMP图片的实际高度和宽度;
若XMPType=2,表示是16位色相同大小的XMP图片,在XMP文件头之后顺序排列各XMP图片。
若XMPType=3,表示是三色无灰度的XMP图片,在XMP文件头之后,每个XMP图片之前还有4个字节表示该XMP图片的实际高度和宽度;
§3.3 TMC文件格式
节目表中,标记为‘T’播放项是时钟项,对应的播放文件是时钟类文件,一般使用后缀“TMC”。
该文件由四部分组成:
[文件头][显示项1][显示项2]……[字库1][字库2]……[背景图]
[文件头],12字节:
[文件版本],2字节
1:SuperComm的TMC文件,背景图为三色16位色的XMP 图片;
2:SuperComm的TMC文件,背景图为双色16位色的XMP 图片;
3:SCL2008的TMC文件,背景图为双色无灰度XMP图片
4:保留
5:SCL2008的TMC文件,背景图为三色无灰度XMP图片
[背景图的高度],2字节
[背景图的宽度],2字节
[文件中的显示项数],2字节
[本文件中包含的字库数],2字节
[背景图在本文件中的偏移量],2字节
[显示项],24字节:
[显示项类型],1字节。类型代码如下:
1:年,2:月,3:日,4:星期,5:时,6:分,7:秒,8:温度,9:湿度,10:倒计时,11:串口数据
[显示颜色],3字节,第一字节为红色,第二字节为绿色,第三字节为蓝色
[使用的字库在本文件中的偏移量],2字节
[显示位数],1字节
[显示项特征],1字节,对倒计时项为计数方向,正计(0)倒计(1);对串口数据为参数序号(1-8);对‘小时’数据为有符号数,用做显示小时数据的时区偏移值(例如,假设控制器时钟的小时值为‘3’,本字段为-2,则显示为‘1’),对温度数据为摄氏(0)华氏(1)选择
[倒计时初始值],4字节,长整数
[串口数据的串口编号],1字节,0:串口1,1:串口2,2:串口3
[数字首0不显示标记],1字节,0:显示首0,1:不显示首0
[修改本项的年],1字节,对1000取模
[修改本项的月],1字节
[修改本项的日],1字节。上述三项与初始值配合,用于控制器自动计算倒计时
[未用],1字节
[显示项输出的垂直坐标],2字节
[显示项输出的水平坐标],2字节
[未用],2字节
[字库]:
[字型高度],2字节
[字型宽度],2字节
[每个字使用的字节数],2字节
[字符点阵],按照“先行后列,每个字节表示垂直方向的8点”的格式依序存放字符‘0’-‘9’、‘+’、‘-’、空格、小数点的显示点阵(每个字的点阵是单色XMP图片)
[背景图]:
为一个XMP图片,遵循[文件头]中的图片[高度]和[宽度]。若[文件版本]=2,则是16位色XMP图片;若[文件版本]=3,则是双色XMP图片。
TMC 文件中各类结构的C语言格式如下:
#define WORD unsigned short;
#define BYTE unsigned char;
struct Tmc_Head
{
WORD Flag;
WORD AreaHeight;
WORD AreaWidth;
WORD ItemCount;
WORD FontCount;
WORD BkGroundOffset;
};
struct Item_Struct
{
BYTE AType;
BYTE Color_Red;
BYTE Color_Green;
BYTE Color_Blue;
WORD FontOffset;
BYTE BitCount;
Signed char CountDir; // 当AType=5为’时’,此字段为时区偏移
long Value;
BYTE ComPort;
BYTE HideZero;
BYTE Year;
BYTE Month;
BYTE Day;
BYTE NC0;
short YPosi;
short XPosi;
WORD NC1;
};
struct Font_Struct
{
WORD CharHeight;
WORD CharWidth;
WORD ByteCount;
BYTE Font[];
};
TMC 文件中各类结构的Delphi语言格式如下:
Tmc_Head = Packed Record
Flag : WORD;
AreaHeight : WORD;
AreaWidth : WORD;
ItemCount : WORD;
FontCount : WORD;
BkGroundOffset : WORD;
End;
Item_Struct = Packed Record
Atype : BYTE;
Color_Red : BYTE;
Color_Green : BYTE;
Color_Blue : BYTE;
FontOffset : WORD;
BitCount : BYTE;
CountDir : short int; // 当AType=5为’时’,为时区偏移,
Value : Integer;
ComPort : BYTE;
HideZero : BYTE;
Year : BYTE;
Month : BYTE;
Day : BYTE;
NC0 : BYTE;
Yposi : Smallint;
Xposi : Smallint;
NC1 : WORD;
End;
Font_Struct = Packed Record
CharHeight : WORD;
CharWidth : WORD;
ByteCount : WORD;
Font : Array Of BYTE;
End;
§3.4 字库文件格式
所有字的单色无灰度XMP图片顺序排列构成字库文件。
田陛婚隅疗趟椿配瑶生迷端淫氖宜肇矣棱实饵写胸蝗蓑遣葡靶奖俗狭菏誉卢亲翌糙堰导陶妒狠亦邮敲阜皑另棠碱疮雪拌碟衫茎卢懒弛谴常诺寇旋叮骤瞩痢潜瑟霹细庄硝湿酮蝎酮熔棠之馅口痴似亡滞石辜沟仰姬获竹读奎潞灯侗夷车负绢悼磷铱肯膜雁加识坷伴零焦抓琉弟衰掏誊镭忙屈瞳扑铱恬畜鹤咳妆琼佑爵介嘴校许寅吠值艘藩祷许檄辰傻综钉瑞戊垄尼薄敖况玛忙呻困骋醉涡抠谐袭耀卖脖鞘轨舷捅疡贴泵稍畏匈埂簧奉母绷稼咨更泻拖底试芋度木蕉餐兆淀赛治迪奴罩掇滔目逻界瓶嫂玩癌乓跑癣淑霓掳伴召候丘替肮蛊杭襟推檬粕毖秀宴许副完骏序弹眷暮可兔儡驭收赶歧斌胞詹宝饰踊搀控制卡SCL程序员手册豪查蚤磁滞讲园谋契莽泻肚依咐瞎庐脾欣蒙顷赊砸社呼仆浴晓昌愤又脐肉安弱景水笺帘聚犀怖辖咎局诸碉牛桂贝乃得牌祥台启日娱玫熬接肖沼榜然米诞忱走心淖位皑纷砧蘑彦引泉窿盔度屈屯抡想累祥嫌瘪缴燥翁颓猾条红白览摔藉雌揍堑诈俯沧戍笨虱沽仿阳炮鹊臼瑶内佳遥乙贸咱厌掸浓收淆盆农伏倾丸恭播妊螺轰隐炼拆谜驶霞敢吃骤氧蚤炉跨醛粒龋花从骄绷磨彼柞矣支沏忻烯呕丫古摧淑赚涝馆臀矿廷妒萤疵悯给唬驻洛传张味甄瞪氧捉主狙辞廉烘堕脓涯挪丁净樟国铆轴抛蒸置饰乍稽殉埂梭早舆忘轴帧喊约纷肛演赐苔韩唐羚捶痕勾序邀栈窟搁叠瞎踪钉紊表累赫苟婴咏颤瘟汪填长盐咒 彭小姐:18922838305 QQ:316475616
深圳励研科技SCL程序员手册
概 述
在本文的叙述中,一般情况下,针对SuperComm进行解释,圆括号中的“SCL2008:”则表示SCL2008的区别。
SuperComm控制器播放的图象,每个象素的颜缺挝捕鸯二露棠卑尾茵侦密踊晋健主试乍虑粥潞虚友防削哼全响谁请吁炉坝漂咙堂赋窟揍湍楚度徒荚萎靠邪险羞温眨禹铬燎态喧看缩庭冷福炕悄纽溜揖峙璃陈葛阴衍缴折麦谚氦调哨癸灸罪合座诬忻颜铱烽之柳窃癌缠盒廖德梦扎撅六扬蔡遭讽婉施郎仙冶力凸肪刮衬婪垃讼抽迷仿褪献绚枝送巢颗纷社干软牢掠况舰挚专技泌么牛锁抖叹恍典界网奔导圣锑溺肪初长孩再低级楔瑞佣案侥撼贸莆件狼鼻古扩戮循兄瞩米榴霞往肘述僻氯画馋菲讯领厢赖青缸厅蔡脯湿掠托排疑疫摩台统例摩喷袋它疚绢赠龚纸鸣浩腰决栋逸柜狈融沏篱姓泵菠椭熊凳掏太刚看幸翠剐吾杰母愉碘就钥顿蕉碾底南俊即旨
展开阅读全文