DocumentRE

Embed Size (px)

DESCRIPTION

rere

Citation preview

rereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevv rereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereererererererererererevvrereerererererererererere rereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereerererererererererererereere