TA的每日心情 | 开心 2018-4-8 22:14 |
---|
签到天数: 1 天 [LV.1]初学乍练
普通会员
- 积分
- 5517
|
java自学网(www.javazx.com)-java论坛,java电子书推荐:《 疯狂HTML 5+CSS 3+JavaScript讲义(第2版)》7 g; S, j0 `+ `$ n2 h
java电子书推荐理由:《疯狂 HTML 5 CSS 3 JavaScript讲义(第2版)》由知名IT作家李刚老师创作 本书的中文繁体字版授权到中国台湾地区 全书面向HTML 5.1规范正式版,更新多个元素、拖放规范的相关知识,新增外挂字幕、点线模式等内容,着重介绍新增的手机端相关特性 详细介绍渐变背景支持、弹性盒布局、手机浏览器响应式布局、3D变换等CSS新增特性及重大改进. u* z7 l0 j5 P
9 C$ E$ T9 f9 P作者:李刚
. ]! K; y; G" V1 D出版社:电子工业出版社
+ L9 h9 _% G: a' a7 O$ P出版时间:2017-05-01 ' @+ }# K* N3 a9 i1 I( ]) D# v5 s4 |8 D
书籍价格:69.90元
7 ^8 E- b- g3 c, x( t
: [( T& U& f V- _4 n9 i: j* U& r6 k( g
6 t n8 i3 O, F: v- h' c3 x5 o, }& Q& N# U9 F7 o
java电子书目录:$ w. m$ l& u2 C6 K2 k- S
第1章 HTML 5简介 1) H# }( l6 L2 i& `+ x& {
1.1 HTML历史与HTML 5 2
- b5 I* \1 G. n( o& S" o1.1.1 HTML发展历史 27 N0 i5 D. q# H; g
1.1.2 HTML 4.01和XHTML 3
8 Y' d& s; [7 A; h* u3 |1.1.3 HTML和XHTML的文档类型定义(DTD) 4
7 Z; N+ G+ ]9 U/ v1.1.4 从XHTML到HTML 5 5
) v0 k" X& H" R6 ~1.2 HTML 5的优势 6
6 k4 ~ |8 v% ?; ]1 E' Y$ [) s* c1.2.1 解决跨浏览器问题 6
3 B0 X: {; T, i( l( q- }2 t1 v1.2.2 部分代替了原来的JavaScript 6
. R! F& h6 ~+ C: a1.2.3 更明确的语义支持 7; I! N! E$ W7 M$ b9 n
1.2.4 增强了Web应用程序的功能 8
2 V( H! f1 h) W9 ]0 I8 Q1.3 HTML 5的基本结构和语法变化 8
6 [: V% M% F( _" U) n/ b. F1.3.1 HTML 5的基本结构 8 x5 y z5 R3 {/ a" q2 N
1.3.2 标签不再区分大小写 9: n8 F, p! W/ G8 b
1.3.3 元素可以省略结束标签 10
# G6 Q( e4 X( L6 ?3 k1.3.4 支持boolean值的属性 11, d) y* w: i# r. A8 n
1.3.5 允许属性值不使用引号 12
+ T5 J5 S0 T8 U1 ?0 g1.4 本章小结 126 d% O8 X: S' i0 M d( K9 n* z3 V
第2章 HTML 5的常用元素与属性 144 p# J. c4 F3 Z
2.1 HTML 5保留的常用元素 15& z! Y5 a- L9 T2 G6 X! u
2.1.1 基本元素 15
$ {* \0 m/ B" P- Z" f2.1.2 文本格式相关元素 17
' q8 s/ F+ T" ^, w" ?8 T2.1.3 语义相关元素 19- K- t- A7 p7 S- V- p3 D
2.1.4 使用a元素添加超链接和锚点 21. N q# r0 F5 J9 U; ^: Z9 y7 ~& H
2.1.5 列表相关元素 24
/ q. j; t3 y8 s) E; s' @% H2.1.6 使用img元素添加图片 279 O9 ^ \" s2 v3 o$ t2 F
2.1.7 表格相关元素 309 X1 z* c W |6 L! F# z% v
2.2 HTML 5增强的iframe元素 340 U- a. `* k) H$ U8 p
2.2.1 HTML 5新增的srcdoc属性 355 ?! i$ n7 D* q$ k& b3 E
2.2.2 HTML 5新增的seamless属性 36
+ N" P1 N7 f W- P2.2.3 HTML 5新增的sandbox属性 36& L7 d6 O: e! m2 k
2.3 HTML 5保留的通用属性 40( I& y' l7 v9 U# I
2.3.1 id、style、class属性 40
- S+ b, O+ _" T2.3.2 dir属性 41
, `1 d- L, k% f8 _4 h+ N$ ?( H, s3 U% r6 ~2.3.3 title属性 425 e9 d) \/ H3 F* J: K: L; w2 t. w8 E. @
2.3.4 lang属性 43
. c7 e, L9 R1 i9 I' q2.3.5 accesskey属性 43
, Y& w0 P4 q7 ?5 S; i2.3.6 tabindex属性 43 V/ Z2 N. Q( n7 [- M
2.4 HTML 5新增的通用属性 44
7 R, J9 U1 I! o4 U. b2.4.1 contentEditable属性 44& Z5 X9 Q+ v$ M- G' d& t8 o7 ~2 C
2.4.2 designMode属性 46
, ]" b' S, f7 o* O% R8 ^/ C) `2.4.3 hidden属性 46
/ Z7 u* l! C1 s$ U: E( I0 d2.4.4 spellcheck属性 478 V) Y/ a, {3 d: B1 ]8 W
2.4.5 contextmenu属性 47( W( j9 v" e: t8 I! N" d! i6 ?
2.5 HTML 5新增的结构元素 48
/ W3 A2 g V3 @6 c$ V1 X2.5.1 article与section元素 48
3 Q) C- H, J; X. v- \# b2.5.2 header与footer元素 51
. B0 M0 |: K. z* c2 Y2.5.3 nav与aside元素 52
# W3 A$ Q! ?, W5 i+ g5 x2.5.4 main元素 53
7 h5 v1 X$ g. t% i* p0 q& E; i2.5.5 figure与figcaption元素 54/ G5 [( _$ v! b9 k( V% |
2.6 HTML 5新增的语义元素 550 | N, ]% z( j3 Y! J9 W. _& X! J
2.6.1 mark元素 55
6 O O$ S0 e# F' |+ b' R2.6.2 time元素 56& v$ i3 L: U4 ?
2.6.3 details与summary元素 56
9 V: N' G; T, J7 v6 ^2.6.4 ruby、rtc、rb、rt和rp元素 578 X+ [/ S7 h9 c
2.6.5 bdi元素 586 P6 ?* }6 R% k! Y D
2.6.6 wbr元素 58
- Q$ o5 B5 C3 H" e2.6.7 menu和menuitem元素 599 _" i) F$ O; v- i( k( T
2.7 HTML 5头部和元信息 59
! \% {5 R2 R( N3 N2 K# C4 ?2.7.1 link元素 601 s) R( b: C* F! F
2.7.2 base元素 62. R" B1 v5 o- w8 [
2.7.3 meta元素 62; m9 o; M5 ~9 `) E7 j0 z& y9 d
2.8 HTML 5新增的拖放API 63
7 {$ _+ J: C. z0 G- @2 h2.8.1 启动拖动 63
9 I3 K, I1 N6 p/ P) M) n2.8.2 接受“放” 65; E5 L+ D9 p' z: w
2.8.3 DataTransfer对象 675 a0 q# G2 V) t x
2.8.4 拖放行为 69, O3 d) }6 n* }1 d. `0 | \% V
2.8.5 改变拖放图标 70! b# ?1 x' F2 s' M1 Z0 g% }
2.9 本章小结 71* M( ~6 v% H: e; X6 M) z$ t
第3章 HTML 5表单相关的元素和属性 72
& z6 |" e, x# h& N3.1 HTML原有的表单及表单控件 73
+ d+ J5 `) U# ]/ U0 k# Y3.1.1 form元素 73( {& J; o: Y6 B
3.1.2 input元素 74. B, U- b2 X7 ]! w
3.1.3 使用label定义标签 77
9 q' ^2 Q5 D4 o, R* I3 Q* z3.1.4 使用button定义按钮 78: N9 d7 S% R/ @4 M* Z; e
3.1.5 select与option元素 79
7 h# m) `) F6 j3.1.6 HTML 5增强的textarea 80: y- R8 q2 E- O! q7 {. c, T3 Z
3.1.7 fieldset与legend元素 82. f1 N* k) d4 m4 N( ?# j5 u# \, D; w$ T
3.2 HTML 5新增的表单属性 83
?- J4 p8 C; A ^) V4 |; E+ q3.2.1 form属性 83
/ I* R- t% d6 T9 K* e3.2.2 formaction属性 83( a K- Y7 i5 |5 Y/ a8 Y4 s/ {: l
3.2.3 formxxx属性 84) g) u. C3 q- g0 j% U# o# I. w
3.2.4 autofocus属性 85
- _3 H7 u8 K% T4 y1 j/ l5 l1 \/ X3.2.5 placeholder属性 85- h5 Q' n' J: | T/ }4 d
3.2.6 list属性 86
6 O. \, U* z9 i8 v3.2.7 autocomplete属性 87' L9 Y2 c9 i2 F
3.2.8 label的control属性 88
. `+ w' M) @8 U3.2.9 表单元素的labels属性 88
! Y% k3 H9 [8 s: ^# _3.2.10 文本框的selectionDirection属性 89
/ Q7 F; a. o4 `3 g4 d2 B: d' j" L3.2.11 复选框的indeterminate属性 89/ w) R6 \; j1 u% E! N
3.3 HTML 5新增的表单元素 90: [# O; u) D6 z- Y3 d
3.3.1 功能丰富的input元素 90
& c: V- a* ~0 W3.3.2 output元素 934 ]' r4 L& X8 A8 l
3.3.3 meter元素 948 U! ^* F- u" a* b
3.3.4 progress元素 956 @4 @+ N( K H
3.3.5 keygen元素 95
! C/ H8 Y$ m- {' H1 K' @+ d% z8 r L8 G3.4 HTML 5新增的客户端校验 96
4 x* Z% V" H9 d) H( Y3.4.1 使用校验属性执行校验 96
, N" d$ j* H5 c3 j" E7 o7 k3.4.2 调用checkValidity方法进行校验 97
7 x8 m6 P5 \1 z0 C5 w8 R3.4.3 自定义错误提示 98; w9 |: L8 g$ X% q( j
3.4.4 关闭校验 99
, P* X* ^$ [/ [3.5 本章小结 100
' U0 `8 f4 n4 z; K6 I& a第4章 HTML 5的绘图支持 101% A* _9 b) D; C j/ _ k
4.1 使用canvas元素 102
4 H1 W: ~ C. y$ }$ x( O) [) ]/ ]4.2 绘图 1035 L# y0 s4 R. D2 E1 {- L4 j
4.2.1 canvas绘图基础:CanvasRenderingContext2D 1031 u; Q. ^5 c# d1 J3 l. I
4.2.2 绘制几何图形 105
' p5 a: W+ m6 ~1 N& y7 E4.2.3 点线模式 107) |; r! d# A( N. F& L! @
4.2.4 绘制字符串 109
' s, N) e1 H$ Z! W+ G3 e4.2.5 设置阴影 1108 e" d0 R- y$ l
4.2.6 使用路径 111# D/ h) ?1 l; G7 G( r, B. w
4.2.7 绘制曲线 115
2 u# X" O# u" `5 q$ Z& h7 |. v4.2.8 绘制位图 117: r2 L: n" ?- H# ? d- Q0 x
4.3 坐标变换 118" s0 q* v4 P8 X# r0 O
4.3.1 使用坐标变换 118
) K" c" l3 A) h( n4.3.2 坐标变换与路径结合使用 119% b' ^" `4 ` t3 d
4.3.3 使用矩阵变换 121 |) e) r7 B+ K) h: P
4.4 控制叠加风格 123
7 S' m$ U' g' U& ^4.5 控制填充风格 1246 H/ M( m% L( |; J0 K9 h; G- h
4.5.1 线性渐变 124
) M# Y5 _$ \5 x8 f m4.5.2 径向渐变 126
. }2 Z4 s5 n1 P$ S: Z4.5.3 位图填充 127
# y3 Q. \# l$ A* t3 ^) C6 h: \4.6 位图处理 128: L9 O! g: c0 A+ {: Z2 T9 U
4.6.1 位图裁剪 128
9 y- V$ c5 d1 w3 x4.6.2 像素处理 129
9 E3 S/ s. H9 }, x7 G4.7 输出位图 132$ D' @6 C) Q0 M0 l7 d
4.8 动画制作 133
* }* [7 l9 n# o8 f; Y. H4.8.1 基于定时器的动画 133& d5 R% W3 {9 T; ^* ~
4.8.2 基于requestAnimationFrame的动画 135
8 a: ~4 j' S* V' s) X( x4.9 本章小结 136
# y5 m& T- _9 `( b第5章 HTML 5的多媒体支持 137
7 Y' k6 H) T! `% n5 }5.1 使用audio和video元素 138/ f7 M4 A" B: t8 D% i
5.2 使用JavaScript脚本控制媒体播放 141
. G5 K2 ~1 W7 U- K; V2 C5.2.1 HTMLAudioElement与HTMLVideoElement支持的方法 1414 s6 }3 B) F( Q4 j( w. M C
5.2.2 HTMLAudioElement与HTMLVideoElement的属性 1433 k! I8 f8 m' W2 K% J/ z- X9 J
5.3 事件监听 144
6 J" _2 H- x9 k. S# q& W5.3.1 事件 144
/ a( c7 l6 r4 q g) n; j5.3.2 监听器 145
+ A8 g# H% Y% E4 M$ m' Q6 [5.4 track元素 1468 W0 R6 u* v1 j- B$ K+ Q% d
5.4.1 使用track元素添加字幕 146
7 S- X9 c, x' V, H3 G# W! i5.4.2 WebVTT文件简介 147
0 Z/ J( d0 i9 B% B; s; R5.4.3 字幕内容的标记 148
' ^4 q) Y0 g7 K" \4 n7 e9 n5.5 本章小结 149
- q/ n" R+ U5 C3 G第6章 级联样式单与CSS选择器 1505 |. x3 X3 p. I$ I
6.1 样式单概述 151
) }0 |8 y, J5 z9 e/ ?6.1.1 CSS概述 151& v1 Y: `4 Z3 e% a! v
6.1.2 CSS的发展历史 152; @ z( k1 I3 u1 q
6.2 CSS样式单的基本使用 1527 Y4 ^& ^) M" V+ N
6.2.1 引入外部样式文件 152
3 |$ u! }4 b2 |$ s6 M* r6.2.2 导入外部样式单 154
+ T& E* f1 O5 ~) ?& ^ e2 H- l- `6.2.3 使用内部CSS样式 155
; P3 K" F8 }+ j& |+ X4 ^9 q H5 S6.2.4 使用行内样式 156
1 O! V' x. J% y1 J4 w6.3 CSS选择器 158
0 R8 [. a" l5 n U* ^4 ]. t/ w( S6.3.1 元素选择器 158
7 \. k$ [# G# `& T+ S4 j. `6.3.2 属性选择器 159: r3 E0 i7 S' B
6.3.3 ID选择器 161
- }& _$ a J7 I1 t+ i; p- v6 F6.3.4 class选择器 162
) A8 m$ ^ K0 j# J9 \' d! D0 O6.3.5 包含选择器 1632 c' J- S2 Y3 a: S+ B. I+ X7 B! M! `
6.3.6 子选择器 164
/ C- X2 e) I. i( H6.3.7 CSS 3新增的兄弟选择器 165
9 C* N% E$ l$ f9 m0 ] w% A' k2 ?6.3.8 选择器组合 166
6 o" Z2 E" D+ R) w A; z: `5 p: ^6.4 伪元素选择器 167
( P, C% `4 [; T$ X% {+ Y- a. J n6.4.1 内容相关的属性 1692 |1 a( |. A* T' M
6.4.2 插入图像 170" X5 r' N" t3 B# b+ G
6.4.3 只插入部分元素 171
4 {% U; [. }0 R5 Z) \) S5 c6.4.4 配合quotes属性执行插入 171
6 ^* F' }" Q5 G; @4 A6.4.5 配合counter-increment属性添加编号 172
% t& h4 O, r$ A% J6.4.6 使用自定义编号 173
& l9 d- N3 U' G$ u8 G. t6.4.7 添加多级编号 174; D% L& h) V) p
6.5 CSS 3新增的伪类选择器 176$ T1 K5 [ v& Z( d! m1 Z6 A, j/ k2 C
6.5.1 结构性伪类选择器 176
. @$ |1 e* W& y. W6.5.2 UI元素状态伪类选择器 186/ g3 L9 q* C" j6 t3 p# o% i
6.5.3 :target伪类选择器 193! D; j- x* k# Y6 F% x1 ~* U J
6.5.4 :not伪类选择器 194
7 X U/ f' F8 W: ^$ L2 D6.6 在脚本中修改显示样式 195- l" M6 }- N& V' J" Z) T" W3 j, k
6.6.1 随机改变页面的背景色 195) t7 B. O5 b) S
6.6.2 动态增加立体效果 196
9 J+ Z U% G, _' r6.7 本章小结 1977 t4 X) \" B+ _: c/ {
第7章 字体与文本相关属性 198
+ B2 H* J2 z4 k+ G& I: H9 n7.1 字体相关属性 199& c4 C2 P! W% W5 t) h0 C* O7 A+ E
7.1.1 使用text-shadow添加阴影 201
1 `& Q6 u, D9 m$ ^/ T9 ?* G6 R) ]! ^7.1.2 添加多个阴影 202
8 W2 t) |# O$ b, W2 T7.1.3 使用font-size-adjust属性微调字体大小 203! z4 }, B& D. t7 x1 K, _
7.2 CSS 3支持的颜色表示方法 2054 K+ j! L* y' ~' Y- e; A# c- r( S
7.3 文本相关属性 2062 X% G% F% N9 g" m
7.3.1 使用white-space控制空白的处理行为 208
$ F/ k+ l8 g$ x( t7.3.2 文本自动换行:word-break 209. }5 T% l- j$ s' V- u
7.3.3 用word-warp控制长单词或URL地址换行 210
9 j6 D- {9 d/ u/ v( U0 e1 G& a& X/ y7.4 CSS 3新增的服务器字体 2125 G6 P- c: [6 G9 d* e0 ]# @
7.4.1 使用服务器字体 212
" Y0 K6 G( j+ y v) N9 ^# e7.4.2 定义粗体、斜体字 213
' u; X: Q3 z9 |7.4.3 优先使用客户端字体 2147 B/ i9 V6 j9 @7 I4 o
7.5 本章小结 215: a" N$ I: f- N8 M
第8章 背景、边框和边距相关属性 216
6 {: I' P I6 I$ F) [8.1 盒模型简介 217
# t; j& O: d% B- M8.2 背景相关属性 2170 m( }" i0 U3 v) J( a1 i
8.2.1 背景图片固定 2193 ?, i1 P, w5 {) m( O
8.2.2 CSS 3新增的background-clip属性 220
- U( D; \, f/ A3 a2 I, O8.2.3 CSS 3新增的background-origin属性 221
! \' ~ u6 f2 ]. @9 S3 J h8.2.4 CSS 3新增的background-size属性 222, h. X6 `4 f' {4 H }$ b) ~& n1 V7 p6 `
8.2.5 CSS 3为background-repeat新增的space和round 224
I0 b2 [/ P. ^0 f' z3 r% G8.2.6 CSS 3新增的多背景图片 225( M. Z9 {2 \. K6 h9 A# ?; K
8.3 使用渐变背景 226
# y X! |6 q: k. \8.3.1 使用linear-gradient设置线性渐变 226) l! N- p4 b* y3 H4 C" [
8.3.2 使用repeating-linear-gradient设置循环线性渐变 2303 h( O% S9 ?% Y- W; S5 P% O
8.3.3 使用radial-gradient设置径向渐变 2318 k: m9 d: g) D6 Y
8.3.4 使用repeating-radial-gradient设置循环径向渐变 2384 M. Y1 b7 ?7 Z. M1 H
8.4 边框相关属性 239
: C, p) o) O9 M0 I+ _8.4.1 CSS 3提供的渐变边框 241. @, w0 @* i% `% _' q
8.4.2 CSS 3提供的圆角边框 242
( G+ b- I. R% h+ t5 b8.4.3 CSS 3提供的图片边框 2442 M% s5 l) A) `7 f
8.5 使用opacity控制透明度 2464 W0 f0 v( V7 T, M# R
8.6 padding和margin相关属性 247# J$ q- L! {2 E$ ^! n, j, e5 H4 V
8.6.1 内填充相关属性 247
5 S7 ?5 d- f" l# C+ y' V1 n8.6.2 外边距相关属性 2482 P: K8 Y' x3 Y
8.7 本章小结 249
5 S' Y/ A% U" Z% I, i' x第9章 大小、定位、轮廓相关属性 250: u5 u& g: G3 p S% g( e; |
9.1 width、height相关属性 251
+ E, m5 d0 A% C& h& e9.1.1 CSS 3新增的box-sizing属性 252" A3 q4 ]" w5 f' U
9.1.2 CSS 3新增的resize属性 253
; h. q* f2 S# y& A6 J5 q& R9.1.3 CSS 3新增的calc函数 254
6 n7 c1 C' r& s; Q D$ {9.2 定位相关属性 2555 I6 w' Z" I2 i7 O% Z
9.3 轮廓相关属性 257
! j/ T- m5 g" }( I7 e9.4 用户界面和滤镜属性 258$ w; g& N3 @0 R% `) ]
9.4.1 appearance属性 259
/ n8 u, Y8 x6 D, G9.4.2 使用filter属性应用滤镜 260
; X5 a$ W8 e3 V7 Z& U0 E" `9.5 本章小结 263
% S, T6 b4 `" `% S( h) p第10章 盒模型与布局相关属性 264
/ z! t+ f& g9 ?) H2 g10.1 盒模型和display属性 265
$ t. b, T+ F( ]10.1.1 两种最基本的盒类型 265- r9 B0 q# ^. ^
10.1.2 none值和visibility属性 267& J0 a; h G' M O$ J2 _
10.1.3 inline-block类型的盒模型 267, P5 P9 O( C; }5 }; E' M
10.1.4 inline-table类型的盒模型 270
! v, i3 G3 U, H' J10.1.5 使用table类型的盒模型实现表格 271
+ N" `. W' l5 ]% p0 ~10.1.6 list-item类型的盒模型 272( x5 J8 M x; }! H& R/ K& X
10.1.7 run-in类型的盒模型 273
; z' K. K E8 I+ r10.2 对盒添加阴影 275" i7 C/ r3 J j, W! b
10.2.1 使用box-shadow属性 2752 f: \2 ?( Y6 s7 _; S7 i
10.2.2 对表格及单元格添加阴影 277- i/ Y8 B% q) c6 f
10.3 布局相关属性 278
. M; \* t. s/ J# @2 ^10.3.1 通过float属性实现多栏布局 279# E5 l; x& ~) P+ K
10.3.2 使用clear属性实现换行 280
z; U9 I2 ^/ ~7 J @/ w% e10.3.3 使用overflow设置滚动条 282
$ s f' _1 j) q1 w4 ~- w+ j10.3.4 使用overflow-style控制滚动方式 283
4 p% k4 h$ t6 n; }* i7 r10.3.5 使用clip属性控制裁剪 2847 X5 t: ^ {# Q$ D' p6 J
10.4 CSS 3新增的多栏布局 285
3 D( }8 o- B) Q7 R10.4.1 使用column-width指定栏宽度 2869 e' v, H6 O, ~
10.4.2 使用column-gap和column-rule控制分栏间隔 287
v4 W3 X1 I, T( U3 R10.4.3 使用column-span设置跨栏 288
9 L* [ S3 k7 J7 p$ }+ Q* c10.5 使用弹性盒布局 2898 \) M* ^8 v! j
10.5.1 使用flex类型的盒模型 290
( W2 u; L3 {* W V10.5.2 通过flex-direction指定盒内元素的排列方向 291
: o9 Y4 U) F [ y! Z3 C; d$ }4 d10.5.3 使用flex-wrap控制换行 293
( K q" D. D8 A# }! H$ t( l10.5.4 使用order控制元素显示顺序 294) [: T/ E/ {. l3 \# W6 n0 ]3 h
10.5.5 使用flex属性控制子元素的缩放 295( n4 ] i+ H! D* J4 W6 l$ Y3 Q& v
10.5.6 使用align-items和ali& b g+ L9 u2 l- b! j' m
! H1 C& c6 z: Z3 [; ]Java资料百度网盘下载地址链接(百度云):java自学网(javazx.com) 疯狂HTML 5+CSS 3+JavaScript讲义(第2版) PDF 高清 电子书 百度云.rar【密码回帖可见】# o0 J5 K) _ j% H0 B; A" u5 ]
8 B# z5 O$ s: U3 w
# K& a ]) W0 d N% a( C
. ]( A4 G5 o4 X, t
2 V$ R+ p0 f- d8 z1 i& c# u& f/ \' o |
|