Unix Technical Forum

SEO

vBulletin Search Engine Optimization


Go Back   Unix Technical Forum > Database Server Software > MySQL > MySQL General forum

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 02-28-2008, 07:02 AM
Artem Kuchin
 
Posts: n/a
Default How to auto repair db on hosting with quota

I am asking this question as a hosting PROVIDER, not
as a hosting client.

The sitation is like this (this is a simple example with small
numbers):

1) a client has 100mb quota for site and db files (set on unix group)
2) 80mb is already taken by 75MB database in ONE TABLE and 5mb of files
3) databases gets broken
4) mysql tried to auto repair the table
5) to repair data it must create a temporary file and this files take
almost as much as 75MB
6) user goes over quota becauase mysql needs another 75MB to reapir table,
and this summs up like 75+75+5 a lot > than 100mb in quota
7) mysql gets stuck on this db
8) people continue to acccess site and connections build up and each
connection waits for repair to be finished
9) eventually mysql runs out of connections and this stop other clients
too.
10) day is ruined.

SO the questions are:

1) Is the way to specify USER/GROUP and PLACE for temporary files
for table repair?
2) Maybe there is some OTHER way to set quota for databases?
3) Is there way to specify max number of connections for a user?

Current solution for this as i see it is to make a daemon which
must connect to database first with administrative privs and
monitor number of connections and repairs using processlist. If some user
does more than allowed number of connection then just kill them off. If
repair accures - then turn off that host for a while and turn if back on again
when repair finished.

I wonder how it is solved on mass hosting servers.

--
Regards,
Artem
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 02-28-2008, 07:02 AM
Steven Buehler
 
Posts: n/a
Default RE: How to auto repair db on hosting with quota

> -----Original Message-----
> From: Artem Kuchin [mailto:matrix@itlegion.ru]
> Sent: Friday, December 07, 2007 4:35 AM
> To: mysql@lists.mysql.com
> Subject: How to auto repair db on hosting with quota
>
> I am asking this question as a hosting PROVIDER, not
> as a hosting client.
>
> The sitation is like this (this is a simple example with small
> numbers):
>
> 1) a client has 100mb quota for site and db files (set on unix group)
> 2) 80mb is already taken by 75MB database in ONE TABLE and 5mb of files
> 3) databases gets broken
> 4) mysql tried to auto repair the table
> 5) to repair data it must create a temporary file and this files take
> almost as much as 75MB
> 6) user goes over quota becauase mysql needs another 75MB to reapir
> table,
> and this summs up like 75+75+5 a lot > than 100mb in quota
> 7) mysql gets stuck on this db
> 8) people continue to acccess site and connections build up and each
> connection waits for repair to be finished
> 9) eventually mysql runs out of connections and this stop other clients
> too.
> 10) day is ruined.
>
> SO the questions are:
>
> 1) Is the way to specify USER/GROUP and PLACE for temporary files
> for table repair?
> 2) Maybe there is some OTHER way to set quota for databases?
> 3) Is there way to specify max number of connections for a user?
>
> Current solution for this as i see it is to make a daemon which
> must connect to database first with administrative privs and
> monitor number of connections and repairs using processlist. If some
> user
> does more than allowed number of connection then just kill them off. If
> repair accures - then turn off that host for a while and turn if back
> on again
> when repair finished.
>
> I wonder how it is solved on mass hosting servers.


Have you tried doing the repair as the root user for MySQL instead of the
client user?

Steve

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 02-28-2008, 07:02 AM
Martin Gainty
 
Posts: n/a
Default Re: How to auto repair db on hosting with quota

Artem

set

my.cnf in unix
my.ini in windows
set max_connections

max_connections=100

M--
----- Original Message -----
From: "Steven Buehler" <steve@ibushost.com>
To: "'Artem Kuchin'" <matrix@itlegion.ru>; <mysql@lists.mysql.com>
Sent: Friday, December 07, 2007 8:11 AM
Subject: RE: How to auto repair db on hosting with quota


> > -----Original Message-----
> > From: Artem Kuchin [mailto:matrix@itlegion.ru]
> > Sent: Friday, December 07, 2007 4:35 AM
> > To: mysql@lists.mysql.com
> > Subject: How to auto repair db on hosting with quota
> >
> > I am asking this question as a hosting PROVIDER, not
> > as a hosting client.
> >
> > The sitation is like this (this is a simple example with small
> > numbers):
> >
> > 1) a client has 100mb quota for site and db files (set on unix group)
> > 2) 80mb is already taken by 75MB database in ONE TABLE and 5mb of files
> > 3) databases gets broken
> > 4) mysql tried to auto repair the table
> > 5) to repair data it must create a temporary file and this files take
> > almost as much as 75MB
> > 6) user goes over quota becauase mysql needs another 75MB to reapir
> > table,
> > and this summs up like 75+75+5 a lot > than 100mb in quota
> > 7) mysql gets stuck on this db
> > 8) people continue to acccess site and connections build up and each
> > connection waits for repair to be finished
> > 9) eventually mysql runs out of connections and this stop other clients
> > too.
> > 10) day is ruined.
> >
> > SO the questions are:
> >
> > 1) Is the way to specify USER/GROUP and PLACE for temporary files
> > for table repair?
> > 2) Maybe there is some OTHER way to set quota for databases?
> > 3) Is there way to specify max number of connections for a user?
> >
> > Current solution for this as i see it is to make a daemon which
> > must connect to database first with administrative privs and
> > monitor number of connections and repairs using processlist. If some
> > user
> > does more than allowed number of connection then just kill them off. If
> > repair accures - then turn off that host for a while and turn if back
> > on again
> > when repair finished.
> >
> > I wonder how it is solved on mass hosting servers.

>
> Have you tried doing the repair as the root user for MySQL instead of the
> client user?
>
> Steve
>
>
> --
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe: http://lists.mysql.com/mysql?unsub=mgainty@hotmail.com
>
>

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 02-28-2008, 07:02 AM
Artem Kuchin
 
Posts: n/a
Default Re: How to auto repair db on hosting with quota

Steven Buehler wrote:
>> -----Original Message-----
>> From: Artem Kuchin [mailto:matrix@itlegion.ru]
>> Sent: Friday, December 07, 2007 4:35 AM
>> To: mysql@lists.mysql.com
>> Subject: How to auto repair db on hosting with quota
>>
>> I am asking this question as a hosting PROVIDER, not
>> as a hosting client.
>>
>> The sitation is like this (this is a simple example with small
>> numbers):
>>
>> 1) a client has 100mb quota for site and db files (set on unix group)
>> 2) 80mb is already taken by 75MB database in ONE TABLE and 5mb of
>> files 3) databases gets broken
>> 4) mysql tried to auto repair the table
>> 5) to repair data it must create a temporary file and this files take
>> almost as much as 75MB
>> 6) user goes over quota becauase mysql needs another 75MB to reapir
>> table,
>> and this summs up like 75+75+5 a lot > than 100mb in quota
>> 7) mysql gets stuck on this db
>> 8) people continue to acccess site and connections build up and each
>> connection waits for repair to be finished
>> 9) eventually mysql runs out of connections and this stop other
>> clients too.
>> 10) day is ruined.
>>
>> SO the questions are:
>>
>> 1) Is the way to specify USER/GROUP and PLACE for temporary files
>> for table repair?
>> 2) Maybe there is some OTHER way to set quota for databases?
>> 3) Is there way to specify max number of connections for a user?
>>
>> Current solution for this as i see it is to make a daemon which
>> must connect to database first with administrative privs and
>> monitor number of connections and repairs using processlist. If some
>> user
>> does more than allowed number of connection then just kill them off.
>> If repair accures - then turn off that host for a while and turn if
>> back on again
>> when repair finished.
>>
>> I wonder how it is solved on mass hosting servers.

