这是一个网友发给我的,一直没有能发上来,今天补充以下!
在tingya的blog中Apache内存池内幕第一章节中对apr_memnode_t(内存分配结点,以下简称结点)的结构体成员做了较详细说明,在本文中对结点做进一步补充说明。
以下是结点定义:
struct apr_memnode_t {
apr_memnode_t *next; /**< next memnode */
apr_memnode_t **ref; /**< reference to self */
apr_uint32_t index; /**< size */
apr_uint32_t free_index; /**< how much free */
char *first_avail; /**< pointer to first free memory */
char *endp; /**< pointer to end of free memory */
};
注意:next,ref两变量,其中ref的注释存在歧义。
Apache中,所有的内存使用都需要通过内存池来分配,以提高Apache的内存分配与回收的速度,减少系统调用。这在tingya的blog中已有较详细的解释。下图是摘自<<apache内存池内幕4>>。
<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1028" style="WIDTH: 450.75pt; HEIGHT: 168.75pt" alt="n0" type="#_x0000_t75"><imagedata o:href="http://asp.6to23.com/vcprogram/image/memory7.jpg" src="file:///C:%5CDOCUME~1%5Ctingya%5CLOCALS~1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image001.jpg"></imagedata></shape>
上图是apr_pool_t的结构体成员图,在该图中,有一个active成员,该成员是apr_memnode_t*类型,管理着池中可用内存链表,上面提到的next,ref正是跟active合用管理了一个完整的可用内存链表。具体的链表用法请见tingya的blog中的讨论。下面我就这两个成员的实际功能做补充说明。
apr_memnode_t *next;
apr_memnode_t **ref;
从定义上看next的意义一目了然,是指向链表的下一结点,而ref是一个二级指针,在内存池的创建函数(apr_pool_create_ex)中,内存池对象也需要向结点申请内存,而该结点又会被放在池对象的active链表中管理:
node->next = node;
node->ref = &node->next;
………
pool->active = pool->self = node;
这时ref指向的是next的地址,这时候链表中只有一个结点;在链表操作时,会使用以下两句代码:
list_insert(active, node);插入操作
list_remove(active);删除操作
这是两个宏定义:
#define list_insert(node, point) do { \
node->ref = point->ref; \
*node->ref = node; \
node->next = point; \
point->ref = &node->next; \
} while (0)
/* list_remove() removes 'node' from its list. */
#define list_remove(node) do { \
*node->ref = node->next; \
node->next->ref = node->ref; \
} while (0)
在宏定义中,list_insert操作,是向链表中point结点后面插入一个结点,
node->ref = point->ref;
当链表中只有一个结点时,这时
<group id="_x0000_s1092" style="WIDTH: 414pt; HEIGHT: 241.8pt; mso-position-horizontal-relative: char; mso-position-vertical-relative: line" coordsize="8280,4836" coordorigin="1800,8262" editas="canvas"><lock aspectratio="t" v:ext="edit"></lock><shape id="_x0000_s1093" style="LEFT: 1800px; WIDTH: 8280px; POSITION: absolute; TOP: 8262px; HEIGHT: 4836px" o:preferrelative="f" type="#_x0000_t75"><font size="3"><fill o:detectmouseclick="t"></fill><path o:connecttype="none" o:extrusionok="t"></path><lock v:ext="edit" text="t"></lock></font></shape><group id="_x0000_s1094" style="LEFT: 3852px; WIDTH: 1080px; POSITION: absolute; TOP: 8574px; HEIGHT: 1872px" coordsize="1080,1872" coordorigin="2952,9042"><rect id="_x0000_s1095" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9042px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1096" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9510px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">next</span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1097" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9978px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">ref</span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1098" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 10446px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><p><font face="Times New Roman" size="3"></font></p></span></p></div></td></tr></tbody></table></textbox></rect></group><group id="_x0000_s1099" style="LEFT: 1872px; WIDTH: 1080px; POSITION: absolute; TOP: 8574px; HEIGHT: 1872px" coordsize="1080,1872" coordorigin="2952,9042"><rect id="_x0000_s1100" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9042px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1101" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9510px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><p><font face="Times New Roman" size="3"></font></p></span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1102" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9978px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">active</span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1103" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 10446px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><p><font face="Times New Roman" size="3"></font></p></span></p></div></td></tr></tbody></table></textbox></rect></group><group id="_x0000_s1104" style="LEFT: 1872px; WIDTH: 1080px; POSITION: absolute; TOP: 10446px; HEIGHT: 1872px" coordsize="1080,1872" coordorigin="2952,9042"><rect id="_x0000_s1105" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9042px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1106" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9510px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><p><font face="Times New Roman" size="3"></font></p></span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1107" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9978px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><p><font face="Times New Roman" size="3"></font></p></span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1108" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 10446px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><p><font face="Times New Roman" size="3"></font></p></span></p></div></td></tr></tbody></table></textbox></rect></group><line id="_x0000_s1109" style="POSITION: absolute; flip: y" to="3852,9822" from="2952,8574"><stroke endarrow="block"><font face="Times New Roman" size="3"></font></stroke></line><shape id="_x0000_s1110" style="LEFT: 4932px; WIDTH: 438px; POSITION: absolute; TOP: 8646px; HEIGHT: 552px; mso-position-horizontal: absolute; mso-position-vertical: absolute" filled="f" path="m,552l438,542,423,6,18,e" coordsize="438,552"><font face="Times New Roman"><font size="3"><stroke endarrow="block"></stroke><path arrowok="t"></path></font></font></shape><shape id="_x0000_s1111" style="LEFT: 4572px; WIDTH: 513px; POSITION: absolute; TOP: 9345px; HEIGHT: 477px; mso-position-horizontal: absolute; mso-position-vertical: absolute" filled="f" path="m,561l513,540,498,,18,9e" coordsize="513,561"><font face="Times New Roman"><font size="3"><stroke endarrow="block"></stroke><path arrowok="t"></path></font></font></shape><shapetype id="_x0000_t202" path="m,l,21600r21600,l21600,xe" o:spt="202" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><path o:connecttype="rect" gradientshapeok="t"></path></shapetype><shape id="_x0000_s1112" style="LEFT: 4932px; WIDTH: 1980px; POSITION: absolute; TOP: 12474px; HEIGHT: 468px" stroked="f" type="#_x0000_t202"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center"><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">图</span><span lang="EN-US"><font face="Times New Roman">1</font></span></font></p></div></td></tr></tbody></table></textbox></shape>
<wrap type="none"></wrap><anchorlock></anchorlock></group>
上图是内存池初始时的链表状态,ref指向的是next,即ref=&next.
运行list_insert(node,point)后:
<group id="_x0000_s1063" style="WIDTH: 414pt; HEIGHT: 241.8pt; mso-position-horizontal-relative: char; mso-position-vertical-relative: line" coordsize="8280,4836" coordorigin="1800,8262" editas="canvas"><lock aspectratio="t" v:ext="edit"></lock><shape id="_x0000_s1064" style="LEFT: 1800px; WIDTH: 8280px; POSITION: absolute; TOP: 8262px; HEIGHT: 4836px" o:preferrelative="f" type="#_x0000_t75"><fill o:detectmouseclick="t"></fill><path o:connecttype="none" o:extrusionok="t"></path><lock v:ext="edit" text="t"></lock></shape><group id="_x0000_s1065" style="LEFT: 3852px; WIDTH: 1080px; POSITION: absolute; TOP: 8574px; HEIGHT: 1872px" coordsize="1080,1872" coordorigin="2952,9042"><rect id="_x0000_s1066" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9042px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1067" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9510px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">next</span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1068" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9978px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">ref</span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1069" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 10446px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><p><font face="Times New Roman" size="3"></font></p></span></p></div></td></tr></tbody></table></textbox></rect></group><group id="_x0000_s1070" style="LEFT: 1872px; WIDTH: 1080px; POSITION: absolute; TOP: 8574px; HEIGHT: 1872px" coordsize="1080,1872" coordorigin="2952,9042"><rect id="_x0000_s1071" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9042px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1072" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9510px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><p><font face="Times New Roman" size="3"></font></p></span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1073" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9978px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">active</span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1074" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 10446px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><p><font face="Times New Roman" size="3"></font></p></span></p></div></td></tr></tbody></table></textbox></rect></group><group id="_x0000_s1075" style="LEFT: 1872px; WIDTH: 1080px; POSITION: absolute; TOP: 10446px; HEIGHT: 1872px" coordsize="1080,1872" coordorigin="2952,9042"><rect id="_x0000_s1076" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9042px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1077" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9510px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><p><font face="Times New Roman" size="3"></font></p></span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1078" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9978px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><p><font face="Times New Roman" size="3"></font></p></span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1079" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 10446px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><p><font face="Times New Roman" size="3"></font></p></span></p></div></td></tr></tbody></table></textbox></rect></group><line id="_x0000_s1080" style="POSITION: absolute; flip: y" to="3852,9822" from="2952,8574"><stroke endarrow="block"><font face="Times New Roman" size="3"></font></stroke></line><shape id="_x0000_s1081" style="LEFT: 4932px; WIDTH: 1980px; POSITION: absolute; TOP: 12474px; HEIGHT: 468px" stroked="f" type="#_x0000_t202"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center"><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">图</span><span lang="EN-US"><font face="Times New Roman">2</font></span></font></p></div></td></tr></tbody></table></textbox></shape><group id="_x0000_s1082" style="LEFT: 5832px; WIDTH: 1080px; POSITION: absolute; TOP: 8574px; HEIGHT: 1872px" coordsize="1080,1872" coordorigin="2952,9042"><rect id="_x0000_s1083" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9042px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1084" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9510px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">next</span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1085" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9978px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">ref</span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1086" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 10446px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><p><font face="Times New Roman" size="3"></font></p></span></p></div></td></tr></tbody></table></textbox></rect></group><shape id="_x0000_s1087" style="LEFT: 4032px; WIDTH: 720px; POSITION: absolute; TOP: 10491px; HEIGHT: 468px" stroked="f" type="#_x0000_t202"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center"><span lang="EN-US"><font face="Times New Roman" size="3">node</font></span></p></div></td></tr></tbody></table></textbox></shape><line id="_x0000_s1088" style="POSITION: absolute; flip: y" to="5832,9198" from="4572,8574"><stroke endarrow="block"><font face="Times New Roman" size="3"></font></stroke></line><line id="_x0000_s1089" style="POSITION: absolute; flip: x y" to="6012,9666" from="4572,9354"><stroke endarrow="block"><font face="Times New Roman" size="3"></font></stroke></line><shape id="_x0000_s1090" style="LEFT: 4755px; WIDTH: 2595px; POSITION: absolute; TOP: 8290px; HEIGHT: 992px; mso-position-horizontal: absolute; mso-position-vertical: absolute" filled="f" path="m2157,992r438,-19l2580,,,8,30,372e" coordsize="2595,992"><font size="3"><font face="Times New Roman"><stroke endarrow="block"></stroke><path arrowok="t"></path></font></font></shape><line id="_x0000_s1091" style="POSITION: absolute; flip: y" to="5832,9822" from="4572,9198"><stroke endarrow="block"><font face="Times New Roman" size="3"></font></stroke></line><wrap type="none"></wrap><anchorlock></anchorlock></group>
运行list_insert(node1, node)后:
<group id="_x0000_s1026" style="WIDTH: 414pt; HEIGHT: 243.9pt; mso-position-horizontal-relative: char; mso-position-vertical-relative: line" coordsize="8280,4878" coordorigin="1800,8262" editas="canvas"><lock aspectratio="t" v:ext="edit"></lock><shape id="_x0000_s1027" style="LEFT: 1800px; WIDTH: 8280px; POSITION: absolute; TOP: 8262px; HEIGHT: 4878px" o:preferrelative="f" type="#_x0000_t75"><font size="3"><font face="Times New Roman"><fill o:detectmouseclick="t"></fill><path o:connecttype="none" o:extrusionok="t"></path><lock v:ext="edit" text="t"></lock></font></font></shape><group id="_x0000_s1028" style="LEFT: 6114px; WIDTH: 1080px; POSITION: absolute; TOP: 8772px; HEIGHT: 1872px" coordsize="1080,1872" coordorigin="2952,9042"><rect id="_x0000_s1029" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9042px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1030" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9510px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">next</span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1031" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9978px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">ref</span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1032" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 10446px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><p><font face="Times New Roman" size="3"></font></p></span></p></div></td></tr></tbody></table></textbox></rect></group><group id="_x0000_s1033" style="LEFT: 1872px; WIDTH: 1080px; POSITION: absolute; TOP: 8574px; HEIGHT: 1872px" coordsize="1080,1872" coordorigin="2952,9042"><rect id="_x0000_s1034" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9042px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1035" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9510px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><p><font face="Times New Roman" size="3"></font></p></span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1036" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9978px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">active</span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1037" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 10446px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><p><font face="Times New Roman" size="3"></font></p></span></p></div></td></tr></tbody></table></textbox></rect></group><group id="_x0000_s1038" style="LEFT: 1872px; WIDTH: 1080px; POSITION: absolute; TOP: 10446px; HEIGHT: 1872px" coordsize="1080,1872" coordorigin="2952,9042"><rect id="_x0000_s1039" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9042px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1040" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9510px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><p><font face="Times New Roman" size="3"></font></p></span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1041" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9978px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><p><font face="Times New Roman" size="3"></font></p></span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1042" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 10446px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><p><font face="Times New Roman" size="3"></font></p></span></p></div></td></tr></tbody></table></textbox></rect></group><line id="_x0000_s1043" style="POSITION: absolute; flip: y" to="4212,9822" from="2952,8886"><stroke endarrow="block"><font face="Times New Roman" size="3"></font></stroke></line><shape id="_x0000_s1044" style="LEFT: 4932px; WIDTH: 1980px; POSITION: absolute; TOP: 12474px; HEIGHT: 468px" stroked="f" type="#_x0000_t202"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center"><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">图</span><span lang="EN-US"><font face="Times New Roman">3</font></span></font></p></div></td></tr></tbody></table></textbox></shape><group id="_x0000_s1045" style="LEFT: 8094px; WIDTH: 1080px; POSITION: absolute; TOP: 8772px; HEIGHT: 1872px" coordsize="1080,1872" coordorigin="2952,9042"><rect id="_x0000_s1046" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9042px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1047" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9510px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">next</span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1048" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9978px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">ref</span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1049" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 10446px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><p><font face="Times New Roman" size="3"></font></p></span></p></div></td></tr></tbody></table></textbox></rect></group><shape id="_x0000_s1050" style="LEFT: 6294px; WIDTH: 720px; POSITION: absolute; TOP: 10689px; HEIGHT: 468px" stroked="f" type="#_x0000_t202"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center"><span lang="EN-US"><font face="Times New Roman" size="3">node</font></span></p></div></td></tr></tbody></table></textbox></shape><line id="_x0000_s1051" style="POSITION: absolute; flip: y" to="8094,9396" from="6834,8772"><stroke endarrow="block"><font face="Times New Roman" size="3"></font></stroke></line><line id="_x0000_s1052" style="POSITION: absolute; flip: x y" to="8274,9864" from="6834,9552"><stroke endarrow="block"><font face="Times New Roman" size="3"></font></stroke></line><shape id="_x0000_s1053" style="LEFT: 4752px; WIDTH: 4935px; POSITION: absolute; TOP: 8446px; HEIGHT: 891px; mso-position-horizontal: absolute; mso-position-vertical: absolute" filled="f" path="m4368,884r567,7l4906,,,7,3,348e" coordsize="4935,891"><font size="3"><font face="Times New Roman"><stroke endarrow="block"></stroke><path arrowok="t"></path></font></font></shape><group id="_x0000_s1054" style="LEFT: 4212px; WIDTH: 1080px; POSITION: absolute; TOP: 8772px; HEIGHT: 1872px" coordsize="1080,1872" coordorigin="2952,9042"><rect id="_x0000_s1055" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9042px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman" size="3">……</font></span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1056" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9510px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">next</span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1057" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 9978px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"><div><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">ref</span></p></div></td></tr></tbody></table></textbox></rect><rect id="_x0000_s1058" style="LEFT: 2952px; WIDTH: 1080px; POSITION: absolute; TOP: 10446px; HEIGHT: 468px" fillcolor="#9cf"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody>& |