Initial add of defaria.com
[clearscm.git] / defaria.com / blogs / Status / archives / week_2006_01_01.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" id="sixapart-standard">
4 <head>
5    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6    <meta name="generator" content="Movable Type 5.2.3" />
7
8    <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles-site.css" type="text/css" />
9    <link rel="alternate" type="application/atom+xml" title="Atom" href="http://defaria.com/blogs/Status/atom.xml" />
10    <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="http://defaria.com/blogs/Status/index.xml"$>" />
11
12    <title>Status for Andrew DeFaria: January  1, 2006 - January  7, 2006 Archives</title>
13
14    <link rel="start" href="http://defaria.com/blogs/Status/" title="Home" />
15    <link rel="prev" href="http://defaria.com/blogs/Status/archives/week_2005_12_25.html" title="December 25, 2005 - December 31, 2005" />
16    <link rel="next" href="http://defaria.com/blogs/Status/archives/week_2006_01_08.html" title="January  8, 2006 - January 14, 2006" />
17 </head>
18 <body class="layout-one-column">
19    <div id="container">
20       <div id="container-inner" class="pkg">
21
22          <div id="banner">
23             <div id="banner-inner" class="pkg">
24                <h1 id="banner-header"><a href="http://defaria.com/blogs/Status/" accesskey="1">Status for Andrew DeFaria</a></h1>
25                <h2 id="banner-description">Searchable status reports and work log</h2>
26             </div>
27          </div>
28
29          <div id="pagebody">
30             <div id="pagebody-inner" class="pkg">
31                <div id="alpha">
32                   <div id="alpha-inner" class="pkg">
33                      
34                      <p class="content-nav">
35                         <a href="http://defaria.com/blogs/Status/archives/week_2005_12_25.html">&laquo; December 25, 2005 - December 31, 2005</a> |
36                         <a href="http://defaria.com/blogs/Status/">Main</a>
37                         | <a href="http://defaria.com/blogs/Status/archives/week_2006_01_08.html">January  8, 2006 - January 14, 2006 &raquo;</a>
38                      </p>
39                      
40                      
41                      
42
43                      <h2 class="date-header">January  6, 2006</h2>
44                      <a id="a000512"></a>
45                      <div class="entry" id="entry-512">
46                         <h3 class="entry-header">Mail.pm/ccase-rman-3 crisis</h3>
47                         <div class="entry-content">
48                            <div class="entry-body">
49                               <ul>
50   <li>Further developed Mail.pm. Added code to send HTML mail. HTML mail not completely working yet</li>
51
52   <li>Worked on problems with ccase-rmna-3</li>
53
54   <li>Assisted Ray in some Perl coding issues</li>
55 </ul>
56                               
57                               <p class="entry-footer">
58                                  <span class="post-footers">Posted by  at  4:48 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000512.html">Permalink</a>
59                                  
60                                  
61                               </p>
62                            </div>
63                         </div>
64                      </div>
65                      
66                      
67
68                      <h2 class="date-header">January  5, 2006</h2>
69                      <a id="a000511"></a>
70                      <div class="entry" id="entry-511">
71                         <h3 class="entry-header">Mail.pm/CQ Web</h3>
72                         <div class="entry-content">
73                            <div class="entry-body">
74                               <ul>
75   <li>Developed Mail.pm module</li>
76
77   <li>Working with Rational about CQ Web hang problem</li>
78 </ul>
79                               
80                               <p class="entry-footer">
81                                  <span class="post-footers">Posted by  at  7:56 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000511.html">Permalink</a>
82                                  
83                                  
84                               </p>
85                            </div>
86                         </div>
87                      </div>
88                      
89                      
90
91                      <h2 class="date-header">January  4, 2006</h2>
92                      <a id="a000510"></a>
93                      <div class="entry" id="entry-510">
94                         <h3 class="entry-header">More module coding</h3>
95                         <div class="entry-content">
96                            <div class="entry-body">
97                               <ul>
98   <li>Standardized some modules a little bit</li>
99
100   <li>Added much more functionality to Clearcase modules and tied that into stats and log_activity</li>
101
102   <li>Changed the startup of many scripts to be more standard</li>
103
104   <li>Implemented much more functionality in stats</li>
105 </ul>
106                               
107                               <h2>Odd characters in view tags</h2>
108
109 <p>I found this odd view tag in the <span>SanJoseNT</span> region: 
110
111 <div class="code"><pre>
112 ccase-sj1-1:ct lsview -long -region SanJoseNT helenay_PIRelease_12022002_7031RC\)
113 Tag: helenay_PIRelease_12022002_7031RC)
114   Global path: \\Pc-1ubrv\Myview\helenay.v.vws
115   Server host: Pc-1ubrv
116   Region: SanJoseNT
117   Active: NO
118   View tag uuid:132d6e50.0eee11d7.a7a4.00:b0:d0:20:ba:8a
119 View on host: Pc-1ubrv
120 View server access path: F:\Myview\helenay.v.vws
121 View uuid: 132d6e50.0eee11d7.a7a4.00:b0:d0:20:ba:8a
122 View attributes: snapshot
123 View owner: BROADCOM\helenay
124 </pre></div>
125
126 <p>Note the trailing ")" in the view tag. Alas this screws up Perl scripts when one may take a view tag and include it in a cleartool cmd:</p>
127
128 <div class="code"><pre>
129 `cleartool lsview -long -region SanJoseNT $view_tag 2&gt; /dev/null`
130 </pre></div>
131
132 <p>when $view_tag is the above results in:</p>
133
134 <div class="code"><pre>
135 sh: -c: line 1: syntax error near unexpected token `)'
136 sh: -c: line 1: `cleartool lsview -long -region SanJoseNT helenay_PIRelease_12022002_7031RC) 2&gt; /dev/null'
137 </pre></div>
138
139 <p>I don't think I should write code to escape such characters but what else can I do? We could ask this user to rename their view but apparently  Clearcase does not disallow such strange characters in view tag names (and perhaps other objects...).</p>
140
141 <h2>DNS Issues</h2>
142
143 <p>Kerrynn De Roche wrote:</p>
144
145 <blockquote type="cite">
146   <p>I just checked the etc/hosts and it seems we had last set the entries to 128.34 instead of 128.37. I changed them to 128.37 and it seems to be working now...</p>
147 </blockquote>
148
149 <p>10.136.128.37 has always been the IP address of ccase-rmna-4. If you
150 had previously had 10.138.128.34 then that was what was wrong (with
151 that workaround).</p>
152
153 <blockquote type="cite">
154   <p>I would rather not have to worry about having to check the hosts file  whenever the IP address changes though.</p>
155 </blockquote>
156
157 <p>You see that's the difference between desktops and servers - server IP
158 addresses never (or at least rarely) change. In fact in the administration business, keeping the servers IP address static is always a consideration - even if the machine is being swapped. We'll swap the IP addresses in DNS to the new machine to keep them the same precisely because of these issues. ccase-rmna-4's IP address will not change!</p>
159
160 <blockquote type="cite">
161   <p>What is the method you use to not have to worry about hosts file?</p>
162 </blockquote>
163
164 <p>As I said, in my environment it works without /etc/hosts:</p>
165
166 <div class="code"><pre>
167 <font color="#3333ff"><b>Local:</b></font><u>cat /etc/hosts</u>
168 # Copyright (c) 1993-1999 Microsoft Corp.
169 #
170 # This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
171 #
172 # This file contains the mappings of IP addresses to host names. Each
173 # entry should be kept on an individual line. The IP address should
174 # be placed in the first column followed by the corresponding host name.
175 # The IP address and the host name should be separated by at least one
176 # space.
177 #
178 # Additionally, comments (such as these) may be inserted on individual
179 # lines or following the machine name denoted by a '#' symbol.
180 #
181 # For example:
182 #
183 #      102.54.94.97     rhino.acme.com          # source server
184 #       38.25.63.10     x.acme.com              # x client host
185 127.0.0.1       localhost laptop
186 #10.136.128.37  ccase-rmna-4
187 </pre></div>
188
189 <p>Note ccase-rmna-4's entry is commented out. Additionally I do not have
190 ca.broadcom.com on the DNS Suffix Search List:</p>
191
192 <div class="code"><pre>
193 <font color="#3333ff"><b>Local:</b></font><u>ipconfig /all</u>
194
195 Windows IP Configuration
196
197         Host Name . . . . . . . . . . . . : LTSJCA-ADEFARIA
198         Primary Dns Suffix  . . . . . . . : corp.ad.broadcom.com
199         Node Type . . . . . . . . . . . . : Hybrid
200         IP Routing Enabled. . . . . . . . : No
201         WINS Proxy Enabled. . . . . . . . : No
202         <font color="#ff0000"><b>DNS Suffix Search List. . . . . . : corp.ad.broadcom.com
203                                             broadcom.com</b></font>
204
205 Ethernet adapter Wireless:
206
207         Media State . . . . . . . . . . . : Media disconnected
208         Description . . . . . . . . . . . : Broadcom 802.11g Network
209 Adapter
210         Physical Address. . . . . . . . . : 00-10-18-90-1D-11
211
212 Ethernet adapter Secondary:
213
214         Media State . . . . . . . . . . . : Media disconnected
215         Description . . . . . . . . . . . : 3Com 3C920 Integrated Fast Ethernet        Controller (3C905C-TX Compatible) #2
216         Physical Address. . . . . . . . . : 00-08-74-95-4A-24
217
218 Ethernet adapter Primary:
219
220         Connection-specific DNS Suffix  . : broadcom.com
221         Description . . . . . . . . . . . : 3Com 3C920 Integrated Fast Ethernet        Controller (3C905C-TX Compatible)
222         Physical Address. . . . . . . . . : 00-B0-D0-0E-A2-71
223         Dhcp Enabled. . . . . . . . . . . : Yes
224         Autoconfiguration Enabled . . . . : Yes
225         IP Address. . . . . . . . . . . . : 10.16.65.219
226         Subnet Mask . . . . . . . . . . . : 255.255.240.0
227         Default Gateway . . . . . . . . . : 10.16.64.1
228         DHCP Server . . . . . . . . . . . : 10.16.192.15
229         DNS Servers . . . . . . . . . . . : 10.16.64.11
230                                             10.16.64.12
231                                             10.16.64.13
232         Primary WINS Server . . . . . . . : 10.16.192.15
233         Secondary WINS Server . . . . . . : 10.16.192.16
234         Lease Obtained. . . . . . . . . . : Tuesday, January 03, 2006 8:29:46 PM
235         Lease Expires . . . . . . . . . . : Friday, January 06, 2006 8:29:46 PM
236 </pre></div>
237
238 <p>So I don't have any kind of workaround any more. It just works. By that
239 I mean the following command used to fail stating a  WINSOCK error trying to contact ccase-rman-4:</p>
240
241 <div class="code"><pre>
242 <font color="#3333ff"><b>Local:</b></font><u>ct lsstream -invob \\rmna_projects</u>
243 </pre></div>
244
245 <p>(Note ct is aliased to cleartool and since I'm using Cygwin "\\" collapses to a single "\"). Now this command works for me. Note that nslookup of a bare ccase-rmna-4 still fails for me:</p>
246
247 <div class="code"><pre>
248 <font color="#3333ff"><b>Local:</b></font><u>nslookup ccase-rmna-4</u>
249 *** dns-sj1-1b.sj.broadcom.com can't find ccase-rmna-4: Non-existent domain
250 Server:  dns-sj1-1b.sj.broadcom.com
251 Address:  10.16.64.11
252 </pre></div>
253
254 <p>This is because ccase-rmna-4 (and  case-rmna-4.corp.ad.broadcom.com and ccase-rmna-4.broadcom.com from the DNS Suffix Search List) don't exist - it should be  case-rmna-4.ca.broadcom.com. But a FQDN works:</p>
255
256 <div class="code"><pre>
257 <font color="#3333ff"><b>Local:</b></font><u>nslookup ccase-rmna-4.ca.broadcom.com</u>
258 Non-authoritative answer:
259 Server:  dns-sj1-1b.sj.broadcom.com
260 Address:  10.16.64.11
261
262 Name:    ccase-rmna-4.ca.broadcom.com
263 Address:  10.136.128.37
264 </pre></div>
265
266 <p>The way resolver(3) (DNS's name resolution) works is to look at files like /etc/hosts and/or apply DNS Suffix Search Lists. So if DNS found ccase-rmna-4 in /etc/hosts it would have it's IP address. Otherwise it'll take a bare hostname of ccase-rmna-4 and append the suffixes. So if you added ca.broadcom.com to the list that also should work.</p>
267
268 <p>However the whole reason that Clearcase is using ccase-rmna-4 is
269 because that's what <b>was</b> listed in the vob tag:</p>
270
271 <div class="code"><pre>
272 <font color="#3333ff"><b>Local:</b></font><u>llvob \\rmna_projects</u>
273 Tag: \rmna_projects
274   Global path: \\cc-rmna-storage\ccstgloc-cabu\vobstore\rmna_projects.vbs
275   Server host: ccase-rmna-4.ca.broadcom.com
276   Access: public
277   Mount options: 
278   Region: rmnaNT
279   Active: NO
280   Vob tag replica uuid: 088b79e0.0b0c11d9.9204.00:01:80:c8:b5:2d
281   <font color="#ff0000"><b>Vob on host: ccase-rmna-4.ca.broadcom.com</b></font>
282 Vob server access path: /projects/ccstgloc-<span>cabu</span>/vobstore/rmna_projects.vbs
283 Vob family uuid:  09d0e19e.8b6611d5.b03b.00:01:80:c8:b5:2d
284 Vob replica uuid: 088b79e0.0b0c11d9.9204.00:01:80:c8:b5:2d
285 Vob registry attributes: ucmvob,replicated
286 </pre></div>
287
288 <p>but as you can see we fully qualified ccase-rmna-4 to ccase-rmna-4.ca.broadcom.com. This means that this <b>should</b> work
289 without an /etc/host workaround or an "add to DNS Suffix Search List"
290 workaround. Why that's not working remains a mystery.
291                               
292                               <p class="entry-footer">
293                                  <span class="post-footers">Posted by  at  6:19 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000510.html">Permalink</a>
294                                  
295                                  
296                               </p>
297                            </div>
298                         </div>
299                      </div>
300                      
301                      
302
303                      <h2 class="date-header">January  3, 2006</h2>
304                      <a id="a000509"></a>
305                      <div class="entry" id="entry-509">
306                         <h3 class="entry-header">More Clearcase modules</h3>
307                         <div class="entry-content">
308                            <div class="entry-body">
309                               <ul>
310   <li>Started creating a Clearcase.pm module to hold site specific Clearcase information</li>
311
312   <li>Created OSDep.pm</li>
313
314   <li>Worked with the Help Desk to attempt to fix problem with Windows Update</li>
315 </ul>
316                               
317                               <p class="entry-footer">
318                                  <span class="post-footers">Posted by  at  6:09 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000509.html">Permalink</a>
319                                  
320                                  
321                               </p>
322                            </div>
323                         </div>
324                      </div>
325                      
326                      
327
328                      <h2 class="date-header">January  2, 2006</h2>
329                      <a id="a000508"></a>
330                      <div class="entry" id="entry-508">
331                         <h3 class="entry-header">cvsims/Vobs</h3>
332                         <div class="entry-content">
333                            <div class="entry-body">
334                               <ul>
335   <li>Documented set up of <a href="http://intranet.broadcom.com/~adefaria/CVS/">CVS SCP connector</a></li>
336
337   <li>Added more functionality to Clearcase::Vob</li>
338
339   <li>Coded up a preliminary stats script</li>
340 </ul>
341                               
342                               <h2>CVS CSP Connector</h2>
343
344 <p>I've updated <a href="http://intranet.broadcom.com/~adefaria/CVS/">CVS CSP Connector</a> documentation to add a description of the CVS administrative files that need to be changed. You'll note at the bottom that the only issues that remain are where to apply this <i>CVS CSP C<span>onnector</span></i> to. I believe we were waiting for David to respond as to the design.</p>
345
346 <p>The other issue that I noted was about how to handle branches. IOW do we need to include the branch name in the change set that we append. With the <i>Clearcase CSP Connector</i> the view extended pathname is what is put into the change set. As you know,  Clearcase's view extended pathname will include branch names. In CVS such branch names are not included. Instead CVS relies on extending the revision number with extra digits. So a revision number of 1.1 would represent something on the main branch while 1.1.2.1 would be on some branch. There is no branch name information in there - one must do a cvs status or log command to find a branch name such as:</p>
347
348 <div class="code"><pre>
349 Sticky Tag:          andrew-branch (branch: 1.1.2)
350 </pre></div>
351
352 <p>then make the association between all 1.1.2.x revisions and andrew-branch above.</p>
353
354 <p>If David is OK with a 4, 6, 8, etc. revision number being enough to denote that this file's revision is branched and doesn't need the branch name then cvsims is effectively functionally complete. We just need to perform the CVS Setup described at <a href="http://intranet.broadcom.com/~adefaria/CVS/">CVS CSP Connector</a> on the repositories and directories under those repositories that David or others want to enforce the CVS CSP Connector on.</p>
355
356 <h2>stats</h2>
357
358 <p>Ray Tran wrote:</p>
359  
360 <blockquote type="cite">
361   <p>Statistic logs - This is a script that would create two logs - one general data for each site, one for each VOB of each site.</p>
362
363   <p>The general data should have at the least - date_time;site;number of VOBs; number of total VOB size; number of snapshot views; number of dynamic views; number of file elements; number of directory element;...</p>
364 </blockquote>
365
366 <p>I need a little clarification about some of the above...</p>
367
368 <ul>
369   <li>How do you define "site"? I take it that in general we have Clearcase region of &lt;site&gt;NT and &lt;site&gt;UNIX. Is that always the case?</li>
370
371   <li>As for #vobs - skip private vobs?</li>
372
373   <li>As for #vobs, #snapshot views and #dynamic views: Which region is that for? As you know most of our stuff is actually in the NT region not the Unix region. Yet I expect that this script will run from the Unix region. I could -region however often that doesn't work. For example, if I'm on Unix and I do the following to interrogate the NT region it fails:<br>
374     <br>
375     <div class="code"><pre>
376 <font color="#3333ff"><b>ccase-rmna-3:</b></font><u>ct lsview -region rmnaNT adefaria_dynamic</u>
377   adefaria_dynamic     \\<span>ltsjca</span>-adefaria\Views\adefaria_dynamic.vws
378 <font color="#3333ff"><b>ccase-rmna-3:</b></font><u>ct lsview -full -properties -region rmnaNT 
379 adefaria_dynamic</u>
380   adefaria_dynamic     \\ltsjca-adefaria\Views\adefaria_dynamic.vws
381 cleartool: Error: Unknown host 'ltsjca-adefaria': Host not found
382 cleartool: Error: Unable to get view handle: error detected by ClearCase subsystem.
383   </pre></div>
384
385     <p>This is our familar "it fails because ltsjca-adefaria does not resolve in DNS" problem. But I need to do this with -full and -properties to determine if the view is a snapshot or dynamic (and/or a ucmview)!</p>
386
387     <p>Normally this would be the result of an lsview with -full and -properties:</p>
388
389     <div class="code"><pre>
390     <font color="#3333ff"><b>ccase-rmna-3:</b></font><u>ct lsview -full -properties phonex_3.0</u>
391   phonex_3.0           /projects/ccstgloc-cabu/viewstore/nnalluri/phonex_3.0.vws
392 Created 29-Dec-04.16:48:19 by nnalluri.clearusers@ccase-rmna-3
393 Last modified 29-Dec-04.16:48:20 by nnalluri.clearusers@ccase-rmna-3
394 Last accessed 29-Dec-04.16:48:20 by nnalluri.clearusers@ccase-rmna-3
395 Last config spec update 29-Dec-04.16:48:20 by nnalluri.clearusers@ccase-rmna-3
396 Text mode: unix
397 Properties: dynamic ucmview readwrite shareable_dos
398 Owner: richmond/nnalluri : rwx (all)
399 Group: richmond/clearusers : r-x (read)
400 Other:                  : r-x (read)
401 Additional groups: richmond/brcm richmond/users
402 richmond/ccadmin richmond/clearcase richmond/cc_ecan richmond/rmna180qa
403     </pre></div>
404     
405     <p>Also should I do attempt to somehow combine the NT and Unix regions? If so then I'd need to figure out any vobs/views that are tagged in both regions. Or should I only consider the NT region?</p></li>
406
407   <li>As for #element, how does one determine this? I mean it is possible for somebody to create a new vob, check out the vob root directory to a specific branch, do a clearfsimport of
408 thousands of elements and check in the root directory. From the perspective of a default view (just CHECKEDOUT and main/LATEST) I would not see nor be able to tabulate those thousands of elements... That's an extreme however the point is, with directories being  versioned it is really quite difficult to be able to get an accurate count of #elements.</li>
409
410   <li>BTW: It seems the majority of views are hosted on the individuals desktop or laptop and most of the time getting information about such views is near impossible. Often I get a winsock error saying it can't connect to the machine or an "unable to contact albd_server on host...".</li>
411 </ul>
412
413 <blockquote type="cite">
414   <p>The VOB specific data - date_time;site;VOB_name;size of database;size of source pool; size of devired object; size of cleartext; size of admin data.</p>
415
416   <p>The directory structure that I envisioned is as such</p> 
417
418   <p>/projects/scm_tools_logs</p>
419
420   <blockquote>-cc
421     <blockquote>- 2005
422       <blockquote>- 12
423         <blockquote>- 01
424         </blockquote>
425       </blockquote>
426     </blockquote>
427   </blockquote>
428 </blockquote>
429
430 <p>I have a preliminary version of this working (Need to code up something to get the current site) at SCM/cc/stats. Output for rmna site looks like:</p>
431
432 <div class="code"><pre>
433 ################################################################################<br>
434 #
435 # File:         vob.log
436 # Description:  This file contains a list of all vobs at rmna along with some
437 #               statistical information.
438 # Format:       The format of this file is:
439 #
440 # date/time;site;VOB name;db size;src size;do size;<span>clrtxt</span>
441 size;adm size
442 #
443 ################################################################################<br>
444 20060102@18:23;rmna;A1;0.3;0.0;0.00.0;0.1;0.4
445 20060102@18:23;rmna;<span>CommEngine</span>;1569.3;2920.2;0.064.3;0.1;4553.8
446 20060102@18:23;rmna;<span>NewTest</span>;0.2;0.0;0.00.0;0.1;0.2
447 20060102@18:23;rmna;<span>OnePhone</span>;1226.7;3007.9;0.0321.0;0.1;4555.7
448 20060102@18:23;rmna;<span>SpiceBoxSW</span>;114.3;169.3;0.00.0;0.1;283.7
449 20060102@18:23;rmna;<span>TrainCommEngine</span>;1.6;10.7;0.00.0;0.1;12.4
450 20060102@18:23;rmna;adm;0.6;277.8;0.0547.0;0.1;825.5
451 20060102@18:23;rmna;alpha_video;115.9;205.9;0.00.0;0.1;321.8
452 </pre></div>
453
454 <p>and</p>
455
456 <div class="code"><pre>
457 #################################################################################<br>
458 # File:         rmna.log
459 # Description:  This file contains statistical information about the vobs/views
460 #               at this site.
461 # Format:       The format of this file is:
462 #
463 # date/time;site;nbr vobs;total vob size;nbr snapshot;nbr dynamic;nbr ucm;nbr file elements;nbr dir elements
464 #
465 ################################################################################<br>
466 20060102@19:58;rmna;57;54222.1;0;10;5;&lt;To be determined&gt;;&lt;To be determined&gt;
467 </pre></div>
468                               
469                               <p class="entry-footer">
470                                  <span class="post-footers">Posted by  at  2:56 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000508.html">Permalink</a>
471                                  
472                                  
473                               </p>
474                            </div>
475                         </div>
476                      </div>
477                      
478                   </div>
479                </div>
480             </div>
481          </div>
482       </div>
483    </div>
484 </body>
485 </html>