>
> Have you tried doing the repair as the root user for MySQL instead of
> the client user?


It does not help. Quota is set for GROUP, so, when mysql create a temporary file
in the database directory group is inhereted from this directory, and group is the
user group, so, the temporary file is counted in the user quota.

--
Regards,
Artem

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 02-28-2008, 07:02 AM
Artem Kuchin
 
Posts: n/a
Default Re: How to auto repair db on hosting with quota


I see topposting i popular in this mail list

Well, thank you for the idea. It seems to be workable. I
hope that while data is being repaired and it is located
in tmp the rights are set correctly so noone else can read the
files. I'll see it myself. Thank you very much.

Any idea on how to limit connection per user? (so one user
cannot abuse the server and take all max_connections connections
for himself).

--
Regards,
Artem

Russell E Glaue wrote:
> Using Quota on Unix, you can specify a different quota soft_limit for
> temporary space.
> You can set MySQL to use /tmp as the temporary space, then set a
> soft_limit of 10mb and a hard_limit of 300MB.
> This quota should be separate from the normal user space quota.
>
> With MySQL temp dir set to /tmp, and a soft/hard quota as 10MB/300MB,
> the recovery should occur successfully.
> And going above the soft_limit gives the user X amount of days to get
> back down below the soft_limit. And the user cannot go above the
> hard_limit.
> You can set the soft_limit recovery days to like 1 day. They can go
> over the 10MB soft_limit for 1 day, up to the hard_limit of 300MB,
> but after one day the temp files will be deleted until the soft_limit
> is satisfied.
>
> This is a great way to control temp space, and not let users abuse
> it, but still give them a lot of space to perform things like large
> mysql database recoveries.
> Artem Kuchin wrote:
>> I am asking this question as a hosting PROVIDER, not
>> as a hosting client.
>>
>> The sitation is like this (this is a simple example with small
>> numbers):
>>
>> 1) a client has 100mb quota for site and db files (set on unix group)
>> 2) 80mb is already taken by 75MB database in ONE TABLE and 5mb of
>> files 3) databases gets broken
>> 4) mysql tried to auto repair the table
>> 5) to repair data it must create a temporary file and this files take
>> almost as much as 75MB
>> 6) user goes over quota becauase mysql needs another 75MB to reapir
>> table, and this summs up like 75+75+5 a lot > than 100mb in quota
>> 7) mysql gets stuck on this db
>> 8) people continue to acccess site and connections build up and each
>> connection waits for repair to be finished
>> 9) eventually mysql runs out of connections and this stop other
>> clients too.
>> 10) day is ruined.
>>
>> SO the questions are:
>>
>> 1) Is the way to specify USER/GROUP and PLACE for temporary files
>> for table repair?
>> 2) Maybe there is some OTHER way to set quota for databases?
>> 3) Is there way to specify max number of connections for a user?
>>
>> Current solution for this as i see it is to make a daemon which
>> must connect to database first with administrative privs and
>> monitor number of connections and repairs using processlist. If some
>> user does more than allowed number of connection then just kill them
>> off. If repair accures - then turn off that host for a while and
>> turn if back on again
>> when repair finished.
>>
>> I wonder how it is solved on mass hosting servers.
>>
>> --
>> Regards,
>> Artem

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #6 (permalink)  
Old 02-28-2008, 07:02 AM
Baron Schwartz
 
Posts: n/a
Default Re: How to auto repair db on hosting with quota

Regards,
Baron

Yes it is. Even worse, people love to convert a top-posted thread to
bottom-posted and verse vice-a!

> I see topposting i popular in this mail list


And now for the bottom-posting part of this reply...

> Any idea on how to limit connection per user? (so one user
> cannot abuse the server and take all max_connections connections
> for himself).


