1
using System;
2
using System.Collections.Generic;
3
using System.Text;
4
using System.Data;
5
using System.Data.SqlClient;
6
using System.Data.OleDb;
7![](/Images/OutliningIndicators/None.gif)
8
namespace IDataAccessLib
9![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
10![](/Images/OutliningIndicators/ContractedSubBlock.gif)
类型选择#region 类型选择
11
public enum DBAccessType
12![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
13
SQL, OLEDB
14
}
15
#endregion
16![](/Images/OutliningIndicators/InBlock.gif)
17![](/Images/OutliningIndicators/ContractedSubBlock.gif)
工厂类#region 工厂类
18
public class Factory
19![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
20![](/Images/OutliningIndicators/ContractedSubBlock.gif)
SQL工厂#region SQL工厂
21
public static IDataAccess GetSqlAccess(DBAccessType Type)
22![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
23
IDataAccess DBAccess = null;
24
switch (Type)
25![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
26
case DBAccessType.SQL:
27![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
28
DBAccess = new SqlAccess();
29
}
30
break;
31
}
32![](/Images/OutliningIndicators/InBlock.gif)
33
return DBAccess;
34
}
35![](/Images/OutliningIndicators/InBlock.gif)
36
public static IDataAccess GetSqlAccess(DBAccessType Type, string ConnectionString)
37![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
38
IDataAccess DBAccess = null;
39
switch (Type)
40![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
41
case DBAccessType.SQL:
42![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
43
DBAccess = new SqlAccess(ConnectionString);
44
}
45
break;
46
}
47![](/Images/OutliningIndicators/InBlock.gif)
48
return DBAccess;
49
}
50
#endregion
51![](/Images/OutliningIndicators/InBlock.gif)
52![](/Images/OutliningIndicators/ContractedSubBlock.gif)
OLEDB工厂#region OLEDB工厂
53
public static IDataAccess GetOledbAccess(DBAccessType Type)
54![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
55
IDataAccess DBAccess = null;
56
switch (Type)
57![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
58
case DBAccessType.OLEDB:
59![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
60
DBAccess = new OledbAccess();
61
}
62
break;
63
}
64
return DBAccess;
65
}
66![](/Images/OutliningIndicators/InBlock.gif)
67
public static IDataAccess GetOledbAccess(DBAccessType Type, string ConnectionString)
68![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
69
IDataAccess DBAccess = null;
70
switch (Type)
71![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
72
case DBAccessType.OLEDB:
73![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
74
DBAccess = new OledbAccess(ConnectionString);
75
}
76
break;
77
}
78
return DBAccess;
79
}
80
#endregion
81
}
82
#endregion
83![](/Images/OutliningIndicators/InBlock.gif)
84![](/Images/OutliningIndicators/ContractedSubBlock.gif)
接口#region 接口
85
public interface IDataAccess
86![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
87
string ConnectionString
88![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
89
get;
90
set;
91
}
92![](/Images/OutliningIndicators/InBlock.gif)
93
void Open();
94
void Close();
95
void ExcuteCommand(string CommandString, IDataParameter[] Paras);
96
DataSet GetDataSetFromExcuteCommand(string CommandString, string TableName, IDataParameter[] Paras);
97
void ExecuteProc(string ProcName, IDataParameter[] Paras);
98
DataSet GetDataSetFromExcuteProc(string ProcName, string TableName, IDataParameter[] Paras);
99
object ExecuteCommandScalar(string CommandString, IDataParameter[] Paras);
100
object ExecuteProcScalar(string ProcName, IDataParameter[] Paras);
101
IDataReader GetDataReaderFromExcuteCommand(string CommandString, IDataParameter[] Paras);
102
IDataReader GetDataReaderFromExcuteProc(string ProcName, IDataParameter[] Paras);
103
}
104
#endregion
105![](/Images/OutliningIndicators/InBlock.gif)
106![](/Images/OutliningIndicators/ContractedSubBlock.gif)
SQL类#region SQL类
107
public class SqlAccess : IDataAccess
108![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
109![](/Images/OutliningIndicators/ContractedSubBlock.gif)
IDataAccess 成员#region IDataAccess 成员
110![](/Images/OutliningIndicators/InBlock.gif)
111
private string strConn;
112
private SqlConnection conn;
113![](/Images/OutliningIndicators/InBlock.gif)
114![](/Images/OutliningIndicators/ContractedSubBlock.gif)
无参数构造#region 无参数构造
115
public SqlAccess()
116![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
117
strConn = "";
118
conn = new SqlConnection();
119
}
120
#endregion
121![](/Images/OutliningIndicators/InBlock.gif)
122![](/Images/OutliningIndicators/ContractedSubBlock.gif)
有参数构造#region 有参数构造
123
public SqlAccess(string ConnectionString)
124![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
125
strConn = ConnectionString;
126
conn = new SqlConnection(strConn);
127
}
128
#endregion
129![](/Images/OutliningIndicators/InBlock.gif)
130![](/Images/OutliningIndicators/ContractedSubBlock.gif)
返回第一行第一列方法#region 返回第一行第一列方法
131
public object GetScalar(SqlCommand cmd)
132![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
133
object obj = null;
134
try
135![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
136
Open();
137
obj = cmd.ExecuteScalar();
138
}
139
catch (Exception exp)
140![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
141
throw (new Exception("获取第一行第一列数据错误:" + exp.Message));
142
}
143
finally
144![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
145
Close();
146
}
147
return obj;
148
}
149
#endregion
150![](/Images/OutliningIndicators/InBlock.gif)
151![](/Images/OutliningIndicators/ContractedSubBlock.gif)
数据库连接字符串属性器#region 数据库连接字符串属性器
152
public string ConnectionString
153![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
154
get
155![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
156
return strConn;
157
}
158
set
159![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
160
strConn = value;
161
conn.ConnectionString = strConn;
162
}
163
}
164
#endregion
165![](/Images/OutliningIndicators/InBlock.gif)
166![](/Images/OutliningIndicators/ContractedSubBlock.gif)
打开数据库#region 打开数据库
167
public void Open()
168![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
169
try
170![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
171
if (conn.State != ConnectionState.Open) // 判断数据库连接状态是否打开
172![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
173
conn.Open(); // 打开数据库连接
174
}
175
}
176
catch (Exception exp)
177![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
178
throw (new Exception("打开数据库连接错误:" + exp.Message));
179
}
180
}
181
#endregion
182![](/Images/OutliningIndicators/InBlock.gif)
183![](/Images/OutliningIndicators/ContractedSubBlock.gif)
关闭数据库#region 关闭数据库
184
public void Close()
185![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
186
try
187![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
188
if (conn.State != ConnectionState.Closed) // 判断数据库连接是否关闭
189![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
190
conn.Close(); // 关闭数据库连接
191
}
192
}
193
catch (Exception exp)
194![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
195
throw (new Exception("关闭数据库连接错误:" + exp.Message));
196
}
197
}
198
#endregion
199![](/Images/OutliningIndicators/InBlock.gif)
200![](/Images/OutliningIndicators/ContractedSubBlock.gif)
执行命令#region 执行命令
201
public void ExcuteCommand(string CommandString, IDataParameter[] Paras)
202![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
203
try
204![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
205
SqlCommand cmd = new SqlCommand(CommandString, conn);
206
if (Paras != null)
207![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
208
foreach (IDataParameter Para in Paras)
209![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
210
cmd.Parameters.Add(Para);
211
}
212
}
213
Open();
214
cmd.ExecuteNonQuery();
215
}
216
catch (System.Exception exp)
217![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
218
throw (new System.Exception("执行命令错误:" + exp.Message));
219
}
220
finally
221![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
222
Close();
223
}
224
}
225
#endregion
226![](/Images/OutliningIndicators/InBlock.gif)
227![](/Images/OutliningIndicators/ContractedSubBlock.gif)
执行命令返回DataSet#region 执行命令返回DataSet
228
public DataSet GetDataSetFromExcuteCommand(string CommandString, string TableName, IDataParameter[] Paras)
229![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
230
try
231![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
232
SqlCommand cmd = new SqlCommand(CommandString, conn);
233
if (Paras != null)
234![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
235
foreach (IDataParameter Para in Paras)
236![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
237
cmd.Parameters.Add(Para);
238
}
239
}
240![](/Images/OutliningIndicators/InBlock.gif)
241
SqlDataAdapter da = new SqlDataAdapter(cmd);
242
DataSet ds = new DataSet();
243
da.Fill(ds, TableName);
244
return ds;
245
}
246
catch (System.Exception exp)
247![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
248
throw (new System.Exception("执行命令返回DataSet:" + exp.Message));
249
}
250
}
251
#endregion
252![](/Images/OutliningIndicators/InBlock.gif)
253![](/Images/OutliningIndicators/ContractedSubBlock.gif)
执行存储过程#region 执行存储过程
254
public void ExecuteProc(string ProcName, IDataParameter[] Paras)
255![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
256
try
257![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
258
SqlCommand cmd = new SqlCommand();
259
cmd.Connection = conn;
260
cmd.CommandType = CommandType.StoredProcedure;
261
cmd.CommandText = ProcName;
262![](/Images/OutliningIndicators/InBlock.gif)
263
if (Paras != null)
264![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
265
foreach (IDataParameter Para in Paras)
266![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
267
cmd.Parameters.Add(Para);
268
}
269
}
270![](/Images/OutliningIndicators/InBlock.gif)
271
Open();
272
cmd.ExecuteNonQuery();
273
}
274
catch (System.Exception exp)
275![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
276
throw (new System.Exception("执行存储过程错误:" + exp.Message));
277
}
278
finally
279![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
280
Close();
281
}
282
}
283
#endregion
284![](/Images/OutliningIndicators/InBlock.gif)
285![](/Images/OutliningIndicators/ContractedSubBlock.gif)
执行存储过程返回DataSet#region 执行存储过程返回DataSet
286
public DataSet GetDataSetFromExcuteProc(string ProcName, string TableName, IDataParameter[] Paras)
287![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
288
try
289![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
290
SqlCommand cmd = new SqlCommand();
291
cmd.Connection = conn;
292
cmd.CommandType = CommandType.StoredProcedure;
293
cmd.CommandText = ProcName;
294![](/Images/OutliningIndicators/InBlock.gif)
295
if (Paras != null)
296![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
297
foreach (IDataParameter Para in Paras)
298![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
299
cmd.Parameters.Add(Para);
300
}
301
}
302![](/Images/OutliningIndicators/InBlock.gif)
303
SqlDataAdapter da = new SqlDataAdapter(cmd);
304
DataSet ds = new DataSet();
305
da.Fill(ds, TableName);
306
return ds;
307
}
308
catch (System.Exception exp)
309![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
310
throw (new System.Exception("执行存储过程返回数据记录集错误:" + exp.Message));
311
}
312
}
313
#endregion
314![](/Images/OutliningIndicators/InBlock.gif)
315![](/Images/OutliningIndicators/ContractedSubBlock.gif)
执行命令返回第一行第一列#region 执行命令返回第一行第一列
316
public object ExecuteCommandScalar(string CommandString, IDataParameter[] Paras)
317![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
318
SqlCommand cmd = new SqlCommand(CommandString, conn);
319
if (Paras != null)
320![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
321
foreach (IDataParameter Para in Paras)
322![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
323
cmd.Parameters.Add(Para);
324
}
325
}
326
object obj = null;
327
try
328![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
329
Open();
330
obj = cmd.ExecuteScalar();
331
return obj;
332
}
333
catch (System.Exception exp)
334![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
335
throw (new System.Exception("执行命令返回第一行第一列错误:" + exp.Message));
336
}
337
finally
338![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
339
Close();
340
}
341
}
342
#endregion
343![](/Images/OutliningIndicators/InBlock.gif)
344![](/Images/OutliningIndicators/ContractedSubBlock.gif)
执行存储过程返回第一行第一列#region 执行存储过程返回第一行第一列
345
public object ExecuteProcScalar(string ProcName, IDataParameter[] Paras)
346![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
347
try
348![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
349
SqlCommand cmd = new SqlCommand();
350
cmd.Connection = conn;
351
cmd.CommandType = CommandType.StoredProcedure;
352
cmd.CommandText = ProcName;
353![](/Images/OutliningIndicators/InBlock.gif)
354
if (Paras != null)
355![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
356
foreach (IDataParameter Para in Paras)
357![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
358
cmd.Parameters.Add(Para);
359
}
360
}
361![](/Images/OutliningIndicators/InBlock.gif)
362
object obj = null;
363
obj = GetScalar(cmd);
364
return obj;
365
}
366
catch (System.Exception exp)
367![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
368
throw (new System.Exception("执行存储过程返回第一行第一列错误:" + exp.Message));
369
}
370
}
371
#endregion
372![](/Images/OutliningIndicators/InBlock.gif)
373![](/Images/OutliningIndicators/ContractedSubBlock.gif)
执行命令返回IDataReader#region 执行命令返回IDataReader
374
public IDataReader GetDataReaderFromExcuteCommand(string CommandString, IDataParameter[] Paras)
375![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
376
try
377![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
378
SqlCommand cmd = new SqlCommand(CommandString, conn);
379
if (Paras != null)
380![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
381
foreach (IDataParameter Para in Paras)
382![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
383
cmd.Parameters.Add(Para);
384
}
385
}
386![](/Images/OutliningIndicators/InBlock.gif)
387
SqlDataReader Reader = null;
388![](/Images/OutliningIndicators/InBlock.gif)
389
Open();
390
Reader = cmd.ExecuteReader();
391
return Reader;
392
}
393
catch (System.Exception exp)
394![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
395
throw (new System.Exception("执行命令返回数据读取器错误:" + exp.Message));
396
}
397
finally
398![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
399
Close();
400
}
401
}
402
#endregion
403![](/Images/OutliningIndicators/InBlock.gif)
404![](/Images/OutliningIndicators/ContractedSubBlock.gif)
执行存储过程返回IDataReader#region 执行存储过程返回IDataReader
405
public IDataReader GetDataReaderFromExcuteProc(string ProcName, IDataParameter[] Paras)
406![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
407
try
408![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
409
SqlCommand cmd = new SqlCommand();
410
cmd.Connection = conn;
411
cmd.CommandType = CommandType.StoredProcedure;
412
cmd.CommandText = ProcName;
413
if (Paras != null)
414![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
415
foreach (IDataParameter Para in Paras)
416![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
417
cmd.Parameters.Add(Para);
418
}
419
}
420![](/Images/OutliningIndicators/InBlock.gif)
421
SqlDataReader Reader = null;
422![](/Images/OutliningIndicators/InBlock.gif)
423
Open();
424
Reader = cmd.ExecuteReader();
425
return Reader;
426
}
427
catch (System.Exception exp)
428![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
429
throw (new System.Exception("执行存储过程返回数据读取器错误:" + exp.Message));
430
}
431
finally
432![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
433
Close();
434
}
435
}
436
#endregion
437![](/Images/OutliningIndicators/InBlock.gif)
438
#endregion
439
}
440
#endregion
441![](/Images/OutliningIndicators/InBlock.gif)
442![](/Images/OutliningIndicators/ContractedSubBlock.gif)
OLEDB类#region OLEDB类
443
public class OledbAccess : IDataAccess
444![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
445![](/Images/OutliningIndicators/ContractedSubBlock.gif)
IDataAccess 成员#region IDataAccess 成员
446![](/Images/OutliningIndicators/InBlock.gif)
447
private string strConn;
448
private OleDbConnection conn;
449![](/Images/OutliningIndicators/InBlock.gif)
450![](/Images/OutliningIndicators/ContractedSubBlock.gif)
无参数构造#region 无参数构造
451
public OledbAccess()
452![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
453
strConn = "";
454
conn = new OleDbConnection();
455
}
456
#endregion
457![](/Images/OutliningIndicators/InBlock.gif)
458![](/Images/OutliningIndicators/ContractedSubBlock.gif)
有参数构造#region 有参数构造
459
public OledbAccess(string ConnectionString)
460![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
461
strConn = ConnectionString;
462
conn = new OleDbConnection(strConn);
463
}
464
#endregion
465![](/Images/OutliningIndicators/InBlock.gif)
466![](/Images/OutliningIndicators/ContractedSubBlock.gif)
返回第一行第一列方法#region 返回第一行第一列方法
467
public object GetScalar(OleDbCommand cmd)
468![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
469
object obj = null;
470
try
471![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
472
Open();
473
obj = cmd.ExecuteScalar();
474
}
475
catch (Exception exp)
476![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
477
throw (new Exception("获取第一行第一列数据错误:" + exp.Message));
478
}
479
finally
480![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
481
Close();
482
}
483
return obj;
484
}
485
#endregion
486![](/Images/OutliningIndicators/InBlock.gif)
487![](/Images/OutliningIndicators/ContractedSubBlock.gif)
数据库连接字符串属性器#region 数据库连接字符串属性器
488
public string ConnectionString
489![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
490
get
491![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
492
return strConn;
493
}
494
set
495![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
496
strConn = value;
497
conn.ConnectionString = strConn;
498
}
499
}
500
#endregion
501![](/Images/OutliningIndicators/InBlock.gif)
502![](/Images/OutliningIndicators/ContractedSubBlock.gif)
打开数据库#region 打开数据库
503
public void Open()
504![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
505
try
506![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
507
if (conn.State != ConnectionState.Open) // 判断数据库连接状态是否打开
508![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
509
conn.Open(); // 打开数据库连接
510
}
511
}
512
catch (Exception exp)
513![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
514
throw (new Exception("打开数据库连接错误:" + exp.Message));
515
}
516
}
517
#endregion
518![](/Images/OutliningIndicators/InBlock.gif)
519![](/Images/OutliningIndicators/ContractedSubBlock.gif)
关闭数据库#region 关闭数据库
520
public void Close()
521![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
522
try
523![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
524
if (conn.State != ConnectionState.Closed) // 判断数据库连接是否关闭
525![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
526
conn.Close(); // 关闭数据库连接
527
}
528
}
529
catch (Exception exp)
530![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
531
throw (new Exception("关闭数据库连接错误:" + exp.Message));
532
}
533
}
534
#endregion
535![](/Images/OutliningIndicators/InBlock.gif)
536![](/Images/OutliningIndicators/ContractedSubBlock.gif)
执行命令#region 执行命令
537
public void ExcuteCommand(string CommandString, IDataParameter[] Paras)
538![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
539
try
540![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
541
OleDbCommand cmd = new OleDbCommand(CommandString, conn);
542
if (Paras != null)
543![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
544
foreach (IDataParameter Para in Paras)
545![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
546
cmd.Parameters.Add(Para);
547
}
548
}
549
Open();
550
cmd.ExecuteNonQuery();
551
}
552
catch (System.Exception exp)
553![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
554
throw (new System.Exception("执行命令错误:" + exp.Message));
555
}
556
finally
557![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
558
Close();
559
}
560
}
561
#endregion
562![](/Images/OutliningIndicators/InBlock.gif)
563![](/Images/OutliningIndicators/ContractedSubBlock.gif)
执行命令返回DataSet#region 执行命令返回DataSet
564
public DataSet GetDataSetFromExcuteCommand(string CommandString, string TableName, IDataParameter[] Paras)
565![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
566
try
567![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
568
OleDbCommand cmd = new OleDbCommand(CommandString, conn);
569
if (Paras != null)
570![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
571
foreach (IDataParameter Para in Paras)
572![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
573
cmd.Parameters.Add(Para);
574
}
575
}
576![](/Images/OutliningIndicators/InBlock.gif)
577
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
578
DataSet ds = new DataSet();
579
da.Fill(ds, TableName);
580
return ds;
581
}
582
catch (System.Exception exp)
583![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
584
throw (new System.Exception("执行命令返回DataSet:" + exp.Message));
585
}
586
}
587
#endregion
588![](/Images/OutliningIndicators/InBlock.gif)
589![](/Images/OutliningIndicators/ContractedSubBlock.gif)
执行存储过程#region 执行存储过程
590
public void ExecuteProc(string ProcName, IDataParameter[] Paras)
591![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
592
try
593![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
594
OleDbCommand cmd = new OleDbCommand();
595
cmd.Connection = conn;
596
cmd.CommandType = CommandType.StoredProcedure;
597
cmd.CommandText = ProcName;
598![](/Images/OutliningIndicators/InBlock.gif)
599
if (Paras != null)
600![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
601
foreach (IDataParameter Para in Paras)
602![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
603
cmd.Parameters.Add(Para);
604
}
605
}
606![](/Images/OutliningIndicators/InBlock.gif)
607
Open();
608
cmd.ExecuteNonQuery();
609
}
610
catch (System.Exception exp)
611![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
612
throw (new System.Exception("执行存储过程错误:" + exp.Message));
613
}
614
finally
615![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
616
Close();
617
}
618
}
619
#endregion
620![](/Images/OutliningIndicators/InBlock.gif)
621![](/Images/OutliningIndicators/ContractedSubBlock.gif)
执行存储过程返回DataSet#region 执行存储过程返回DataSet
622
public DataSet GetDataSetFromExcuteProc(string ProcName, string TableName, IDataParameter[] Paras)
623![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
624
try
625![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
626
OleDbCommand cmd = new OleDbCommand();
627
cmd.Connection = conn;
628
cmd.CommandType = CommandType.StoredProcedure;
629
cmd.CommandText = ProcName;
630![](/Images/OutliningIndicators/InBlock.gif)
631
if (Paras != null)
632![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
633
foreach (IDataParameter Para in Paras)
634![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
635
cmd.Parameters.Add(Para);
636
}
637
}
638![](/Images/OutliningIndicators/InBlock.gif)
639
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
640
DataSet ds = new DataSet();
641
da.Fill(ds, TableName);
642
return ds;
643
}
644
catch (System.Exception exp)
645![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
646
throw (new System.Exception("执行存储过程返回数据记录集错误:" + exp.Message));
647
}
648
}
649
#endregion
650![](/Images/OutliningIndicators/InBlock.gif)
651![](/Images/OutliningIndicators/ContractedSubBlock.gif)
执行命令返回第一行第一列#region 执行命令返回第一行第一列
652
public object ExecuteCommandScalar(string CommandString, IDataParameter[] Paras)
653![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
654
OleDbCommand cmd = new OleDbCommand(CommandString, conn);
655
if (Paras != null)
656![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
657
foreach (IDataParameter Para in Paras)
658![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
659
cmd.Parameters.Add(Para);
660
}
661
}
662
object obj = null;
663
try
664![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
665
Open();
666
obj = cmd.ExecuteScalar();
667
return obj;
668
}
669
catch (System.Exception exp)
670![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
671
throw (new System.Exception("执行命令返回第一行第一列错误:" + exp.Message));
672
}
673
finally
674![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
675
Close();
676
}
677
}
678
#endregion
679![](/Images/OutliningIndicators/InBlock.gif)
680![](/Images/OutliningIndicators/ContractedSubBlock.gif)
执行存储过程返回第一行第一列#region 执行存储过程返回第一行第一列
681
public object ExecuteProcScalar(string ProcName, IDataParameter[] Paras)
682![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
683
try
684![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
685
OleDbCommand cmd = new OleDbCommand();
686
cmd.Connection = conn;
687
cmd.CommandType = CommandType.StoredProcedure;
688
cmd.CommandText = ProcName;
689![](/Images/OutliningIndicators/InBlock.gif)
690
if (Paras != null)
691![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
692
foreach (IDataParameter Para in Paras)
693![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
694
cmd.Parameters.Add(Para);
695
}
696
}
697![](/Images/OutliningIndicators/InBlock.gif)
698
object obj = null;
699
obj = GetScalar(cmd);
700
return obj;
701
}
702
catch (System.Exception exp)
703![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
704
throw (new System.Exception("执行存储过程返回第一行第一列错误:" + exp.Message));
705
}
706
}
707
#endregion
708![](/Images/OutliningIndicators/InBlock.gif)
709![](/Images/OutliningIndicators/ContractedSubBlock.gif)
执行命令返回IDataReader#region 执行命令返回IDataReader
710
public IDataReader GetDataReaderFromExcuteCommand(string CommandString, IDataParameter[] Paras)
711![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
712
try
713![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
714
OleDbCommand cmd = new OleDbCommand(CommandString, conn);
715
if (Paras != null)
716![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
717
foreach (IDataParameter Para in Paras)
718![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
719
cmd.Parameters.Add(Para);
720
}
721
}
722![](/Images/OutliningIndicators/InBlock.gif)
723
OleDbDataReader Reader = null;
724![](/Images/OutliningIndicators/InBlock.gif)
725
Open();
726
Reader = cmd.ExecuteReader();
727
return Reader;
728
}
729
catch (System.Exception exp)
730![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
731
throw (new System.Exception("执行命令返回数据读取器错误:" + exp.Message));
732
}
733
finally
734![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
735
Close();
736
}
737
}
738
#endregion
739![](/Images/OutliningIndicators/InBlock.gif)
740![](/Images/OutliningIndicators/ContractedSubBlock.gif)
执行存储过程返回IDataReader#region 执行存储过程返回IDataReader
741
public IDataReader GetDataReaderFromExcuteProc(string ProcName, IDataParameter[] Paras)
742![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
743
try
744![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
745
OleDbCommand cmd = new OleDbCommand();
746
cmd.Connection = conn;
747
cmd.CommandType = CommandType.StoredProcedure;
748
cmd.CommandText = ProcName;
749
if (Paras != null)
750![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
751
foreach (IDataParameter Para in Paras)
752![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
753
cmd.Parameters.Add(Para);
754
}
755
}
756![](/Images/OutliningIndicators/InBlock.gif)
757
OleDbDataReader Reader = null;
758![](/Images/OutliningIndicators/InBlock.gif)
759
Open();
760
Reader = cmd.ExecuteReader();
761
return Reader;
762
}
763
catch (System.Exception exp)
764![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
765
throw (new System.Exception("执行存储过程返回数据读取器错误:" + exp.Message));
766
}
767
finally
768![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
769
Close();
770
}
771
}
772
#endregion
773![](/Images/OutliningIndicators/InBlock.gif)
774
#endregion
775
}
776
#endregion
777
}
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
![](/Images/dot.gif)
10
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
11
![](/Images/OutliningIndicators/InBlock.gif)
12
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
13
![](/Images/OutliningIndicators/InBlock.gif)
14
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
15
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
18
![](/Images/OutliningIndicators/InBlock.gif)
19
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
20
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
30
![](/Images/OutliningIndicators/InBlock.gif)
31
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
32
![](/Images/OutliningIndicators/InBlock.gif)
33
![](/Images/OutliningIndicators/InBlock.gif)
34
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
35
![](/Images/OutliningIndicators/InBlock.gif)
36
![](/Images/OutliningIndicators/InBlock.gif)
37
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
38
![](/Images/OutliningIndicators/InBlock.gif)
39
![](/Images/OutliningIndicators/InBlock.gif)
40
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
41
![](/Images/OutliningIndicators/InBlock.gif)
42
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
43
![](/Images/OutliningIndicators/InBlock.gif)
44
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
45
![](/Images/OutliningIndicators/InBlock.gif)
46
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
47
![](/Images/OutliningIndicators/InBlock.gif)
48
![](/Images/OutliningIndicators/InBlock.gif)
49
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
50
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
51
![](/Images/OutliningIndicators/InBlock.gif)
52
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
53
![](/Images/OutliningIndicators/InBlock.gif)
54
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
55
![](/Images/OutliningIndicators/InBlock.gif)
56
![](/Images/OutliningIndicators/InBlock.gif)
57
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
58
![](/Images/OutliningIndicators/InBlock.gif)
59
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
60
![](/Images/OutliningIndicators/InBlock.gif)
61
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
62
![](/Images/OutliningIndicators/InBlock.gif)
63
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
64
![](/Images/OutliningIndicators/InBlock.gif)
65
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
66
![](/Images/OutliningIndicators/InBlock.gif)
67
![](/Images/OutliningIndicators/InBlock.gif)
68
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
69
![](/Images/OutliningIndicators/InBlock.gif)
70
![](/Images/OutliningIndicators/InBlock.gif)
71
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
72
![](/Images/OutliningIndicators/InBlock.gif)
73
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
74
![](/Images/OutliningIndicators/InBlock.gif)
75
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
76
![](/Images/OutliningIndicators/InBlock.gif)
77
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
78
![](/Images/OutliningIndicators/InBlock.gif)
79
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
80
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
81
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
82
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
83
![](/Images/OutliningIndicators/InBlock.gif)
84
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
85
![](/Images/OutliningIndicators/InBlock.gif)
86
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
87
![](/Images/OutliningIndicators/InBlock.gif)
88
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
89
![](/Images/OutliningIndicators/InBlock.gif)
90
![](/Images/OutliningIndicators/InBlock.gif)
91
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
92
![](/Images/OutliningIndicators/InBlock.gif)
93
![](/Images/OutliningIndicators/InBlock.gif)
94
![](/Images/OutliningIndicators/InBlock.gif)
95
![](/Images/OutliningIndicators/InBlock.gif)
96
![](/Images/OutliningIndicators/InBlock.gif)
97
![](/Images/OutliningIndicators/InBlock.gif)
98
![](/Images/OutliningIndicators/InBlock.gif)
99
![](/Images/OutliningIndicators/InBlock.gif)
100
![](/Images/OutliningIndicators/InBlock.gif)
101
![](/Images/OutliningIndicators/InBlock.gif)
102
![](/Images/OutliningIndicators/InBlock.gif)
103
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
104
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
105
![](/Images/OutliningIndicators/InBlock.gif)
106
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
107
![](/Images/OutliningIndicators/InBlock.gif)
108
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
109
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
110
![](/Images/OutliningIndicators/InBlock.gif)
111
![](/Images/OutliningIndicators/InBlock.gif)
112
![](/Images/OutliningIndicators/InBlock.gif)
113
![](/Images/OutliningIndicators/InBlock.gif)
114
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
115
![](/Images/OutliningIndicators/InBlock.gif)
116
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
117
![](/Images/OutliningIndicators/InBlock.gif)
118
![](/Images/OutliningIndicators/InBlock.gif)
119
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
120
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
121
![](/Images/OutliningIndicators/InBlock.gif)
122
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
123
![](/Images/OutliningIndicators/InBlock.gif)
124
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
125
![](/Images/OutliningIndicators/InBlock.gif)
126
![](/Images/OutliningIndicators/InBlock.gif)
127
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
128
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
129
![](/Images/OutliningIndicators/InBlock.gif)
130
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
131
![](/Images/OutliningIndicators/InBlock.gif)
132
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
133
![](/Images/OutliningIndicators/InBlock.gif)
134
![](/Images/OutliningIndicators/InBlock.gif)
135
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
136
![](/Images/OutliningIndicators/InBlock.gif)
137
![](/Images/OutliningIndicators/InBlock.gif)
138
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
139
![](/Images/OutliningIndicators/InBlock.gif)
140
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
141
![](/Images/OutliningIndicators/InBlock.gif)
142
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
143
![](/Images/OutliningIndicators/InBlock.gif)
144
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
145
![](/Images/OutliningIndicators/InBlock.gif)
146
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
147
![](/Images/OutliningIndicators/InBlock.gif)
148
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
149
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
150
![](/Images/OutliningIndicators/InBlock.gif)
151
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
152
![](/Images/OutliningIndicators/InBlock.gif)
153
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
154
![](/Images/OutliningIndicators/InBlock.gif)
155
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
156
![](/Images/OutliningIndicators/InBlock.gif)
157
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
158
![](/Images/OutliningIndicators/InBlock.gif)
159
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
160
![](/Images/OutliningIndicators/InBlock.gif)
161
![](/Images/OutliningIndicators/InBlock.gif)
162
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
163
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
164
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
165
![](/Images/OutliningIndicators/InBlock.gif)
166
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
167
![](/Images/OutliningIndicators/InBlock.gif)
168
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
169
![](/Images/OutliningIndicators/InBlock.gif)
170
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
171
![](/Images/OutliningIndicators/InBlock.gif)
172
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
173
![](/Images/OutliningIndicators/InBlock.gif)
174
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
175
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
176
![](/Images/OutliningIndicators/InBlock.gif)
177
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
178
![](/Images/OutliningIndicators/InBlock.gif)
179
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
180
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
181
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
182
![](/Images/OutliningIndicators/InBlock.gif)
183
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
184
![](/Images/OutliningIndicators/InBlock.gif)
185
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
186
![](/Images/OutliningIndicators/InBlock.gif)
187
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
188
![](/Images/OutliningIndicators/InBlock.gif)
189
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
190
![](/Images/OutliningIndicators/InBlock.gif)
191
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
192
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
193
![](/Images/OutliningIndicators/InBlock.gif)
194
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
195
![](/Images/OutliningIndicators/InBlock.gif)
196
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
197
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
198
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
199
![](/Images/OutliningIndicators/InBlock.gif)
200
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
201
![](/Images/OutliningIndicators/InBlock.gif)
202
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
203
![](/Images/OutliningIndicators/InBlock.gif)
204
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
205
![](/Images/OutliningIndicators/InBlock.gif)
206
![](/Images/OutliningIndicators/InBlock.gif)
207
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
208
![](/Images/OutliningIndicators/InBlock.gif)
209
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
210
![](/Images/OutliningIndicators/InBlock.gif)
211
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
212
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
213
![](/Images/OutliningIndicators/InBlock.gif)
214
![](/Images/OutliningIndicators/InBlock.gif)
215
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
216
![](/Images/OutliningIndicators/InBlock.gif)
217
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
218
![](/Images/OutliningIndicators/InBlock.gif)
219
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
220
![](/Images/OutliningIndicators/InBlock.gif)
221
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
222
![](/Images/OutliningIndicators/InBlock.gif)
223
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
224
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
225
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
226
![](/Images/OutliningIndicators/InBlock.gif)
227
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
228
![](/Images/OutliningIndicators/InBlock.gif)
229
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
230
![](/Images/OutliningIndicators/InBlock.gif)
231
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
232
![](/Images/OutliningIndicators/InBlock.gif)
233
![](/Images/OutliningIndicators/InBlock.gif)
234
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
235
![](/Images/OutliningIndicators/InBlock.gif)
236
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
237
![](/Images/OutliningIndicators/InBlock.gif)
238
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
239
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
240
![](/Images/OutliningIndicators/InBlock.gif)
241
![](/Images/OutliningIndicators/InBlock.gif)
242
![](/Images/OutliningIndicators/InBlock.gif)
243
![](/Images/OutliningIndicators/InBlock.gif)
244
![](/Images/OutliningIndicators/InBlock.gif)
245
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
246
![](/Images/OutliningIndicators/InBlock.gif)
247
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
248
![](/Images/OutliningIndicators/InBlock.gif)
249
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
250
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
251
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
252
![](/Images/OutliningIndicators/InBlock.gif)
253
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
254
![](/Images/OutliningIndicators/InBlock.gif)
255
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
256
![](/Images/OutliningIndicators/InBlock.gif)
257
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
258
![](/Images/OutliningIndicators/InBlock.gif)
259
![](/Images/OutliningIndicators/InBlock.gif)
260
![](/Images/OutliningIndicators/InBlock.gif)
261
![](/Images/OutliningIndicators/InBlock.gif)
262
![](/Images/OutliningIndicators/InBlock.gif)
263
![](/Images/OutliningIndicators/InBlock.gif)
264
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
265
![](/Images/OutliningIndicators/InBlock.gif)
266
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
267
![](/Images/OutliningIndicators/InBlock.gif)
268
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
269
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
270
![](/Images/OutliningIndicators/InBlock.gif)
271
![](/Images/OutliningIndicators/InBlock.gif)
272
![](/Images/OutliningIndicators/InBlock.gif)
273
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
274
![](/Images/OutliningIndicators/InBlock.gif)
275
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
276
![](/Images/OutliningIndicators/InBlock.gif)
277
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
278
![](/Images/OutliningIndicators/InBlock.gif)
279
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
280
![](/Images/OutliningIndicators/InBlock.gif)
281
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
282
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
283
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
284
![](/Images/OutliningIndicators/InBlock.gif)
285
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
286
![](/Images/OutliningIndicators/InBlock.gif)
287
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
288
![](/Images/OutliningIndicators/InBlock.gif)
289
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
290
![](/Images/OutliningIndicators/InBlock.gif)
291
![](/Images/OutliningIndicators/InBlock.gif)
292
![](/Images/OutliningIndicators/InBlock.gif)
293
![](/Images/OutliningIndicators/InBlock.gif)
294
![](/Images/OutliningIndicators/InBlock.gif)
295
![](/Images/OutliningIndicators/InBlock.gif)
296
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
297
![](/Images/OutliningIndicators/InBlock.gif)
298
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
299
![](/Images/OutliningIndicators/InBlock.gif)
300
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
301
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
302
![](/Images/OutliningIndicators/InBlock.gif)
303
![](/Images/OutliningIndicators/InBlock.gif)
304
![](/Images/OutliningIndicators/InBlock.gif)
305
![](/Images/OutliningIndicators/InBlock.gif)
306
![](/Images/OutliningIndicators/InBlock.gif)
307
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
308
![](/Images/OutliningIndicators/InBlock.gif)
309
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
310
![](/Images/OutliningIndicators/InBlock.gif)
311
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
312
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
313
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
314
![](/Images/OutliningIndicators/InBlock.gif)
315
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
316
![](/Images/OutliningIndicators/InBlock.gif)
317
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
318
![](/Images/OutliningIndicators/InBlock.gif)
319
![](/Images/OutliningIndicators/InBlock.gif)
320
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
321
![](/Images/OutliningIndicators/InBlock.gif)
322
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
323
![](/Images/OutliningIndicators/InBlock.gif)
324
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
325
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
326
![](/Images/OutliningIndicators/InBlock.gif)
327
![](/Images/OutliningIndicators/InBlock.gif)
328
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
329
![](/Images/OutliningIndicators/InBlock.gif)
330
![](/Images/OutliningIndicators/InBlock.gif)
331
![](/Images/OutliningIndicators/InBlock.gif)
332
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
333
![](/Images/OutliningIndicators/InBlock.gif)
334
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
335
![](/Images/OutliningIndicators/InBlock.gif)
336
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
337
![](/Images/OutliningIndicators/InBlock.gif)
338
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
339
![](/Images/OutliningIndicators/InBlock.gif)
340
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
341
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
342
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
343
![](/Images/OutliningIndicators/InBlock.gif)
344
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
345
![](/Images/OutliningIndicators/InBlock.gif)
346
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
347
![](/Images/OutliningIndicators/InBlock.gif)
348
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
349
![](/Images/OutliningIndicators/InBlock.gif)
350
![](/Images/OutliningIndicators/InBlock.gif)
351
![](/Images/OutliningIndicators/InBlock.gif)
352
![](/Images/OutliningIndicators/InBlock.gif)
353
![](/Images/OutliningIndicators/InBlock.gif)
354
![](/Images/OutliningIndicators/InBlock.gif)
355
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
356
![](/Images/OutliningIndicators/InBlock.gif)
357
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
358
![](/Images/OutliningIndicators/InBlock.gif)
359
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
360
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
361
![](/Images/OutliningIndicators/InBlock.gif)
362
![](/Images/OutliningIndicators/InBlock.gif)
363
![](/Images/OutliningIndicators/InBlock.gif)
364
![](/Images/OutliningIndicators/InBlock.gif)
365
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
366
![](/Images/OutliningIndicators/InBlock.gif)
367
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
368
![](/Images/OutliningIndicators/InBlock.gif)
369
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
370
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
371
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
372
![](/Images/OutliningIndicators/InBlock.gif)
373
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
374
![](/Images/OutliningIndicators/InBlock.gif)
375
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
376
![](/Images/OutliningIndicators/InBlock.gif)
377
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
378
![](/Images/OutliningIndicators/InBlock.gif)
379
![](/Images/OutliningIndicators/InBlock.gif)
380
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
381
![](/Images/OutliningIndicators/InBlock.gif)
382
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
383
![](/Images/OutliningIndicators/InBlock.gif)
384
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
385
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
386
![](/Images/OutliningIndicators/InBlock.gif)
387
![](/Images/OutliningIndicators/InBlock.gif)
388
![](/Images/OutliningIndicators/InBlock.gif)
389
![](/Images/OutliningIndicators/InBlock.gif)
390
![](/Images/OutliningIndicators/InBlock.gif)
391
![](/Images/OutliningIndicators/InBlock.gif)
392
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
393
![](/Images/OutliningIndicators/InBlock.gif)
394
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
395
![](/Images/OutliningIndicators/InBlock.gif)
396
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
397
![](/Images/OutliningIndicators/InBlock.gif)
398
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
399
![](/Images/OutliningIndicators/InBlock.gif)
400
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
401
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
402
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
403
![](/Images/OutliningIndicators/InBlock.gif)
404
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
405
![](/Images/OutliningIndicators/InBlock.gif)
406
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
407
![](/Images/OutliningIndicators/InBlock.gif)
408
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
409
![](/Images/OutliningIndicators/InBlock.gif)
410
![](/Images/OutliningIndicators/InBlock.gif)
411
![](/Images/OutliningIndicators/InBlock.gif)
412
![](/Images/OutliningIndicators/InBlock.gif)
413
![](/Images/OutliningIndicators/InBlock.gif)
414
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
415
![](/Images/OutliningIndicators/InBlock.gif)
416
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
417
![](/Images/OutliningIndicators/InBlock.gif)
418
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
419
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
420
![](/Images/OutliningIndicators/InBlock.gif)
421
![](/Images/OutliningIndicators/InBlock.gif)
422
![](/Images/OutliningIndicators/InBlock.gif)
423
![](/Images/OutliningIndicators/InBlock.gif)
424
![](/Images/OutliningIndicators/InBlock.gif)
425
![](/Images/OutliningIndicators/InBlock.gif)
426
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
427
![](/Images/OutliningIndicators/InBlock.gif)
428
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
429
![](/Images/OutliningIndicators/InBlock.gif)
430
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
431
![](/Images/OutliningIndicators/InBlock.gif)
432
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
433
![](/Images/OutliningIndicators/InBlock.gif)
434
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
435
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
436
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
437
![](/Images/OutliningIndicators/InBlock.gif)
438
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
439
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
440
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
441
![](/Images/OutliningIndicators/InBlock.gif)
442
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
443
![](/Images/OutliningIndicators/InBlock.gif)
444
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
445
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
446
![](/Images/OutliningIndicators/InBlock.gif)
447
![](/Images/OutliningIndicators/InBlock.gif)
448
![](/Images/OutliningIndicators/InBlock.gif)
449
![](/Images/OutliningIndicators/InBlock.gif)
450
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
451
![](/Images/OutliningIndicators/InBlock.gif)
452
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
453
![](/Images/OutliningIndicators/InBlock.gif)
454
![](/Images/OutliningIndicators/InBlock.gif)
455
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
456
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
457
![](/Images/OutliningIndicators/InBlock.gif)
458
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
459
![](/Images/OutliningIndicators/InBlock.gif)
460
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
461
![](/Images/OutliningIndicators/InBlock.gif)
462
![](/Images/OutliningIndicators/InBlock.gif)
463
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
464
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
465
![](/Images/OutliningIndicators/InBlock.gif)
466
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
467
![](/Images/OutliningIndicators/InBlock.gif)
468
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
469
![](/Images/OutliningIndicators/InBlock.gif)
470
![](/Images/OutliningIndicators/InBlock.gif)
471
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
472
![](/Images/OutliningIndicators/InBlock.gif)
473
![](/Images/OutliningIndicators/InBlock.gif)
474
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
475
![](/Images/OutliningIndicators/InBlock.gif)
476
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
477
![](/Images/OutliningIndicators/InBlock.gif)
478
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
479
![](/Images/OutliningIndicators/InBlock.gif)
480
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
481
![](/Images/OutliningIndicators/InBlock.gif)
482
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
483
![](/Images/OutliningIndicators/InBlock.gif)
484
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
485
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
486
![](/Images/OutliningIndicators/InBlock.gif)
487
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
488
![](/Images/OutliningIndicators/InBlock.gif)
489
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
490
![](/Images/OutliningIndicators/InBlock.gif)
491
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
492
![](/Images/OutliningIndicators/InBlock.gif)
493
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
494
![](/Images/OutliningIndicators/InBlock.gif)
495
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
496
![](/Images/OutliningIndicators/InBlock.gif)
497
![](/Images/OutliningIndicators/InBlock.gif)
498
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
499
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
500
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
501
![](/Images/OutliningIndicators/InBlock.gif)
502
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
503
![](/Images/OutliningIndicators/InBlock.gif)
504
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
505
![](/Images/OutliningIndicators/InBlock.gif)
506
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
507
![](/Images/OutliningIndicators/InBlock.gif)
508
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
509
![](/Images/OutliningIndicators/InBlock.gif)
510
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
511
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
512
![](/Images/OutliningIndicators/InBlock.gif)
513
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
514
![](/Images/OutliningIndicators/InBlock.gif)
515
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
516
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
517
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
518
![](/Images/OutliningIndicators/InBlock.gif)
519
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
520
![](/Images/OutliningIndicators/InBlock.gif)
521
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
522
![](/Images/OutliningIndicators/InBlock.gif)
523
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
524
![](/Images/OutliningIndicators/InBlock.gif)
525
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
526
![](/Images/OutliningIndicators/InBlock.gif)
527
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
528
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
529
![](/Images/OutliningIndicators/InBlock.gif)
530
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
531
![](/Images/OutliningIndicators/InBlock.gif)
532
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
533
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
534
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
535
![](/Images/OutliningIndicators/InBlock.gif)
536
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
537
![](/Images/OutliningIndicators/InBlock.gif)
538
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
539
![](/Images/OutliningIndicators/InBlock.gif)
540
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
541
![](/Images/OutliningIndicators/InBlock.gif)
542
![](/Images/OutliningIndicators/InBlock.gif)
543
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
544
![](/Images/OutliningIndicators/InBlock.gif)
545
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
546
![](/Images/OutliningIndicators/InBlock.gif)
547
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
548
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
549
![](/Images/OutliningIndicators/InBlock.gif)
550
![](/Images/OutliningIndicators/InBlock.gif)
551
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
552
![](/Images/OutliningIndicators/InBlock.gif)
553
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
554
![](/Images/OutliningIndicators/InBlock.gif)
555
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
556
![](/Images/OutliningIndicators/InBlock.gif)
557
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
558
![](/Images/OutliningIndicators/InBlock.gif)
559
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
560
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
561
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
562
![](/Images/OutliningIndicators/InBlock.gif)
563
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
564
![](/Images/OutliningIndicators/InBlock.gif)
565
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
566
![](/Images/OutliningIndicators/InBlock.gif)
567
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
568
![](/Images/OutliningIndicators/InBlock.gif)
569
![](/Images/OutliningIndicators/InBlock.gif)
570
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
571
![](/Images/OutliningIndicators/InBlock.gif)
572
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
573
![](/Images/OutliningIndicators/InBlock.gif)
574
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
575
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
576
![](/Images/OutliningIndicators/InBlock.gif)
577
![](/Images/OutliningIndicators/InBlock.gif)
578
![](/Images/OutliningIndicators/InBlock.gif)
579
![](/Images/OutliningIndicators/InBlock.gif)
580
![](/Images/OutliningIndicators/InBlock.gif)
581
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
582
![](/Images/OutliningIndicators/InBlock.gif)
583
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
584
![](/Images/OutliningIndicators/InBlock.gif)
585
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
586
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
587
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
588
![](/Images/OutliningIndicators/InBlock.gif)
589
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
590
![](/Images/OutliningIndicators/InBlock.gif)
591
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
592
![](/Images/OutliningIndicators/InBlock.gif)
593
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
594
![](/Images/OutliningIndicators/InBlock.gif)
595
![](/Images/OutliningIndicators/InBlock.gif)
596
![](/Images/OutliningIndicators/InBlock.gif)
597
![](/Images/OutliningIndicators/InBlock.gif)
598
![](/Images/OutliningIndicators/InBlock.gif)
599
![](/Images/OutliningIndicators/InBlock.gif)
600
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
601
![](/Images/OutliningIndicators/InBlock.gif)
602
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
603
![](/Images/OutliningIndicators/InBlock.gif)
604
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
605
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
606
![](/Images/OutliningIndicators/InBlock.gif)
607
![](/Images/OutliningIndicators/InBlock.gif)
608
![](/Images/OutliningIndicators/InBlock.gif)
609
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
610
![](/Images/OutliningIndicators/InBlock.gif)
611
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
612
![](/Images/OutliningIndicators/InBlock.gif)
613
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
614
![](/Images/OutliningIndicators/InBlock.gif)
615
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
616
![](/Images/OutliningIndicators/InBlock.gif)
617
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
618
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
619
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
620
![](/Images/OutliningIndicators/InBlock.gif)
621
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
622
![](/Images/OutliningIndicators/InBlock.gif)
623
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
624
![](/Images/OutliningIndicators/InBlock.gif)
625
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
626
![](/Images/OutliningIndicators/InBlock.gif)
627
![](/Images/OutliningIndicators/InBlock.gif)
628
![](/Images/OutliningIndicators/InBlock.gif)
629
![](/Images/OutliningIndicators/InBlock.gif)
630
![](/Images/OutliningIndicators/InBlock.gif)
631
![](/Images/OutliningIndicators/InBlock.gif)
632
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
633
![](/Images/OutliningIndicators/InBlock.gif)
634
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
635
![](/Images/OutliningIndicators/InBlock.gif)
636
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
637
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
638
![](/Images/OutliningIndicators/InBlock.gif)
639
![](/Images/OutliningIndicators/InBlock.gif)
640
![](/Images/OutliningIndicators/InBlock.gif)
641
![](/Images/OutliningIndicators/InBlock.gif)
642
![](/Images/OutliningIndicators/InBlock.gif)
643
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
644
![](/Images/OutliningIndicators/InBlock.gif)
645
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
646
![](/Images/OutliningIndicators/InBlock.gif)
647
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
648
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
649
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
650
![](/Images/OutliningIndicators/InBlock.gif)
651
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
652
![](/Images/OutliningIndicators/InBlock.gif)
653
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
654
![](/Images/OutliningIndicators/InBlock.gif)
655
![](/Images/OutliningIndicators/InBlock.gif)
656
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
657
![](/Images/OutliningIndicators/InBlock.gif)
658
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
659
![](/Images/OutliningIndicators/InBlock.gif)
660
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
661
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
662
![](/Images/OutliningIndicators/InBlock.gif)
663
![](/Images/OutliningIndicators/InBlock.gif)
664
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
665
![](/Images/OutliningIndicators/InBlock.gif)
666
![](/Images/OutliningIndicators/InBlock.gif)
667
![](/Images/OutliningIndicators/InBlock.gif)
668
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
669
![](/Images/OutliningIndicators/InBlock.gif)
670
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
671
![](/Images/OutliningIndicators/InBlock.gif)
672
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
673
![](/Images/OutliningIndicators/InBlock.gif)
674
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
675
![](/Images/OutliningIndicators/InBlock.gif)
676
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
677
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
678
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
679
![](/Images/OutliningIndicators/InBlock.gif)
680
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
681
![](/Images/OutliningIndicators/InBlock.gif)
682
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
683
![](/Images/OutliningIndicators/InBlock.gif)
684
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
685
![](/Images/OutliningIndicators/InBlock.gif)
686
![](/Images/OutliningIndicators/InBlock.gif)
687
![](/Images/OutliningIndicators/InBlock.gif)
688
![](/Images/OutliningIndicators/InBlock.gif)
689
![](/Images/OutliningIndicators/InBlock.gif)
690
![](/Images/OutliningIndicators/InBlock.gif)
691
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
692
![](/Images/OutliningIndicators/InBlock.gif)
693
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
694
![](/Images/OutliningIndicators/InBlock.gif)
695
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
696
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
697
![](/Images/OutliningIndicators/InBlock.gif)
698
![](/Images/OutliningIndicators/InBlock.gif)
699
![](/Images/OutliningIndicators/InBlock.gif)
700
![](/Images/OutliningIndicators/InBlock.gif)
701
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
702
![](/Images/OutliningIndicators/InBlock.gif)
703
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
704
![](/Images/OutliningIndicators/InBlock.gif)
705
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
706
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
707
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
708
![](/Images/OutliningIndicators/InBlock.gif)
709
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
710
![](/Images/OutliningIndicators/InBlock.gif)
711
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
712
![](/Images/OutliningIndicators/InBlock.gif)
713
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
714
![](/Images/OutliningIndicators/InBlock.gif)
715
![](/Images/OutliningIndicators/InBlock.gif)
716
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
717
![](/Images/OutliningIndicators/InBlock.gif)
718
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
719
![](/Images/OutliningIndicators/InBlock.gif)
720
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
721
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
722
![](/Images/OutliningIndicators/InBlock.gif)
723
![](/Images/OutliningIndicators/InBlock.gif)
724
![](/Images/OutliningIndicators/InBlock.gif)
725
![](/Images/OutliningIndicators/InBlock.gif)
726
![](/Images/OutliningIndicators/InBlock.gif)
727
![](/Images/OutliningIndicators/InBlock.gif)
728
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
729
![](/Images/OutliningIndicators/InBlock.gif)
730
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
731
![](/Images/OutliningIndicators/InBlock.gif)
732
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
733
![](/Images/OutliningIndicators/InBlock.gif)
734
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
735
![](/Images/OutliningIndicators/InBlock.gif)
736
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
737
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
738
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
739
![](/Images/OutliningIndicators/InBlock.gif)
740
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
741
![](/Images/OutliningIndicators/InBlock.gif)
742
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
743
![](/Images/OutliningIndicators/InBlock.gif)
744
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
745
![](/Images/OutliningIndicators/InBlock.gif)
746
![](/Images/OutliningIndicators/InBlock.gif)
747
![](/Images/OutliningIndicators/InBlock.gif)
748
![](/Images/OutliningIndicators/InBlock.gif)
749
![](/Images/OutliningIndicators/InBlock.gif)
750
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
751
![](/Images/OutliningIndicators/InBlock.gif)
752
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
753
![](/Images/OutliningIndicators/InBlock.gif)
754
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
755
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
756
![](/Images/OutliningIndicators/InBlock.gif)
757
![](/Images/OutliningIndicators/InBlock.gif)
758
![](/Images/OutliningIndicators/InBlock.gif)
759
![](/Images/OutliningIndicators/InBlock.gif)
760
![](/Images/OutliningIndicators/InBlock.gif)
761
![](/Images/OutliningIndicators/InBlock.gif)
762
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
763
![](/Images/OutliningIndicators/InBlock.gif)
764
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
765
![](/Images/OutliningIndicators/InBlock.gif)
766
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
767
![](/Images/OutliningIndicators/InBlock.gif)
768
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](/Images/dot.gif)
769
![](/Images/OutliningIndicators/InBlock.gif)
770
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
771
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
772
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
773
![](/Images/OutliningIndicators/InBlock.gif)
774
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
775
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
776
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
777
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)