See http://dev.mysql.com/doc/refman/5.0/en/grant.html and look for the
GRANT OPTION options.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #7 (permalink)  
Old 02-28-2008, 07:02 AM
Russell E Glaue
 
Posts: n/a
Default Re: How to auto repair db on hosting with quota


Those of us who view our mail in threads also post in threads. ;-)

Here is some info for your concerns.

We assume the client is going to run their database under their client
unix-system username.
You specify the temp directory in the my.cnf file.
The documentation (when I last read it) says temp tables are created in the temp
directory.
If MySQL does not set the permissions you want on temp files, you can set the
shell umask so permissions can be read-only to the user.

umask = The user file-creation mask is set to mode.

any-unix$ man umask

-RG


Artem Kuchin wrote:
>
> I see topposting i popular in this mail list
>
> Well, thank you for the idea. It seems to be workable. I hope that
> while data is being repaired and it is located
> in tmp the rights are set correctly so noone else can read the
> files. I'll see it myself. Thank you very much.
>
> Any idea on how to limit connection per user? (so one user
> cannot abuse the server and take all max_connections connections
> for himself).
>
> --
> Regards,
> Artem
>
> Russell E Glaue wrote:
>> Using Quota on Unix, you can specify a different quota soft_limit for
>> temporary space.
>> You can set MySQL to use /tmp as the temporary space, then set a
>> soft_limit of 10mb and a hard_limit of 300MB.
>> This quota should be separate from the normal user space quota.
>>
>> With MySQL temp dir set to /tmp, and a soft/hard quota as 10MB/300MB,
>> the recovery should occur successfully.
>> And going above the soft_limit gives the user X amount of days to get
>> back down below the soft_limit. And the user cannot go above the
>> hard_limit. You can set the soft_limit recovery days to like 1 day.
>> They can go
>> over the 10MB soft_limit for 1 day, up to the hard_limit of 300MB,
>> but after one day the temp files will be deleted until the soft_limit
>> is satisfied.
>> This is a great way to control temp space, and not let users abuse
>> it, but still give them a lot of space to perform things like large
>> mysql database recoveries. Artem Kuchin wrote:
>>> I am asking this question as a hosting PROVIDER, not
>>> as a hosting client.
>>>
>>> The sitation is like this (this is a simple example with small
>>> numbers):
>>>
>>> 1) a client has 100mb quota for site and db files (set on unix group)
>>> 2) 80mb is already taken by 75MB database in ONE TABLE and 5mb of
>>> files 3) databases gets broken
>>> 4) mysql tried to auto repair the table
>>> 5) to repair data it must create a temporary file and this files take
>>> almost as much as 75MB
>>> 6) user goes over quota becauase mysql needs another 75MB to reapir
>>> table, and this summs up like 75+75+5 a lot > than 100mb in quota
>>> 7) mysql gets stuck on this db
>>> 8) people continue to acccess site and connections build up and each
>>> connection waits for repair to be finished
>>> 9) eventually mysql runs out of connections and this stop other
>>> clients too.
>>> 10) day is ruined.
>>>
>>> SO the questions are:
>>>
>>> 1) Is the way to specify USER/GROUP and PLACE for temporary files
>>> for table repair?
>>> 2) Maybe there is some OTHER way to set quota for databases?
>>> 3) Is there way to specify max number of connections for a user?
>>>
>>> Current solution for this as i see it is to make a daemon which
>>> must connect to database first with administrative privs and
>>> monitor number of connections and repairs using processlist. If some
>>> user does more than allowed number of connection then just kill them
>>> off. If repair accures - then turn off that host for a while and
>>> turn if back on again
>>> when repair finished.
>>>
>>> I wonder how it is solved on mass hosting servers.
>>>
>>> --
>>> Regards,
>>> Artem

>


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #8 (permalink)  
Old 02-28-2008, 07:02 AM
Artem Kuchin
 
Posts: n/a
Default Re: How to auto repair db on hosting with quota

Baron Schwartz wrote:
> Regards,
> Baron
>
> Yes it is. Even worse, people love to convert a top-posted thread to
> bottom-posted and verse vice-a!
>
>> I see topposting i popular in this mail list

>
> And now for the bottom-posting part of this reply...
>
>> Any idea on how to limit connection per user? (so one user
>> cannot abuse the server and take all max_connections connections
>> for himself).

>
> See http://dev.mysql.com/doc/refman/5.0/en/grant.html and look for the
> GRANT OPTION options.


Argh!!

"The MAX_USER_CONNECTIONS count option, implemented in MySQL 5.0.3, limits the maximum number of simultaneous connections that the
account can make. If count is 0 (the default), the max_user_connections system variable determines the number of simultaneous
connections for the account. "

We are still kinda stuch to 4.1. Well, its time to upgrade.

--
Regards,
Artem

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #9 (permalink)  
Old 02-28-2008, 07:02 AM
Artem Kuchin
 
Posts: n/a
Default Re: How to auto repair db on hosting with quota

I won't convert thread style, so, i'm top-posting

All this would be great if it worked. The main problem is that
temporary directory option for mysqld iS NOT USED while doing
table repair. All files while repairing tables are placed
in the same directoty with the same owner and group as the original
database files (i mean, for example, .TMD files which can be huge!).

So, i am currenctly stuck with no solultion to the problem.

--
Artem



Russell E Glaue wrote:
> Using Quota on Unix, you can specify a different quota soft_limit for
> temporary space.
> You can set MySQL to use /tmp as the temporary space, then set a
> soft_limit of 10mb and a hard_limit of 300MB.
> This quota should be separate from the normal user space quota.
>
> With MySQL temp dir set to /tmp, and a soft/hard quota as 10MB/300MB,
> the recovery should occur successfully.
> And going above the soft_limit gives the user X amount of days to get
> back down below the soft_limit. And the user cannot go above the
> hard_limit.
> You can set the soft_limit recovery days to like 1 day. They can go
> over the 10MB soft_limit for 1 day, up to the hard_limit of 300MB,
> but after one day the temp files will be deleted until the soft_limit
> is satisfied.
>
> This is a great way to control temp space, and not let users abuse
> it, but still give them a lot of space to perform things like large
> mysql database recoveries.
>
>
> -RG
>
>
> Artem Kuchin wrote:
>> I am asking this question as a hosting PROVIDER, not
>> as a hosting client.
>>
>> The sitation is like this (this is a simple example with small
>> numbers):
>>
>> 1) a client has 100mb quota for site and db files (set on unix group)
>> 2) 80mb is already taken by 75MB database in ONE TABLE and 5mb of
>> files 3) databases gets broken
>> 4) mysql tried to auto repair the table
>> 5) to repair data it must create a temporary file and this files take
>> almost as much as 75MB
>> 6) user goes over quota becauase mysql needs another 75MB to reapir
>> table, and this summs up like 75+75+5 a lot > than 100mb in quota
>> 7) mysql gets stuck on this db
>> 8) people continue to acccess site and connections build up and each
>> connection waits for repair to be finished
>> 9) eventually mysql runs out of connections and this stop other
>> clients too.
>> 10) day is ruined.
>>
>> SO the questions are:
>>
>> 1) Is the way to specify USER/GROUP and PLACE for temporary files
>> for table repair?
>> 2) Maybe there is some OTHER way to set quota for databases?
>> 3) Is there way to specify max number of connections for a user?
>>
>> Current solution for this as i see it is to make a daemon which
>> must connect to database first with administrative privs and
>> monitor number of connections and repairs using processlist. If some
>> user does more than allowed number of connection then just kill them
>> off. If repair accures - then turn off that host for a while and
>> turn if back on again
>> when repair finished.
>>
>> I wonder how it is solved on mass hosting servers.
>>
>> --
>> Regards,
>> Artem

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #10 (permalink)  
Old 02-28-2008, 07:02 AM
Russell E. Glaue
 
Posts: n/a
Default Re: How to auto repair db on hosting with quota

Hmm..,
I thought the temp tables were created in the temp directory.
What version of MySQL are you using?

Perhaps you can temporarily increase the user's hard_limit, and not increase the soft_limit. When they have finished recovering, you can reset the hard_limit.

Or perhaps it is possible to copy the corrupted database to the temp directory (with increased hard_limit), perform the recovery there, then copy it back.
The data directory does not have to remain in the same location in order to be recoverable.

This would be the same as the last e-mailed proposed solution, but with two extra steps to copy back and forth from the temp directory.

-RG


----- Original Message -----
From: "Artem Kuchin" <matrix@itlegion.ru>
To: "Russell E Glaue" <rglaue@cait.org>, mysql@lists.mysql.com
Sent: Sunday, December 9, 2007 9:03:45 AM (GMT-0600) America/Chicago
Subject: Re: How to auto repair db on hosting with quota

I won't convert thread style, so, i'm top-posting

All this would be great if it worked. The main problem is that
temporary directory option for mysqld iS NOT USED while doing
table repair. All files while repairing tables are placed
in the same directoty with the same owner and group as the original
database files (i mean, for example, .TMD files which can be huge!).

So, i am currenctly stuck with no solultion to the problem.

--
Artem



Russell E Glaue wrote:
> Using Quota on Unix, you can specify a different quota soft_limit for
> temporary space.
> You can set MySQL to use /tmp as the temporary space, then set a
> soft_limit of 10mb and a hard_limit of 300MB.
> This quota should be separate from the normal user space quota.
>
> With MySQL temp dir set to /tmp, and a soft/hard quota as 10MB/300MB,
> the recovery should occur successfully.
> And going above the soft_limit gives the user X amount of days to get
> back down below the soft_limit. And the user cannot go above the
> hard_limit.
> You can set the soft_limit recovery days to like 1 day. They can go
> over the 10MB soft_limit for 1 day, up to the hard_limit of 300MB,
> but after one day the temp files will be deleted until the soft_limit
> is satisfied.
>
> This is a great way to control temp space, and not let users abuse
> it, but still give them a lot of space to perform things like large
> mysql database recoveries.
>
>
> -RG
>
>
> Artem Kuchin wrote:
>> I am asking this question as a hosting PROVIDER, not
>> as a hosting client.
>>
>> The sitation is like this (this is a simple example with small
>> numbers):
>>
>> 1) a client has 100mb quota for site and db files (set on unix group)
>> 2) 80mb is already taken by 75MB database in ONE TABLE and 5mb of
>> files 3) databases gets broken
>> 4) mysql tried to auto repair the table
>> 5) to repair data it must create a temporary file and this files take
>> almost as much as 75MB
>> 6) user goes over quota becauase mysql needs another 75MB to reapir
>> table, and this summs up like 75+75+5 a lot > than 100mb in quota
>> 7) mysql gets stuck on this db
>> 8) people continue to acccess site and connections build up and each
>> connection waits for repair to be finished
>> 9) eventually mysql runs out of connections and this stop other
>> clients too.
>> 10) day is ruined.
>>
>> SO the questions are:
>>
>> 1) Is the way to specify USER/GROUP and PLACE for temporary files
>> for table repair?
>> 2) Maybe there is some OTHER way to set quota for databases?
>> 3) Is there way to specify max number of connections for a user?
>>
>> Current solution for this as i see it is to make a daemon which
>> must connect to database first with administrative privs and
>> monitor number of connections and repairs using processlist. If some
>> user does more than allowed number of connection then just kill them
>> off. If repair accures - then turn off that host for a while and
>> turn if back on again
>> when repair finished.
>>
>> I wonder how it is solved on mass hosting servers.
>>
>> --
>> Regards,
>> Artem


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 05:00 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
UnixAdminTalk.com

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360