From: Subject: School nurse shortage is cause for concern | Serving Henderson, Transylvania and Polk Counties | North Carolina | BlueRidgeNow.com Date: Wed, 23 Jul 2008 10:22:04 -0400 MIME-Version: 1.0 Content-Type: multipart/related; type="text/html"; boundary="----=_NextPart_000_0097_01C8ECAD.F42D0E70" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198 This is a multi-part message in MIME format. ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.blueridgenow.com/article/20080309/NEWS/803090363 School nurse shortage is cause = for concern | Serving Henderson, Transylvania and Polk Counties | North = Carolina | BlueRidgeNow.com Health officials, educators, = the United Agenda for Children and parents are pushing for more school = nurses in Henderson County. Seven full-time nurses work in Henderson = County Schools and Mountain Community School. The schools have one nurse = for every 1,769 students. The national recommendation is one nurse to = 750 students. The local ratio has consistently remained in the bottom 10 = percent among the 115 school systems in North = Carolina.
"=20 name=3Ddescription>
Log=20 in | Register=20 | Subscribe | = 3D""=20=20 Current Conditions: SUNNY 71=B0
  • NEWS<= /A>=20
  • SPO= RTS=20
  • F= EATURES=20
  • = OPINION=20
  • OBITS=20
  • B= USINESS=20
  • PREP= S=20
  • MOV= IES=20
  • TV<= /A>
  • COUPONS=20
  • SHOPPING=20
  • CLASSIFIEDS=20
  • REAL=20 ESTATE
  • JOBS<= /A>=20
  • AUTO= S=20
=20
Published Sunday, March 9, 2008

School nurse shortage is cause for concern


By Scott Parrott and James Shea
Times-News Staff = Writers


=20
School nurse Jeanna Johnston checks the blood = glucose level=20 of Dana Elementary third-grader Reina Amaya as fellow students Amber = Garren and=20 John Knox wait to be assessed. With fewer school nurses teachers area = being=20 asked to do many procedures at area schools.
MIKE = DIRKS/TIMES-NEWS=20
Click=20 here to enlarge.
Buy a=20 copy of this picture.

Two years ago, Barb = Molton's son,=20 Brice, was diagnosed with type 1 diabetes. Brice, a seventh grader at=20 Hendersonville Middle School, must monitor his blood sugar levels = throughout the=20 day. His mother checks him in the middle of the night.

"To say = the=20 least, this has been a life-changing event for our family," Molton = recently told=20 Henderson County commissioners. "Dealing with type I diabetes is not = something=20 that can be put aside for even one day. It is all day, every day -- = including=20 when he is away from home at school during the week."

Molton = praised the=20 work of Robbie Goolsby, a school nurse who "gave us much comfort in a = time of=20 fear and uncertainty" by working with the family since the day they = learned of=20 Brice's condition. But Goolsby can spend only two half-days a week at = the=20 school, Molton said.

"All of these children deserve to have a = nurse on=20 hand if they need attention," Molton said, speaking of other students = who have=20 ongoing health issues. "Their parents deserve to have this peace of mind = as=20 well. It can be scary dropping your child off at school wondering if = that will=20 be the day they might have a medical emergency and wondering if that is = the day=20 you might be lucky to have a school nurse there."

Top=20 priority

Molton's not alone in her concern.

A = concerted=20 effort has emerged with hopes of increasing the number of school nurses = in=20 Henderson County. The push involves health officials, educators, the = United=20 Agenda for Children and parents like Molton and Bonny Cloud, whose = daughter was=20 also diagnosed with type I diabetes.

"Our school nurses help out = the=20 best they can, but when they have over 2,000 other students to care for = it=20 doesn't give my daughter adequate help or me any peace of mind," Cloud = said. "I=20 am a native of this county and I know it is very blessed with resources, = and=20 there is no reason each of our schools should not have a school nurse."=20

When nearly 300 people gathered for "Speak Out for Kids" in = October,=20 they named the school nursing shortage as the top issue facing children = in=20 Henderson County.

The shortage also ranked as a top issue in the = 2007=20 Henderson County Community Health Assessment, published by the Health = Department=20 and Partnership for Health.

Seven full-time nurses work in = Henderson=20 County Schools and Mountain Community School, a charter school. =

The=20 schools have one nurse for every 1,769 students. That's worse than the = state=20 ratio of one nurse for every 1,340 students and the national = recommendation of=20 one nurse to 750 students. The local ratio has consistently remained = among the=20 bottom 10 percent among the 115 school systems in North Carolina.=20

Looking ahead

A new school and lost grant money = could=20 exacerbate the shortage. Sugarloaf Elementary School will need a nurse = when it=20 opens in the fall. Meanwhile, the grant money that paid for a part-time = nurse at=20 Bruce Drysdale Elementary School has run out.

The United Agenda = for=20 Children, which sponsored the "Speak Out for Kids" program to identify = needs of=20 youth, says the county would need to employ 17 nurses to meet national = standards=20 this school year. That would mean hiring 10 nurses at a cost of about = $50,000=20 each for salaries, benefits, travel, office space, equipment and = materials.=20 County funds cover most of the budget for school nurses, who are = employees of=20 the Henderson County Department of Public Health.

Leaders of the = United=20 Agenda for Children say the shortage could be remedied in two years if:=20

=95 The Health Department and school system hire two new nurses = in the=20 coming year,

=95 A nurse is hired for each new elementary school = --=20 Sugarloaf, Mills River and Hillandale,

=95 And Blue Ridge = Community Health=20 Services could expand its school-based health center at Apple Valley = Middle to=20 three other schools.

A day

School nurses do much = more than=20 bandage scrapes and scratches, as more and more children are diagnosed = with=20 ongoing health issues like asthma and diabetes. Thirty-five students had = either=20 type 1 or 2 diabetes in 2006-07, while 836 were diagnosed with asthma. = These=20 represent a small fraction of the ongoing health conditions seen in = Henderson=20 County students.

Today, school nurses are responsible for = keeping=20 student health records, overseeing medication and developing individual = health=20 plans for students with recurrent needs. Students with diabetes often = require=20 blood glucose monitoring or insulin injections. The work stretches = outside the=20 school. Nurses make home visits, connect families with primary = physicians.=20

Each registered nurse covers three or four schools. Jeanna = Johnston=20 handles Dana, Upward and Hillandale elementary schools.

Johnston = described the start of her typical day: "My cell phone starts ringing at = 7:45=20 a.m. with calls from teachers regarding breakfast insulin coverage for = diabetic=20 students and calls from schools asking if I can stop by to check a sick = child."=20 The rest of the day is a whirlwind of more phone calls, checking = medication,=20 calling physician offices, developing children's health care plans and=20 checking-up on students with ongoing health conditions, injuries and = illnesses.=20

Providing help

The Individuals With Disabilities = Education=20 Act guarantees a free, appropriate education to all children in the = least=20 restriction environment possible. The United Agenda for Children says = the result=20 is many severely disabled children are being "mainstreamed," put into = the=20 general population of students rather than special, separate education = programs.=20 School nurses may be responsible for assuring care for students with = feeding=20 tubes, tracheotomies, ventilators and intravenous tubes for medication.=20

The school nurses must often delegate responsibilities to = trained=20 teachers. It could be anything from insulin injections to = catheterization.=20

"Each day I see the need for more school nurses to serve our = students,"=20 said Julie Donaghue, a counselor at Hillandale Elementary School. = "Teachers are=20 trained and obligated to educate our children. School counselors are = trained and=20 obligated to meet social and emotional needs of students. Nowhere in our = preparation to be educators were we prepared to meet the medical needs = of=20 students."

Having to deal with a student's medical needs takes = away from=20 educating a student, she said.

"Many times teachers and staff = feel=20 inadequate and vulnerable assisting students with medical conditions," = she said.=20

"What makes me the most upset is to see a child who is = physically in=20 pain or struggling with a chronic condition and being forced to tell = them, 'I'm=20 sorry honey, you'll have to wait. Our nurse won't be here for another = two=20 days,'" Donaghue said. "We should not be telling our children to wait. = When we=20 tell them to wait, when their needs are not being met, we are telling = them we=20 don't care."




Forums
more = topics=BB=20

blogs.blueridgenow.com
How often=20 do you think about taking time with just the girls? And how often do you = actually make the (more)<= /A>
7 = Steps to a quick=20 budget
It really doesn't have to be too detailed or restrictive, = though=20 you do have to make some tough (more)<= /A>
The = Fletcher=20 House, Fletcher
What do you get when you take a neglected = building with a=20 lot of local history, add two sisters... (more)<= /A>
more=20 blogs=BB

You need Flash Player 8 (or higher) = and=20 JavaScript enabled to view this content

Submit= Your Own=20 Video

Slideshows=20 & Multimedia
=20
Most Read Articles Yesterday
    • 1=20 reported injury at Deerfields
    • Four= -way=20 stop signs hit a roadblock
    • Justin=20 Anderson, 19
    • Some= area=20 schools not meeting standards
    • For = the=20 Record
    • Stud= ent=20 cell phone plan still discussed
    • William=20 D. Hodges, 74
    • Upst= ate=20 storms knock out power for thousands
    • John=20 C. Ray, 74
    • Empl= oyee=20 restored my faith in free press


------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://adx.blueridgenow.com/apps/adx.dll/img/HT001/TOPLEADERBOARD/NEWS/40023744179034995/-1/-/;IDN=-608200685;Type=3 R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.blueridgenow.com/graphics/weather/01.gif R0lGODlhPAAwAPcAAP/zFP/PA//WAf/uCP/YCf/UAf/yGf/qGv/hE//9BP/iBP/6Hv/uHf/RAv/y Av/pFv/bBf/WCf/rEf/TBf/QAP/9K///MP/7FP/9Av/xIf/nGf/gFP/mAv/iAv/fA//bA//UB//9 J//4I//6Bf/1Df/1Av/lC//gD//gA//hAf/dCv/dAv/bAf/TB///Fv//Dv//Iv//FP//Ev//J/// G///JP//GP//HP//Hf//I///IP//Hv//Kf//Cf//EP//If//Df//Gf//C///B///H///Gv//Cv// D///Ff//F///Ef//E///K///Jv//Jf//Kv//KP//DP//LP//CP//Bv//Bf/+/P//Lf/NA///BP// Lv/NAP/43v/NBv/++f/ODP/qlv/tpf/NAf/99v/88P/OCf/20v/dV//ibP/bS//OAf/76v/TJP/5 4f//L//zw//sov/xt//gZv/haf/nh//lfv/42//SHv/keP/uqP/65P/VLf/QFf/ojf/RBf/eWv/7 7f/pk//dVP/rnP/XNv/ywP/wtP/gY//uq//1z//yvf//A//PD//vsf/QEv/gC//YPP/oD//uAf/z Jf/RGP/RBP/vrv/rmf/TAf/98//32P/TIf/sn//31f/jcv/XBP/ib//le//cTv/1zP/UKv/65//m E//ZP//fYP/aSP/OAP/PAf/ZQv/WMP//Av/eBf/5J//gDP/8I//aRf/1Jf/1CP/+Fv/9Jf/4KP/v Dv/UJ//oBP/0If/vIf/aDP/8Lv/+Cv/0xv/0Hv/+Df/8Df/cUf/+Bv/2J//yCP/xDf/9Cv/9Gv/f D//pHP/sG//kFP/xBv/jEf/7Ev/9IP/7B//+BP/XOf/9Ef/+Lv/+L//7If/gEP/7C//9Ev/cAf/e Af/hBf/gBv/jC//mhP/kEP/mEP/jCf/uA//oDf/rD//pkP/yIf/nCP/mCv/sBP/7F//mB//wIv/3 A//pAP/9Hv/qAv/2JP/WM//jFf/RG//4Cv/pCP/rC//QBP/MAP///yH5BAAAAAAALAAAAAA8ADAA AAj/AP8JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDMSTBRHY0ZAVgri2QPI40VQ4wi2oeRPUUE7 gUqabHjGX52Q/+oUEICK4ChdacbMbFiMgj80YwDxmVeCURuBiFgewjk0oZVUHCSpOnQI04gsAuj8 o9OFwzdQVQt66RMMpxdW81w5wORvVxUq83TN8VfPSAo8Bql6BOWPVJ1EmgjVW5SlBIsEVIZQW4UJ WpQoLPoIJGMnDh1NQ99g8SZA1R4+krLcjTxkSg93tS4P8zYnjydWX/wREqyRDKS4kjhgKkGlSmvX RowIiQLkxbBPXcQI6KAggMuqfQQkyJJlRILjPXoo/2f+4oiPawMGkLiQREGatP+43HFwd0hr8cqF NH/xwocSGTIggYQNJLTwhkdW2GHHKIo0cgkpKxjnmnhCLNfcEeb9t0QMSLiQRAqpZIIgHZtQUgYF FAigwBRTJCeEEUDs55+GHHpoAwD+5JPGHGC8QQZGerCihgPyjECNMeFVSF5//smwxBIdJpGEDUUs A4AJLKgSACObiHXRGmkIYMyEyTHXnA9o/hdDjVIGUQQNN+ywAxE/tOPPITJdFKQA1ChJHoZKaCig jUG4SQMOcuoAAzotqGMSINZ8oE+M5aX5JJtJGAonokToMI04dxhiEhnq8NEACWcG6iSHSExJ5Zs3 cP+qww/TxOIPGB6RgQgpmOwyTKUabuiCjUW8eeicnf4AgxMGgPBFH0JdZAgk/nTwa3+qrhmlDYbe EOucs8KQQw01zCCLrcWAZpEhxXzBgjvEBBvDsFN2iyi4yo7rhBNNzMADEwyssgknF3nRyTibgGAO CYPWGwScsRLRqaI56NtEE1BAsUAkzJSRDx5rZOTFIF28YouU3MKKA6I6hDtuDRfPAAUDLWzCCh1m eGEFbxXh0cAFtthAJcRyJpvvvjH/m4E/gA0VRgDJpFzEtzu0nK++M8gMxb9MaHECH3bMNAolu9AA 67fJwiBuDfzKzAMPTzBxxRVuwNLAGSbpsUe1HbD/wIIKAOhAZ77k9guFv3FfAQsvwohQgSlfiKpR I2ccgorlxQRgAAyEI6013HG7EQ8Wm2zCjAD+7BGyyAUVEsE0FXvu9hNxSzG3G8f4AcYohgwyziEH VgWKCuQuUA4DGYPOhBRarMOLFhZUMAGuA3kR7VDWoLOAOX58EY0UcDuvhRQWMIOFOLBYAAJa8A3U xh0srAIJGONAIIUUvGwhADYWwDIBKH8AAQM+gbf2CSQP/khFGEQUDAFUwH/FSEU5LNCLLoAmDHsj hAEFEgdD/EggdqCEMCBgjUyYgQ/CIIc1PlgKUOzBCxs0yBogsQpdPOUffcAEJlJCkE58MIbVEwQf KIIxECvMwh8dAeJCLjGIgoyiGDdUYkJgWBArrIFnUsyiFrfIxS4SJCAAOw== ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://www.blueridgenow.com/graphics/header/ht_logo_sm.jpg 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 r1e+ACQb16k9sAJJvevUntig/9k= ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.blueridgenow.com/graphics/article_tools/largetext.gif R0lGODlhEAAQAOZHAKKiooODg42NjcC/wIuLjH19fYaGhoWFhX5/f7e2t6GhobKysqCgoJ2cnZyc nJeXl6Ojo4iJiIqKir69vZeYl7y9vK6urpKRkpaVlWpra6ytrYGBgYB/gLa2tqalpqSkpKqqqpCQ j8HAwZ6enpSUk3x8fJiYmH5+f5OSk6ysrJmambi4uIKCgpydnKanppKSkXt7e3h5eMPDxHd4d7W1 tHV0dbGxsXBwcZKSkri4uYeIh6mpqG5tbaiop7q6up+en5ubm46Ojry8u5mYmHl5eoiHiHN0c/// /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5 BAEAAEcALAAAAAAQABAAAAdqgEeCg4SFhoeGMiITPh0LFiAeAA1DhAMVOTQ2GjsfDA4UKIRCK4Ip PRA/ghcChAmDLgAjKoNFiAotJiSIhEAPOEG8gxgvAhHCgiEEOgHIRxIGLCfOBxsFRM4cJTE1wgEI MDNGNzwZzufIgQA7 ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.blueridgenow.com/graphics/article_tools/print.gif R0lGODlhEAAQALMPANPT0+fo59PS0ufn6N3d3Ojn5+7u7ejo5+fn5+7u7t3d3czMzJmZmf///2Zm Zv///yH5BAEAAA8ALAAAAAAQABAAAARN8MnHqq0z08Y70xPTeaDjiGPDmJmJjqszmXRtP46R7HzP mwHEAREYII7IAsKkaBKa0KjCBADYbACBacEVcbmqr+3lqWUuF5B6zW67HxEAOw== ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.blueridgenow.com/graphics/article_tools/print_with_photo.gif R0lGODlhEAAQAKIEAJmZmWZmZszMzP///////wAAAAAAAAAAACH5BAEAAAQALAAAAAAQABAAAAM4 SLLcTWrISaWAYoDN+7hRJwIfVp1l1AxB26ZZ5b5gts4BfOL6PesoSu3jWA2Dk2HRaEJaMMsiIQEA Ow== ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.blueridgenow.com/graphics/article_tools/print_without_photo.gif R0lGODlhEAAQAJEDAJmZmf///8zMzP///yH5BAEAAAMALAAAAAAQABAAAAIvnI6ZY+EPnWAigItz mC17sFHRGDaKUlYkxFVnkq6s+CKxLNG1K+Lxzmv4WkDEoAAAOw== ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.blueridgenow.com/graphics/article_tools/email.gif R0lGODlhEAAQAMQcAPj4+O/v7+/v8PX19ff3+Pf4+O/w7/X29fX19vb19ff39/b19vr6+f79/vr5 +vf49/Dv7/3+/vb29f3+/f7+/vPz8/r6+vHx8fz8/P///5mZmWZmZv///wAAAAAAAAAAACH5BAEA ABwALAAAAAAQABAAAAVnICeOZGme5aauLMttWibPtLw2GqXvVERNORUGoxkajUWMysLUMJ8Mp8Oi IgAUD40VANAUAAWCaoFAaCSaxEEzYA8OqkpFI5/T5XfVRXPp+/98KhoBAQYChgKEiRAqLy2PjSiS k5STIQA7 ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.blueridgenow.com/graphics/article_tools/loading.gif R0lGODlhEAAQAPIAAO7u7pmZmdnZ2a6urpmZmbi4uMPDw8nJySH+GkNyZWF0ZWQgd2l0aCBhamF4 bG9hZC5pbmZvACH5BAAKAAAAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAEAAQAAADMwi63P4wyklr E2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQACgABACwAAAAA EAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUk KhIAIfkEAAoAAgAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9 HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkEAAoAAwAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYum CYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkEAAoABAAsAAAAABAAEAAAAzII unInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQACgAF ACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJ ibufbSlKAAAh+QQACgAGACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFG xTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAAKAAcALAAAAAAQABAAAAMyCLrc/jDKSatlQtScKdce CAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA== ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.blueridgenow.com/graphics/article_tools/discuss.gif R0lGODlhEAAQANUoAP39/e3u7fv7++bl5vX09e7t7fr7+/v7+uXm5fX19PX19eLh4e3t7fX09OXm 5vr6+9bW1vj4+Orq6e7t7t3d3vT19ebm5fT09Nra2vv6++np6urp6enq6vf4+Obl5e7u7uLi4e3t 7vHy8fT09fHx8f///2ZmZpmZmf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAACgALAAAAAAQABAAAAZ1QJRw SCwOT8ikEnksOZ9Q50l4Apiu2CtgO0WdHoeDQJwxGAQCQ/cUybpNnXWDUCEoRopGgnBJrEluJIIk IiRrBQUBDAEBBRMfIYprHBtvVxoSaycDnAgDHggOFg4IXVRKCyALSUZEJxSmrUcYsbInELW2uShB ADs= ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.blueridgenow.com/graphics/article_tools/expand.gif R0lGODlhEAAQAJEDAGZmZpmZmf///////yH5BAEAAAMALAAAAAAQABAAAAIwnI+pq+EPHQqi2hvm 3SIfagEApoWj5RmgyJ7psLZuWYnkd9kozXU894oIX4yi8VAAADs= ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.blueridgenow.com/graphics/article_tools/digg.gif R0lGODlhEAAQAMQZAPj4+NPT08/Pz+3t7enp6cnJycXFxczMzOTk5MLCwu/v7/T09Pb29vPz8+rq 6sbGxvr6+s3Nzd/f39zc3NDQ0NfX15iYmP///4iIiP///wAAAAAAAAAAAAAAAAAAAAAAACH5BAEA ABkALAAAAAAQABAAAAV2YCaOZGmOVppiJOaiV3yxIhYDtHU1hETbF8BggkldepWixSacCDAQnaQS wVBcl6HAgMG5vleb05DALCpoivqa+bqMBIRkkqS1YXJ6wH4XSfVsNS8ZOnQWFAc/Miw6FQEWBwU/ DAoOjBcBFBYFDz9ubW5fJ6MiIQA7 ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.blueridgenow.com/graphics/article_tools/facebook.gif R0lGODlhEAAQAMQSACxFheXp8U9lnFlwpTVOjObp8ebq8TVPjVlwpE1km05kmzVOjU5lnC1Fhlpw pSxFhv///y1Ghv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA ABIALAAAAAAQABAAAAVroCSOZCkK0aOuapQyops+TSPLj9g+EcAnAQgk0ojRZq6CEGKL3VpCF08H ACAfwlVRkupGlkvAloczBCGGApFKnGGHZCeOF5XpZg1yPSUiOP4DDggOQn8OBCILhouFDgMHJ3lE PJQtCiaYJCEAOw== ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.blueridgenow.com/graphics/article_tools/newsvine.gif R0lGODlhEAAQAJECAP///wBUIv///wAAACH5BAEAAAIALAAAAAAQABAAAAIylIOpYYfwFnMBQLja shHpXWGTkGCc8oWVlD5m0kbnWLoZxYkwZa8eLxPFVCigrwjUTQoAOw== ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.blueridgenow.com/graphics/article_tools/delicious.gif R0lGODlhEAAQAJEAAAAAAP///93d3QAA/yH5BAAAAAAALAAAAAAQABAAAAIqjG+jq4jM3IFLJjps wNly/XkYQJakgKaoaaoqW7opfMoCDdg3reM9bysAADs= ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.blueridgenow.com/graphics/article_tools/delirious.gif R0lGODlhEAAQAIAAAAD/AAAAACH5BAAAAAAALAAAAAAQABAAAAIOhI+py+0Po5y02ouzPgUAOw== ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.blueridgenow.com/graphics/article_tools/fark.gif R0lGODlhEAAQALMLAMDcwP/78P///0BAgMDAwGBgwKCgwICAgGBggCAgQICAwP///wAAAAAAAAAA AAAAACH5BAEAAAsALAAAAAAQABAAAARLcMlSlL0Kyb1OxRaScN2HnOcwcl6WvPC6tSJp07ItHeCl kT1fbqEwGA9IZI1jNMZgJANhOrQRAABClUQIBABbDkAgCIQ3Tx0ppo4AADs= ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.blueridgenow.com/graphics/article_tools/furl.gif R0lGODlhEAAQAMQUAOCggP/78OCAQODgAOAgAMDcwMDAwOCgwMBgQMCAgOCgQOBgQOCAgOCgAOBA AOBgAP//AP///wAAAOCAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA ABQALAAAAAAQABAAAAV1IEVJZGmS4git7OAOqzQ2ND1NQFEYCk3ewIkhQowIbr/ggxhAKIDJ20NA BDyCUQHjUGUckRJpoFgEQMOTByPBTDCuYOADQTw4HvAJCa4mvpV7eA8ARAuCgoEPDmMRd4cPiUsR AY6HMhIOmQSbmZ0OMiInoqAhADs= ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.blueridgenow.com/graphics/article_tools/reddit.gif R0lGODlhEAAQAOYAALHI3W5wcq+tq/7OzF1ka8/MycvLy1VeZ/7Dwd7c2mxwdniImFNcZUdHR0ZK Tv4yMJCjuP4QD2dzgNPRz3d7gPP29G9+jIGBgaa7yXFwb/6mpGprbKipqr67ua6uromHhtLS0qO4 zqzD1z48Ov6ysG55hGRlZ3B8iEpOU2l1gmBdW1JbZYqNjaWjobHI319senmKm8nh+2NteGRqbb/W 7oiYo/Dw8NnX1WVxfbSzslZaXq3Byc/o/sLa83eHmIydrlthZsjg+t34/vr39J+enaa5znuAgHyK mX5+fpqvxY2htGJqc19qdcnj/t33/o6fsCkvNv7+/sXd9tbw/wAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5 BAAAAAAALAAAAAAQABAAAAe4gFOCg4SFglKIiYqKh4pBNCs4NUsmR1KNij9MOy8qQyiXU4kxPFIp RYgnOk+hiS5KMFA+ST1STYhTGAQlFjMsLTlERkAWJQQYUwoJIx8VUc/PFR8jCQpTFBkeURoRCFEI ERpRHhkUUxANzyQPA1EDDyTPDRCCAdD39wGXQgwFzxwgbIDg8KwAg0tORDjoEMXABSQXDETp4EBE KwAHNgiYcGOCgA0HAOAShSjEAgkyJCwIwciQy0GBAAA7 ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.blueridgenow.com/graphics/article_tools/technorati.gif R0lGODlhEAAQALMPANzxym/FJ4nQT5nWZvH56e345H7MPnLHLODz0L/mn8nqr6jcfWbCGf///1W7 AP///yH5BAEAAA8ALAAAAAAQABAAAARY8MlJq1zMrca7f4vjCB0gZIwAcJmjcIooi69McMEsH41c sDpZT7RqDIKaoWPQCc2YSlenoKh6dEVPJ4Hl3DgIhSFIKAgcgTQS7Vy31jNGGy5agN5IxuARAQA7 ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.blueridgenow.com/graphics/article_tools/yahoo.gif R0lGODlhEAAQAPfBAMzM1/bu5vj9/Pf05v32/Pv+//rezvl7WvPh3srN1P//9s3M1fORUtzk4/r+ /vvr2ff8+/v69tTZ3tbb2/j59eTg5PL79vb+/b6Yd+Pc1u/TttpNYtjGvtva4NPGv/P68vz+/uyH SszJ2ueLT/Hh3tra3PX7+Nja3dna3thxU9nZ3fj7/fj6/v75/vNpMP778u7ElfP+//37/vH+/Ou9 09qSXf77/tHc4dTZ5NWHWtbZ4O1WgtrY0/Po3+2Xbviuj/j9+OxzPszLz8vI0PNfQPi2k/399+55 PvS4lfzZte7+/PB2oPr9/uXAwdyQbfK6p/Hy+OljOOjKv/r/8OPg6Ov9/OZxevBzTfbM2MzL1fTq 8/KmcPj5+9vV0/Oma+LU3vXm5PT67tfX0v7r2c/Txv31/etbLen+/vn8/cnI0urm3/JgVtbb2PT9 /vfXrd7W4vz8/v79+Pr7/u1yR+re0vb5+v359NfMyvTl1tvZ3O7X1uvjr/mFWO92V9e1ntjc0PCv h+/t3+Z8POOto+3EqdXb2ve8mvz89fXUvtrY2d+mr+ati+j7+upgftvX3+6oduPg58zM1uPb6+tb KvaTdP7+997k4tfa3vf++fn19MjO1ehnlfz4/9LIxcjN2fT4+O+QZNrb1sbUy+apZdCRYuqZhO3i 4fn+7vX95OxqZ/vn4v7/8/OUU+Pg5v3++t10Sfv7/N/j3/78+++cmNDd2PTdwv3q7u3a0PH9/Pb8 /drX4/7+/tuWfN/i4/3/9enGz/L8/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAMEALAAAAAAQABAA AAj1AIMJHEiwoEBRjt4UoqVDV6hEODg8IfgHhABXRmQxuYAGl4YrhgZ+yVXFhB0Kn+rIALJnBKhb AnmcQkWIEp8Ds8DY6pGBRBeBE+K8MPDDxaRBNJbs2PSLjcAbNlrECIMkSiksjTYooiNGoARgLM4o CeDDTCorTaDAyiNQxYwVmCJwqUVkjRRGnOSgEEhmjKoHAzIlCdIHkQU4bS4JJMWqiBcYeB4dmcNL TxkIJwSmCOFmy6IPgdQgMKWFwKESAl8xGCUI0BRfClZV2lXAQQeBGJzUyOHHkiQqDXq1glRhiMBY dzx0EuJJBABNCbJEWpDGoHWCAQEAOw== ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://images.blueridgenow.com/apps/pbcsi.dll/bilde?Site=HT&Date=20080309&Category=NEWS&ArtNo=803090363&Ref=AR&MaxW=265&q=70 /9j/4AAQSkZJRgABAQEAyADIAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIf IiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wAARCAFyAQkDASIA AhEBAxEB/8QAHAAAAQQDAQAAAAAAAAAAAAAABQIDBAYAAQcI/8QAUhAAAgEDAgMFAwgFCQMLAwUA AQIDAAQRBSESMUEGE1FhcSKBkRQWMpShscHRByNCVtIVM1JVYnKz4fA2Q3UkJjRTZGWCkqKy8SWT o0RGY4Ti/8QAGgEAAwEBAQEAAAAAAAAAAAAAAQIDAAQFBv/EACcRAAICAgICAwACAgMAAAAAAAAB AhEDIRIxBEETIlEyYQUUI0Jx/9oADAMBAAIRAxEAPwC09luy3Z247J6NPPoOmSyyWEDu72cbMzGN SSSRuSaL/NDsx+7mlfUo/wCGkdkT/wAzdD/4fb/4a0aFKAEfNDsx+7mk/Uo/4az5odmP3c0n6lH/ AA0YrRoABHzQ7Mfu5pP1KP8AhrPmh2Y/dzSfqUf8NF8mszWMBz2R7Mfu5pP1KP8AhrXzQ7Mfu5pX 1KP+GjFZRMCR2Q7MY/2c0r6lH/DW/mh2Y/dzSfqUf8NFl5VumQAT80OzH7uaT9Rj/hrPmf2Y/dzS fqMX8NF81usYD/M/sx+7mk/UY/4az5odl/3b0n6jH/DRisrGA/zP7Mfu3pP1KP8AhrfzP7Mfu3pP 1GL+Gi9ZmgEEfM/sv+7ek/UYv4az5n9l/wB29J+oxfw0YrKxgR8z+y/7t6T9Ri/hrPmf2X/dvSfq MX8NGM1lYwH+Z/Zf929J+oxfw1nzP7L/ALt6T9Ri/hovmszWMCPmf2X/AHb0n6jF/DWfM/sv+7ek /UYv4aL53rdEwH+Z/Zf929J+oxfw1nzP7L/u3pP1GL+Gi9ZWMB/mf2X/AHb0n6jF/DWfM/sv+7ek /UYv4aLk4BJOAOZobN2j0mGRo3vF4k5hVJ/DelckuwpN9DXzP7L/ALt6T9Ri/hrPmf2X/dvSfqMX 8NELS/tb5C9rOsgBwccwfOpFFNPoDtAf5odl/wB29J+ox/w1r5n9mP3c0n6jF/DRisomA/zQ7L/u 3pP1GP8AhryvXsCvH9YKPUPZE/8AMzRP+HW/+GtGgdqB9kT/AMzdE/4fB/hrRtTtSAFVmaAds9bu NA0Bry2XMhkWPixngyDv9mPfVYftnqqxK0F0jqVBBkiUk7c6FmOjZrCa51YdtdXklzLLE4B+j3QA Pw3q4aPrK6mn0CGAJbbZTnHDnx3yPKspI1BSsrK1mmMKWlUhetKzTIBut0nNbrGNit0nNZWMKrKT mt5rGN1lardAJlbrQrKxjdarKyiA3WVqsrGMrKykvngbAycHA91BhRV9RvZ726uIUldreLIZl2RN uviaFQaQ86CRMsn9JuvpROw1G2sLGENC5e4YuVwdyeedvAUQudXtYe77xDiQAgr0zyrl+Pltncpc VSQAtLl9OvzNC3tq2JV5B18/MVeIpBLGrjkwBHvqh6zHFEQtuSRM2d/pEk8qvcShFCDkoC/CjhtN ol5FaaHKw1qszXTZzGV5Ar19XkGsFHprsmxHY/Rf+Hwf4a0cRvZqu9jLmK57GaO8T8SrZxRnyZVC kfEUdVqnezMi9odMGtdn73T8e1NEe78nG6/aBXHtLnMtiitkPCxjYHp1H4j3V2qW+trYEz3UMPCM nvJFXA8dzXF9UudOj7YaiNPuoprK6cujxn2Q30iPceIe+iAkRP3EwPSrv2OvVW9ltjjE6cSnzXp8 CfhVBlbI25eNGtFvTbSwXa84XDkeIHMfDNJ/YUdWBrM02rAgFTlSMjzHSl5qqFFKedKzTa9aVmmM bLADJOAKgy6qivwxDix+0eXuqFqt+XY28LeyPpEdagocHAPqa5cmZ3UTpx4dXILPrSw7yRMV68I5 fbU61vbe7jDwyBs9OtAS6vEUON/Gg6Xsun6pGvF7DNjGNs9N6nDPJPY0sMWtF9zWZqNbXIngSUcn GakA12JpnK9CqzNaFZmiYUKytVlYBusrVZRMKrK1mszWMZTVzCLm2kgLFeNSMg4Ip0mo17fW2nWs lzdSCOKJSzHGTj0oNpdhV3oHexDbsk8ixtGv7Z4RnzrLeeK8QytJCzKAF7l+Ie+odxfJeiK8WHEc 0YYKSDkEbHbrjFKikUoBHGEFQbro7VuO+xctm1/dRlAFMZJEnDuhPUedHo9hjJOABk8zQ+xu7XvV shLi44e8KMCCw6kdDjltyojsKeKrZz5JuWhWa1mtVmackZXkKvXleQ6KCjtP6JdTMmmT6ezDESRy oCd9xwtjy2FW7tPfXOndmb69tJe5miQFHKBv2gMDPXeuG6LdXNn3V3ZXLW9xCo4XU4wCMHPlR24s 7/UdP1O61HX2mvNOb9ZYNxEkcQAcEnBXBBBAPTOKnx2b0CGvflGpJd6hx3HHKWkZ/aMjeeefp4VZ e1es6H2m0uyh0mwmi1C3A4YoIAVCn6SYXPXcH86dsez3ZWbsnbzX+p/JNQuY+Ml5yxjPEc4iHiBj cdai2faD5u6hdwaXqNzLpzuVAwFdo8DBDEZVxuM48/KmQARHe6jbWcqz6e5W0YJNI2R3ZOwDeB8q Va61NFfR211EIoRIBPHkhuEH2l8jjIopq/acapoY0W10m3sNPVw4RHYkkZ3LbZO+55nxofea3qN8 VF5emThPEFCKBnGM7Ab42zzo0mA7tJcQQsoeaKMP9AO4XPhjNO58a88TTfKH45pZJDsOJ9yPLfpX Rv0Xajc3FvqFrNcSSxwGMxI7cXADxZxnkNhtQ6N2dCU86E69rcWm2zDi9o8/Ef50vUtWi0+FiWHH jl4Vz69mn1jVA0hIghJZm8W8PXFQyZdUjpxYr2w7b3bXWH+ipO5P+t6XPfpFFlMleQ4QWZz4Dxrd laQTWokaUJCkXev0AXoB1NIvdHl+TxX8bss5UgId/Z54x5eVRhBvbOt6E293PK2ZI+735M4z78VG 1APLqNuXlzGrBmwuwxvUW3e/jn47lEWLGeLOdvE8sfCo2q6zFGAwfvWb2VOfjQcd9COqL92fn7yx ePOe7kOPQ7ii6N0rn2idqLXRtMae9WVhIwVRGATkZ8cUzefpD1CUt8it0t16ZHeOfUnYV0xmkgY/ By55XBa/TpQNbzXFLrthq3yhZJNSuElU5H6zYe4bVb+yX6QP5QkWy1iSASMcRXMYKK58GXkD5jY+ VUUrNn8DJh92X3NbpGa3mnPPFZreaTmszRMbrM1qtEgbnkOdYAxdXfcDhXBbrnp/nQnUI0vLSa3u MukyFG8cGmLq7YXOcZEsoDeWetPv7XjjFeVkyOcrOyEEkUaHVr/soh03VLWa4s0JEF1CM+z0B/LY jlvUhe3tmVCWNjd3cx2CBMD47/dVmlXPsktWRQBdkwvoMVT5tbQ1P9BGi2Or6hqsWs60TC8Ofk1r GcCLPU+f+j4VeILjjADfS8fGhEaun7QxW7a44pxLniDNgY5cPL8zSxyyUrElBNB3NZTaNkUvNeic xsmvIleus15FooKLJaW81rbwXEoCxPwxnffdFcbeBDD4U7fag73ttMoCTW8Kxd6hOZFGcMfMLhfc KuOpdm7mT9GNpqndRCZba3ldlf8AnIhGApwP2lBx5geNc/x7fFsNuvXxpVsz0xyG4KHH7edyeZNb E8gf2gCPHFR8ZY79OfnTqOybk8uVMKSOMtuTSgR400GDDI2zWA0TDvEMfhVt/RxPdQ6/OYE4o3tm EgLYGea/aPtNVK2T5RcxW6sAZXVFPgSQPxrvGmaRpOi6etrbQqkce7SMMszdWY+NBxck0iM80cTX IqGv6XqMtyr3dwGhzxssZxk89z4eQqMj95udojtkDY+OPLzq3azpS3loJrMx8W7Ln2kf8qo95FfP ZXqXMfdyI4TGSeIYzj0ringnHb6O/wAfy8WTUey7WVrbyaeYy3CsiYOPsxUgk3MshYA8I4FUdAKF dlpHudBtWfJdF7ts+Kkr+FRe0mt6VpokiuL0wXUeHVIs94cjpj/4qkPw6rXbJ2q6ba31sirliG42 DHBwOhz51zztPbmzvoJpEufbLBVZOFdsbDPM75PTcV0Ls1dPqekxX8h4mlGQWUBseeNs1UO3U7XX aGG2LHu7aIMfVtyfgBRb/SU0q0QJZuPRgHXAEyLgH6OQaBSXMhuZEMhwN135eVHo4S/Zq6k4cmMi TGfA7/Yaqk0hNyXBzj4cq2NWXyZmvGUE92EQvFEGMzHO+3OkQH9YsZJIHiabAAVTJKUIGeAISQD4 8gM1kg4Qs0TrIgOTsQR0GR09eVUoOTPjaxz9qrOzdje19rr1sLSR+G/gQBwQcS4H0lP3j8N6tINU X9Gw0+Ds4twiqlzO7d+2SeIqxAPlselXRJ4m5SIf/EKqk6PInNOTofzWZpAbPLf0rfFRBYvNRr2X gg4Rzc493Wn81W+0OsxQXPyUScLKuHZTgrnfbz5VHPLjBlMauQi9QrJHLvwhwSfCpsQDR8QbNU3V 7qa3gilnuXuLcPxxlDguR0/PNH9C1JLq3TD54lBBry2nVnZfonSLwkmlouVz08aclTiQ4G4oJf3k oMcMbEA52GxoXZiZqNzi3MUYLPIQiAHqevu3Pup60TAQIhWOMBV9Byqsw3V/ca1HFAQYbNSJ5GwR 3jDYb+A5+tW6JpZYwSUCgDdP2vhypnqkAKRnnTmaYQ86czXqro4hRavJFesy1eTKZDIug7b38mgR 6QLW2EItVty/tFyoUDO5wDt4UF4g8ZbfY0wI3hEauOFu7Rh6FQR9hFPRheMrk4ahRmIzhgOgP304 G4efL0pohQdzvyOaeRZDGeHD5Ukhd8edYAtSSNhWYfOQrH0Bpk5BxkH0OacgnmgnSWJ2WRCCpHQ0 bMEOz8K3PaKwiOSjzqzY8BufursdnemdAeMqw6gkEGud9koR/Kl7ql0ndu0RWHiTHtPzIGOgGPfV rtLtVuQC6qHG4zurfkapBpezzfLjKT0uizRxSQcU9s3Hx7vC5xxf/wCvPHrUHVrIajZma04T/SVx gjHQ9RUiCRgAOQPXjZQPcNq3erLYqb9COAYE/CSeEf0vPG2fLfpV2ozVM4YTlCXKPaI/ZaJ00pVk QxusjhlPT2q57+k20ZO1Bl6TQxsPXdfwrp2kyCeOSQLwgyHYcunKq32+0iC9ktrt5ZEeNSgCpkMM jn8a85rhNpH08Z/JhU37Qz+jvUO80r+TpARJAoZc9UPL7ciofbbSnGsQXKA8F0AjkdCn+RHwqH2f unh7Wq6p3Vu0Zt1BbmRuPU5Bq96lZRX9ookJARg4ZRkjHh7s0kisXygU/TrUCCezYY71Dt5kVU9K 0d4+9muWaN43MSMY+NAw2JHiR5DAq9xyxS3sXcA8K/tkEcW/nQ687I291MZe8l4unE3EB6A11+Pg 5OSXo8/yfI4KLkqbBmnhCjyX2q281krBWVsOXOdhhhkVEitbS/1JntIpIUBMTQM+RjfiZsg7em2c damzdjbwlBHcd5HG3GsZPDv78gUiwt9b0K9eQ6QJ7V2BaJJAz5H7QPjudiMVX4JQltWiP+xCcdSS Ye0rTWh0W8hTUY2uEbu7aOIgGHiO2VzuOfPoKP6NZXNnYxRXV5LcuqgEyBefltn4k1D0y6sb2RZE nRJol9kXCFJUB5hlPTzGQPKi9rdLcFlRSeHm6jKH0NHG1fWxM6lSp6HgMctqWssq/RkcejGtYrMV U5ba9jgurgf70n1waQ8a3JZp4EfP7e2T7hSSK3EMSd4RJgDBIbCj13ri82N4rR2eHN/JTYH1jSrO KyfvIVMMjqrqwVAMnZuLOBg/6NQ00e60yRZLNUuLbmvdsOXlVi1eRoLFnTGXwqllyOfhVPubu1Vu FrBo5ZDkLb3JjRz5ZGAfXHrXkxjJqj1uSQbuNQ1rizBbxRpgcPFlnPqOQoZeRarKVurmNEZWHAWZ U4idgBnrS9EaO8ujbwHVYiP51Y5g0cf95gcD3UeTRbJJROzzTTrujyTFzGfFc8jQf17Dd9AOw0Rt MUm9imET+1lcs6ueZYDIyaM2SwmaM2mycQ4wykPjzz+VOySwRA5YKwG44uEn3HY1EjcGTvE41/o5 cnH5VXDillnSJ5ckccbZYkbal5oVbXzCRI5DniOAeoNEg1ehKLg6ZyQkpq0bJryhXq4mvKNaBRF0 1TShLoVlqayYaOxhVk4fpbDfPoaAA4xV6igF12WtYT/vLJF/9AqjRxs0ojKnIOGA2PnSwd2GSNzK eIPke351Ii1a8t7I2cMndxknPsDJzzGedIubchnESOYwxEfGfaA88bZpiOJ2IUg8WafTAtDtvC9x IqIB5+Q8asOlWlokgBYf3up9/ShK4t4uBeZ5+dTbFYpWxK5VsbHOADUpWxlSLBLPJbxuIeAZGSyY JH+hT4kju4gSc7c875861pU1tEgt70K6kddyPf8AhUHULSTTbuOWxkzb3LbRscY8QfDep8SpOsde 1HR7ju2DvGNu7YnBHl1FdB0LWLLXLTihc8SDEkTHBA8x1H2VzLVbKYRowKZ8yc1B0/VLzSr1Li3l MUsfI8x5gjwp8eWUdPo48/ixybWmdjsbW301BaQoUVnZlUnkOe3ly9KA9upmttPt7hclkm2UEDi2 O2+3SnezHaBNYEkrhUnSNVKA52ySSPIk0L/SVNjs/Ec87peX91qLkpZNHRihOPj1LuiqaHay/wAp Ne3BjkEIEicBP6s5x1HhnrXUbeQSQg9CK49pF09v33eRO8cycGU37vz866P2d1JbzTo3Vskrv5Hr Vs0VSaN4rfJxf9Cb2ey0S4a5uCAJT7O3Lx267kfGnbfWtKuQCk0Z91C+2NtJqQhs4ZkjcqWywztx D4cqqFzoA09eI6h3ZUZInRlB9MAjHvq2DKscEmji8rx/kyt2dRjltJACkiH0anliiO+M/bXLLe9F symQyvHn+csrpX/9Jz8Mipya6YxxQXuoqvjNY/irGupeTifs4n4eRdbOkNBbyACSFHA3HEgOPjTo I5AjA6Vz+37XzrgLqtsx8JFZPvH40Vg7WXcmB3dtcZ/6qVSfgDW5Ql0xXiyrtFsrRIB/CgHznVQO 9spEJGdwQKr2vduGYtbaepTozFs5PuqeScYIfHinN/haNW7SWGmMIXkEk7cokOT7/Cq/Lrt7e8JL PDGDxKgBz64/E1Ul1B92MjBiTxMCFPx/KiOn3IkUhMkHmSNvwzXDkk59np4oLF0H5NQv5IiJLiVk zykkJoXd6jwSBZgzKeYBxt7t6nh07k83bG5H+XKq9qQGW4lKY8ZB+dQcTp5lzte2unraxRxRm2ZN u5bPC48QT19aI3WrwXCcMULzE/thuFR7+vurkTSMh3yR4cWRRLR9XezmADt3WfaTiyF91SnjvYyn ZdbyDv3t3e9uIykoJXi4lYbeyc5I6758KLQMWOaF/Korm1TuCHeQb48ztj7B76OpCkUe+Mgb13eF FtOjzvMkk1Ym3HHqUQ6JlyPdt9po2CKE6PFHK11dv7Sj2Ez0xz+2iqq/DuD8aXO7yMpgVY0KzXlS vVR2Yjw2ryrQh7LHUtOOdBsB/wBmj/8AaKqWsItvqUh7vIlUMMHG/WrPpzY0WxH/AGaP/wBooRrl ibsiRHRWizniPTn0qcNS2F9AMTMuSrMBnkTvUyCRjExYZzspI3qKs5aKGExRjuycMEAZsnqeZ8qn XJVYxwhg2Nxnb3eFPL8Av0jMx49ulKjm4cb4pk05HBJLllA9M4pukKHLC6lmQxLw8PC3kM455ove QmbsstyGw8MueRycgb/fQTTraa0ctKpVCpzncH86M216kVn8mlXEUmAR/RPSourLR6Gjd/KbFUEw Z+HiIC/R9cnb31Dksg2MyqW5gqMAUPuVayvih3j4srjYN50VMwaFcPHDtnB4WB94pXGgp32a0u8u NLvknQEMhAYDYOvUVa+07R67oUdtalmlMqOGCnCgZzk++qZKXBwQ0bHoDlWHpVm0LUY57cxB/aXx Hw9afCouewTm1BpFWFtPZXPye6RlZdxuXDDxGNsUZ0ya8spDPacXC/01KAj1xkYNG9W09r+04rNo 1uozlVfk3iuemfwqkvrNzG7RSMYXR+GRVUIykcx5V6DUapnHGUu0W2F4zdmSe5YTSY3nx7gPAe6i jrFJbmOaNZIXHLofTw9RVTt7224MFlUtghOEyE+o5sfKidtfSxxy21w3C2ONY2YF18yBsvp+VMkl r0LK279lU1TRreC/nhiUSGM5IGzYIyCPdUlZ5bbsgFtLiWImXCsrlSBxGntRtrefUIrx7uW2nMYw Vj4gQCcZ3zT81kbq0aGC9sy5bjXiJQZ9CPOuKcJJ0lotGa9sAia9njYySm4kC4HeKGJPTzpSpdon FPpyMOoXIx64JxUwdm9btLeSWKFLiUnZ4ZA5A25D3U7Dp16Gie6tjDMuxcKc+/FI3Q6Q3NeSWFj3 cTNH3q/R4zgDqaCd6zNzNEdY72eYSEeyMquBgAChwQDckfHFaHQZfgtC3EDvnoSM1PtWVnXvpG4e owahJ67eZqdbBkwwZlHk2RTMUsFutmsZaNWwBv8ASx99ANTlhkuWZX4ifsojJOkduzl0Jxs3XPuq vXMnHITxE70eJrNFsciB76S0hzlgfIjpSOfWtZYdfcRQaCmWbsx2g+R3cUN0xaDi9luqnpnyq73m uQCJhEWchcnbZfU9K5RbKskgUnhzsSOlWy00PWe0Fu5sbppbizKN3DPgY6OudjuB055q2HO8VpIj m8ZZmpM6hYWxtdKtoGGGbBf7z9tEF8TyG5oHoUmqJpcSa3NE14mVYhhnGcjPnyziikswCBVbJbng g7Vzcu2y3H0aDEjJ615Zr1GDXlyjifYzOk6aT/JFlt/+nj/9ooNqWld33s8MrHJLMjjOeux/Oi9i 6DSbNOIcQt4zjO+6Co9w3Ep50idOzMCWltGx45eLBXKOm4Bz1HhzrLpuJuIsT18Kn2862PHwRoe8 JAUgnBPhQ6clm28aZO5G9DEa8bcOcZqYjyQkcCqAPEVJ0zRnv7WaRJu6dMcIYbN76ZW0Kse8BBBx jrmmZuLWybFr1wsfdKqHzVcU/p6XGrT8PGSM70PFrc3LrFBFni2wAc5q+dl9FGnwjvBl8b+VK0iu OLkx6bslayaciygs6gb9RQC902a3BjjuJTGNu7kOV/yrobZaPhAHKgepWgZwMc6B1cE0c2abhkeL u+6ZT9HJOD+INE9CuOK4xngJ54HKomqwr/KVxKrDhV8Z9AM1vSo/17E+z7BG58qC70cjVWW8X5jk DdDvgGq12ksFvL2S+RsOEHfDGc45N7xgZ8fWpEDFQAihQuOoOf8AW9Na+5+QwFMF2bu3OcZA3A+O 9enKmtnClTINnCYcJ33djmCJiTv/AGVOfuotbwMcpGuE2BGAvrsPTqahaY1uUUd9FBLxYIk9on0I o8yLZWRlZ1ZmYcODz2P50EqM2BtWH/K41HJYh95puNdtjSr1i1ygbciMAnx3NLiFdmLo4svY7HxL uCQamw3MyKQZpMY/pmoygUvhP2Uc0FKNAwy4ysg300clmsQjw2SFwNh40EltTHIESRSxPXbFH9St v1ZZOYPeCgE8nHIXHM7geFeFBU6PYmZGWibDqNvD/wCKmxy5UASOg8eBSPjUEPkDPI8qcSROLkAw 5+NU4iWP3UrCLg7xG9VAoW5weXwp6c8TEg+6me7bmQR58qIBOdqT15GlY8zST6CgEkW384uGArqv 6P2Fnpl3qcySqJQI4Qq/TVTsR5sxwPQVy3TlEt3FEc/rHVc4zzOKujdpI9AijtWjkLxbwwKcKSDj LHp6b0+Hhy+zOnCo7cmXfW9Qs4riwS6mhjvZkbIzjIHTfwJwPfT9uQ6gphh4rvXFtW1C51HU5tRn wJXfi4VzhR4DP+udPG6IVJoSY2ffiiYofsqGVKU7ROUk9o7YD06+deXqv9tr+uGaO0g1S6IlYR8J fizxbdfWqBTYo1YnKy8ztDZJYSNEQZNPgfvFGdu7AOfhWpZeJO8BDLjORzqXq0DN2e0KVZZFcWSB QN1PsjmPfQu2u5rR0eEgOjZ4COJfd4elSW1aHyKpUNxpc3k/diBo1G+GXf13pm6jeNhxqVzyyOf+ VFn1w3N6qBe4Rxk8J59OfjQ7UGV5WYBiSdyxyaMW7VoDSS0F+y8qzo+nSNwTcZeJiceo9R4eB8qm arpEsULOFQshzldwRnng1XVlSZEYP3cvEMMDwnOOYNFtK1i9nvBb387SrHHwb/tDJyx8TuN/AVTs pGaqmW3Q7BBp8EgALGMe1jeibX1lpqhriULnYZqDortADaHdAMxt5Z5e77qn3dtb3UZE0YJIxypD ritaIWo9ro7VVNvCJeMhVHGBkmmWlvNXsZOGQ20wO5QdPDf76UukWkDGZYEUjcHFEdMhWSNmj3zz J2zRrQ3F+yl6hpUOnaJPcyAllTgjGebtsPxPuqNpejaoLBdQeMCzcZEodSfgOXvrpVvpOn30LQXE BuJQeIRlCUxy3PLxqy6fZ2KKe7tIY2HssqqMCljFs5crSkcVI4JSp5MufT1qFrzk21qAPZ424j54 GPxqzdsNFj0XXQbUFLebMkag/RwcMvp4eRoBfQrc200eSO7HGuB/R3OPdmvQW4nBJVIY0qWTIbiA RB7RCgE78s1Nd3kd2kOQG2Gep3JqJp4LBCMLFGSSfQc/tqfFayXDcbnhAJPD4DzpkhWbbRNRvGW6 t4O9icAKVYZ22O3rWjYXluMTW0yAdWQ1Ge/1q0unawu7uKEHCKN1x6cvOiFv247Q2oxL8nnHhLDg /FcVzx8ucJOqaNLBCSGkHTY+VOqPbAqcnbu1m21Hs9FJ4tE4z/6h+NSE1rsZebPFd2LnrwEgf+Un 7q6F56a+0SD8Rp6kQIoxKTHsSVOAevl6/wCdB7jQ45hLHESlzHuFPJvCrhBp+gXp/wCQ69FnoHIB B9+DUDWNHkimL2s3Hc2/LhOVkGNwPX764884Slyg+z0fGjLhwmuihxWd03GkcLPwbsANwD5euRSL iIxgcSuD4E4I+IBq2nuEuINRRvZkB7zK4OOuR5c//CaNyWMM8fDJGrjzGan8jK/An0cxjZ8+xIfT ODRCy0qe/R5ciOJDgyOS2/oBmjd/oCxXAaOMBMgnA5DrUqTs9E1qe4bunIHXY/nWc7WgLA09gC47 NSpbm4trmK4VRkhQQT6eNB8ZH4irozT6Ypkv1LQ8BXjRMDONgR5nrVSWBuDjIP0se/G9ZS/Q5MaV cRWnXC2V5FdOnGITx8PLOKcv5zeXS3MsheaQcUo4cLHvso8cDr50u6tu4sbeURELI54nPXHShzSn J8WO5oxSbsjK1ol3EolZmwBk5FZErG22UkKxGccqjO+DjNXf9HcNnfC8tbmFJSQki8Wc9VPL3Vp6 QqVgfsyFj1OS+cZSwt5Lhs+IGFHxIqg13i80GyaabTYLO4jS7RRJImcHh9r6RzgcufPBFcHpscrs yVHU7mDv+xelSD6UUER9xQZ+6qq1u9zOggVmlY4UJuSfCrzZxrJ2MslODi0hOP8Awr+dPdkewq6v qfyq4Z0sIHywQlWlbomfDxPPp1rnw220dGeO0/6BnY7sRqPaOdZrkSWNpDIe8mVeF3bkyp8NzyHr tR3t52KhsbCW6063HcKsY7qMZcBOLiJJ33Bya6lHEkMSxxqsaKMKqjAAqPeW/wAohZGAYEcjyNdL iqIWeZFAChCpB4qkwyzC7QxEpLnC+tX3tH+jxbeSS7052jX6XcOM8J8AfCqfY6VNdaqbR2jtmjPF K1wxRVANbizJqy56BLM1qonjMbrtjpjyPhR1faG4ppra2sbLHDwCGLj7wKQH6Db3/Coc+oNbkKY5 A5Ge7dcGllFrs9HHtWSrmbAKiB5FHPhIz8KTY3M7sUSKVEUftkAnyFRjqBWFne2Zjj6KMPxqTZrc XXdFoBFFKv0CwyTgEAn0zy60tNrRS0uwnpkl0bKK6kjEUwY+yDuyE7MR0qwRSDiW5UYD4DjzqDZ6 Zb200rxLwd4gUqM8IxywOlOQS8PFGRt9xqsI0edmkpStFf8A0iWU02mfyiOF1tGBZAMNwsAGOfLA Pxrn9rdw3EgKOCcYZDz8K7U0Md7FJbzR8ccoKMMZyCMVwm4g0+yeS1knjWeKQqWDe0Cpx+FXg2Ry K6Yc0/SVhiQs4YJ0HI52/CmtZ1JdNgSO3CPLIeq5UAUPtNVsz30N1dZSQDPDsCfH34GceNZeXelN YS2tlbOGkZWErHAyD4HJ5ZHSmlL6tIjx3bHbLtHKGAuLSJ1PMxkqfxq06WdO1sMtuVaRfpRSLhh+ dUa0tZJHWOKMuzcgozmum9iuzDWEZvbgfrJB7Iz0/Lz6+g386S3ouiPJ2Vs5PpWi+q7VCm7EWjfQ eWM+e4rofyVaS1op8KHGQdHLpuxM6nMNwreGQQanDT2tbCC2nZA/DwleMAkg9PGr69kP6Ncx/Ses 1rrGmOqnu0iZ4zjbjD7/AGcNFRbdMeE+Ds0vZ9i0k1owLtuUnOQT69PA9CDU3S71om+Q3NvMskey A4Y4xnGQd8dD1G/jWtA1iG8tMujQsW3UjkfyPjUjVUzPaSIP1yzKoI5lev4/bQdndGnuI7cLxjIj IHnTYQiPHhyqU5BG4piXgSIs5Cgc8mkKAHXJJrmLu3Zn39lByJ9BUS30kmNFKngQcurHqaOcEbNx BR5VMt7cSbYoWxeKbtlek0qS6sX03IUyMJLdjyEg/ZPgG5Z6H1qjyqySlWBDA4IPMGu12mkG4kRV BGGBLeGDVP8A0jdlhZyHWLMHgLBZ0A2Unk3xwD6iunFdbOLOknoojH2RR/sdrA0jWoJpDiJm4ZPQ 1X23TNSbIIZUWTPAzgNjwppq0Qj2eg9mUFTkHcEHY15brvnYrWZJ+ys6THNzphaE55nb2D+Hurgd JhVWMztWiwNd9lbG3TZpbKNFI6EqAK6ho+mx6TpVvYxni7lAGY83bqx9Tk1ROwEBms9Jz9GKzik+ CDH2kV0kUuCPbL+Q7aX9GiK0R40o0ljgffXScwxNCJXTiAKjOQetct7f6NNpl7barYqVkVu741XJ VlBKN6cPEp9BXV852NUP9JBV49Pt5h+pnlKO2cY9pN/XgZ/torsDK7Z/pBkCK95o8j2xXhlkRuJd 9jgEYAO+2as8cmk63oq/ybcRlOHEZaM8SEdN+R2xRi4sba2a3s1jjSKRWXg4MrgLjhxyx41Rra1P Y7th8mlRodJ1J+GN2OVhfoM+Wcf3SPCn0+x4uUKZK1Gz+SWcUiy96rZDMIyoU8uvntRSzM8UiMkY 4eFFjJG+Mfdy+Nb7RWk01rAnEVja7jQxkAYG45+v3CiEsYhgwoxgZHupFp0jpnkTjYQiuHPOJWON gGwSaE6Fr9v2hFzLFDJbSwSmKaCUjiVhy5e/4UUjdGcqrqWXmARkeoqmzp83v0lI6ezaa1HwsOgl H+eP/NRqjkuy/wBueBGbOGOy+XnXLe1+lQ9n+0DyTSJ8mu2M0aFR1Ptg4GSQT1ONxV+a8DSTAn9V b7Pw7sDgMNvPNVP9JEMt5oFrdd0TJbTkk4weFxjHuIApU6KSxPjZz7Vp4r4xG1iWJogRxld3Hn4f 50xbRXPs95bs6sQA8S5HwrIIpppOCO0uZGHRI84q06NZPaQAyJic5GOLPdj3bcR61PJNLaJRTYY7 L6Q1jcPLLCl4rrwcKyjA3zkqcH3V0KFiQDgjy8KpVhC/EOE4PjVu09JAoDHNRV3bCEF3HKt4pQFb x5VQA0Vobq+nWWpQCG+tY50ByA4+ifEEbii2KhXiMQdjig+gorcVjp+mP3OnaaoeXY8G7N6senvp M2iM9y1y8qRsoxHCq5RB1OepPwFFooEhnLKPaIwc1B1O+mUyGFI+BebNnB+HKjDG2dEIzbqIFuIZ 43xxIVzgt4e6okuj31w/erPFcx5yqH2OH7wfWjPA00allKFgCRzxnoaetbMxttkem1VWKFbJvyJ3 sE2+i37kAwog8WlH4Zo7ZaKluvFcycQHQbD8zUqMSHALsPQ4p5YyW57+JoLHBGfkSY8pCxcEKcA8 udRprWK8geGaNZI5FKspGxB5ipSICpTlmnERUTIAxyotEbb7ODdrOzMvZrU2t8M1rLl7aQ9V/onz H5GgyNwqGHMb13rtNoEPaLRZrKTCyfShkx/NydD6dD5GuDvFJBO8MqFJI2KOh6EbEUvaGOg9koLw ajf6q8aLZhg04V88RCcQUAc8nhz4GuQV6K0RYY9C0qK0t3a3mSFmYANxsdyfHmu56V51pMTuxmeh OxMktl2Usbi3RXmmtIVXj6AKPx+6rnatftGnezqsv7SGMEH0xiqd2UVx2R0dYzwubSHBz4gVbZ3u FRCiqY1P64nmAOoquNVGik/sycs7rtKgH9pNx+Ypw4qK1xwNEu0qvyIIDeXrWR3SCRowrYHMY+jn xHSmolRIb2RmgPbDs/8AOHQ3tY2VbhCJIWbkGGdj5EEg+vlR1iPHY8qbf+adevCcfCsAp3Y7tO+o Wr6bq4MWp6ZlZe82Z0GxPqNgfcetHbq3tNZQIYg6xuHSRlBAYcmGfU71HudHtZtTGqpBH8t7op3r DmCORHoSM86Zs4ryEr8iVMIMSyMAONvBsnp5bUeyuKEZJ29jOpF5hawSJhluolfcbkNnlzxjem9Z S6+RRpbXpil7zHfNGp6MeXLoN6J6nDGt9BO3AUzgnI9lt8feaHatbNOkaRXEXeMjFFkYBWVsD7Oe a0eykYqVRfRTOy2mXsV3DfzJdrdLM0js6YV1ZefEeec/62o129iMmjyahEcS6fNFLG3gTz+8fCrV cW4msYu5yQccJzjY9aCazbW95olzpzBVYwMY165C54vXYe6nnJzk2zmqtIJ6ZdWl9Ct3wf8ASz3q qDzxy+AxSruIXlvNad6zyiNlMg9nhcjIx6HHj1qudkNUluOz+mobWOdY1EZ9klkAJDEnGBtywc1c 7VbZlkliKgs3tkqRkb+PKptaOncY2/ZzZFuJV4ZJZGB5qW2onZ6eZCAuKO3fZ1BcSTW0gdWYsVIw VzuceNTLHS1QA43FcLi09k20a0/SgoBK70aihWMYArcMPdqADTuKslRI1it1sVlMA1SH4VRmb6Kj JpfWompyGOzbBALEKCWAA95opW6GirdA3vO8aSXYcZOMVHmZ5IpLX5OY4DHHh/6fFuw+AqQJBLxI VwQoyfM7UkSd6Iosqe7jyeFs7knn1G331XplpPu0MpbAtvsTUhLcjrTU0qRA4UuVGSF6e+pEbbDG 4I2ob9nO4SSTaMEOACSPLalqCBsNqWrdD1re3TI9aIhtV3299bwe8xnY71tWGOe9KbIQHGSDnFAJ qRVWM+PrXE+3+nfIu2c7hcR3irOp8Sdm+0H412iSQ4DMD6VT+3/Zu41+ysp9Oj47m3m4MZx7DfkQ Piam3sdEj9GE80nZuS0mBxazERnPNW3+/PxrzzXpXsBp1xY6ApuYjHLKSxB5jpg+YIrzVQx9DPs9 F9nRnsrpCj+rbc+/uxVhvl44Ir5OIYHeeznckYIOKB9nVx2R0ST/ALvgB/8AIKPabcZs2QqXETYZ Rz4TuCPtqsXRk2nY/CnfxRyYWM5LDh3I6bHofH30gqPl4GZGI4t8YOQB1Hkalf7vjj9tTy4aHQW8 sN1JKRxIf6chLc/XlToMX2JS4uLdu7eRZVzwlZXCuck4I2xyx4VJjuT3mGPFwkb8sg0zc20M8wRI z4EseJc+QPP/AOK1LbvbSliSVaPn5g/51gzpq/Y9C4LJ4jGffn8qiyyWsUv8/EJEYqySEYYeHrjk fOnrf+Yklz/vFGfIbfjS4+5e1Ez8I4va4jsRQoRCA9pJaSROVjDrjZMY89qEGbjjjiaFeEKsfDIu Q5BxjPhU1l70I8YAV+LLn8vDnuazTohcShpI1UbO0bnI4vTxrdMvHW2OKtw0k9vPI5KsGxwcOU8P 9elBtYe3tJ2uJBvInCMAE43yB5b9atjMLjDhk2GVYDP+hVO7U2Z+U214QDbRv+tGDtk8z5Db4mtf 6Rm3KVg7saZuz1qkV6sjW5+jIAeFSTsTncDcb4q+wr3jmaRQYxnDcRIzy2GMbeNU+LF5C9lFIks9 0OFQjBuBDsSSOQG58zV4tbdYd+ItsAoJ2UAYAHwpU21sZ0jTMHciJipXbYZB9RilRxhVGKxpkIdJ CzYPNK1BIJAxBPPkRgj3UkqFa0OgVlbrKVCmq3WCspgGqH6svHDj2cqpI4uWTyqRdXSwDhX2pMcv DzNBp3aRuF3zI52BJ4mHXHh99CLTlRbHjbpkay/n5iIsSHnkYJzyGfDaprJHDam5vCLWHHF3YIV3 OM49fLnTawCGHvI2HEMEAbAY6Y6VuW4i1SxazvW7grgySqBwgg+J5E5HPbfarKnLZW4yyb6Hr4wP a2z23AYSCF4OWMCmbRuKzhPP2AKXfpHaWFlApUiMYBUYBwBv76i6fLxafCeWV6+pp5fxQMy/4VX6 yZnfnSlJOc5xTcRJGT1+ympLgvL3aHPiamcJL71U2XmfKsaRn5k/fUYPwfnShJn/AFzoMI407xqc jiXqDSHuO6UTRD2QRnyNZxFxzqMDwyGJxlJNiKlIqiwRMrxh15NvXkOvWWlSmS1w30hv+BrybQwz 5xsMlTaPSvZvB7D6UD0063Yf+RakW80lvOWiGWIGx5EDcg+7NNdlgPmfowIyDp0AI8u7WtTxTQah G6nMeCSw5E8qqvQYVbTDsV6sicSrMNgfZ3K7Z3FNgd8AJCJTjGZFOc+gFNyWkoeO4V+Fse1wnY55 H/XjTnyuXZZJDERzbo3rttVBeuh5ojBGO67uM4AwF4ftpC2cjQuJJ2kZs+1xdenwqRHHGw4/pnrx HJFIiubaeR44iONOe2KAblREto2fSpEYFXIYEeY/+KTfI1xYqtvCsgbZ1yFJBHj61LLd1dd3j2ZF z784/KoglaKUWyRMxBOSeQX896xqfoaEF2tt3lxNAsce+5OF+A/CpC2ivGpRgAQCCKXMsTW3dzgM jbcPieppu4uFsrL2Tw4TC+QFHrYb5JJdjBKWavBFM7qXyxYj6R8KRcMCgU+1nnnrUJWMlvxrIEj4 dm8B40uyuVv7OOdGDBhufMbGpt+x5J2I0YRaYZI+5w3FlWRAMgnajk94sECRoeY4QQemN6HLCrqV dcqemaHatdSWPdZLyKjBT6N1+I3peVqgxjckHopQ+FXr4UMk7QhdTFrpNnLqMy/T7shUA5H2jtz9 1V3X9bmg0KcWjlZ5ysKb4YcTYOPtFW3RNOg0TT4rCLDOFzLJjeSTH3DkB4ChGKr7ByWnSC0dyWiV pYmiYjLKWDcJ8MjnSjMRvwjHrQ5rwGVcg46ipE8pW3MsQJKjOB1HWikT4fpJE5P7PvzTN1dtGAqj hyPpflWGRVRZeMDPnzqBezOUdTg8L+yfDNLP+I0YrkNtLk7cyffUa+gmMpKn9YvJFwpYcOMg9fwz TmnnvDLIxz3fsjzapLlpLdcjvR4cmFLiTWyk8nCVL0C7e7Tuj3kixhm4FjjwXOPLG53xjHqRUe5u VjjDzwIH4S0ZkI6dcc8dak3aSRsLmF2PAfbU5HEP7QG59R76i3ckbzwt34nDkSYlf2ZGyBgY9c45 ACuyLhIpF48j/GOJaR3MLPBNIihiFIIwehPDyGT4U5CpgiigAOEXhBPM1qO3ltQO4LS4y0mep3JN PpPDcpkMAftpHbOLJOUnXoj3mpi1uILZVLPKwXnyGMk+4Zp6yyYe+K+3KcgHoOn2UIv7cy6vbXDH BQmJhno4xn44o8ABn2wCdh/ZFAkzWMHnv91ZkA7Gt4XGOLhUfbWiY+Rb1rMwrJ3YHlvUDWNRXT7Q 3UgVsEKnmzbKPjU4uucoGJHXFVHtfK1zrmlWCHhT2p5E8wcKfvrnyPimy8FZdtBkLQRZOSyHJ8eR ryxXqvSIhGsCjpGxP2D868qVHwr+IfL/ACPTnZtcdjdBbx063/w1qY+VzwnAI38/Wo/Zpc9g9EI/ Z063P/41qUFYjHjXZHo532SrKTvk7lscKLgjxFYSEmaCZSQoBEhG2D40xayLaXBaRsK4wc9KJM6v kKcso3Xypxl0CHeUXv8AycyxhGGygcLDz64z099Tll7iVhIq97M54Qo54xWzcxIVDcMTMcbjG48a QpxO6osgcpkMTsc9fKiU21VDN1dLJMgjccSN7WMc/L4EVA126l0/UoLhHYLPHwcBYcJYHqMHfB6U 5qbO1wtt+qWRipViN2PQ+g61E1+5EMEMsjxu+W4mU5322wN+W9B6VnRGNJMea927yRjgdMY91R1Y 3U7S3CtiIZWMjPv8z4eGaEd/c54hJFgYdXJGB139eQPhUyC+ZhLIA84B2VV4Rz+Jo1atk3Hh0RL6 5muIY4Im7pGZmk4sAjHIeW5z7sU5oFwYCUKkW7Y9o7AHx+Jx7qzUGZ0JlGcIMKfXOPjWrTT7ueKO O1TidObKucbfDr1qaSk3Y0ppqv0swTBzUTX5rG10p7m9D8EQwDGcMSeSj3+PLc0+8c+l6S891+te MARwx7s7HZUz5kgeVUPtC/am50949VtZEt+87xQtuOBSAf2gCcbnmd6TjRz8mnaAVx2q1CW4jCvE kKyo0cXchlbDftNjPPG4xjwFXTs12qk1HvIrxEiuUcsvC3Err4g+I6/GqSmnm5iYxNJKxA4IuHjJ Hh4mrBon6OLq5KT37Np44uLhiciX4DZffv5UbTMnK7OgXkceoWUkMc/dTFSFkTBKnHPzqNo811DA tjdBo5oVCluH2HwOanwPxHKptrpVlYwRRxrIeBQON3ZmbHUnqfOsuryCBWcnl1JolY70hsxd3bMo Uk8fED5c/wAaDTXk8+oLEjgRKisQBuzb4HpyojpervqfFcQRj5MHKd6x+ljog679eWxxmnxaWQuV nCESs+Sqk4Pu8ue1CcX0PCSi7Y4ECju1AGFHx601G3dyGM4wdxmts/CBKOXI5pqciRNjwkbg+Bop HI3b2KkAzmM8XUrn7qH3Gm29wS8TmGTOTjYZ8xW1luEJwqsV2YZ2H+Rrb6lHH7NzbtEQMA4yPcap ST0Vk1jlcSKr31kWjdBIhGMiolyqse8hJRuq8s0VGo2J+lOuPM4pDzaZJ/v4s/3xmmlXoOecJPS2 V2ea5T6MzqRuAfaH21YY9XsGiDLFNIWAJ4VwM+81FuYtPKHM0WOntioUQVVxG2V/ZPlUss3FWjeP BTbTCx1m1X6WnykdN1P402/aBAf1WnEeHE4H3CoBYmmHbeub5pnavHgTpe0V2383BBGPPLZqt211 Jq/bK4upkVWhVYPZ5Hh61Pc4yT03qB2UQsJr5tu/leT3Z2rmz5JODsMscYtUjpmkAN3jjkqrGD58 z94ryhXrbSrdrbTYUk/nGHG/qd/yryTXX48eONI8+buTPUfZXfsLo4/7sg/w1p5XKDJGDTHZY47D 6IPHT7cf/jWtTykkgVeNkmakl4mJNS1vJTGhIAkT9v08agwxln4jyp54o5nETqSAM5Bxg04Yunse m49QyOCH2uZUHf31t5YdPtI+8kdUU8KgYy5HJTnnnlT0aNbWLlGHEqHDPyyOWagJZnVpY4r3jDQM JGXkGyNt+uBt8KZHRjp/yf1Q/ZWD3glvXHdvIP1QJyo26r5HNSINItRK8UqrMC4k4Sv0GAA+38al jjthK7YCLsiDkB0wPGkSStZcEku5diW3wBn/AC+6hd6M5yk6Qxd6FpjkMIIrd8EAoOH7Bt9lCZNM g0mGKBrlpGllIAZGZssee3QZ5mpduHuIZJlEjSGTJYjK8+XuqTACYgzn2mGT091LJ8VoZw46bNR6 FZmRZJ1M7LjAP0dvIc/fRNQFUKqhVHIAYAqFhMc6SZFBxSKZPjZWv0g6hexSaZaafFI8omN0SkZf BT6Gcf2jy8qiadc9vdSieOSztLdXUhbm4TumTI58K/S9CKtzXIQYBpEd4Wk4MjJ5etDm7N8fsb0f SLPQdOitraNeNUAkm4cNKcbknnz6dKcN1wSZ6GtS3AJDMcCorsAxCjioPsaMQo91G2Ax8sVCvE02 5GLi0SYMOE8SZ+yorM78zg+lMSrLGQWlwOeBTUGMSbf3kccK9zgKq4CgY+FD9Oubpe0H61QtoqDh fGcnG4z033oLqGsu8xgtQdtmlPTyHnRLS2KwgMSTjnU5Sp2dMI1FlhvUit2QgKkUp4fIN0+ND2V4 5eAkBW+iac42mtmt5MPE+xVhmmWVI7SSK7uGcBf1RK5Y7jGSPv8AOmWSLOSWGSMltmkwynu5F+iw /wBbimTfqh7nUIREOQkIzG3v6e+kPLe2Q2DXMI6D+cX+KlNdq8ZODg81dcfZVFJEHCS9Cm02xnXi CKAeRRtqgz6NYLktcFB/eFRpJIoCWtpGtWPMDdD7qb/l5lbElrHMRyZTsT76ZP8ABeJGu7PR4slr wsRyCR5qRAoSNVHIAAVptdeReCKxQE+BFKTkMVz522kju8NdsU3rUeT6QY08+Bgjn60xIRXMd4P1 aYxadOyfTKcK+p2H30d7JaT3ggg4f1UQBfwwOnvP401pmgJr8jRSTtEIiJAQuc4PL7avWn6dBplo IIAcftMebHxNIsbySV9I5M+WnS7JfPlXj2vYXvrx7XoROE9N6BMI+xGhL/3ZC7egiFDtI1OPVo7e WFspKgYnw8R7uVS9GhMvYPRkDcJl0qOPi/o5iUZoL2a7L6hoFy6vdwT2xGRwhlYH0P506dCMtvCq jbkKQgPAz8i529BS8hkUMeEMdiacZMDhHIDFYAtJWeELzOQG23al2kyC5miV1JQDI4twfDH201Fh JAWJ4Ds2OeKamcNJ+rXHgAN/KmHTVbJ0d2txcmJkwy7oOLPEP6XlWXltJeSlS/CgXCnpk+VDbUra SF4oFJJGeYwPIetEP5TU84zW/wDB3JJ3AHW95Mb64tnjWKJFZii9SAME/ZTpucdeVKvr1TZ3DICG 7tugoCdRAZRkksdtjvUslt6OiLU91QYa4J64pp5/FvtoW13cN9GJxn+lgUjgmkP6yUKPBB+JrLDN +h/qgg1wCccRJ8qQ8yLvK/APEnGKHPZpxe20j/3pDj7KbNpaKM/J48+aZ++qrxn7ZucfQbivba+f hgnjmlC5eNHDMP7WB0qHqur2+jWzz3yukSDdh4nkAOpoHLpGnz3KtFZqtwdla2Bjk+KYNYv6NU1O cSX0l2iDcCW5Mh92c4ovFx9nO5NegunaCyMfecUgHPDAD8aj3WsrdwlbSNuNjgs+wA/GpVr+jrTr RAsUsqY8Gz9+anr2URWBW5fIHMqDk/ZSNMrGcO2AINObZjiicP6sb7Yoqug8IwLo/wD2x+dNzaDN sUvTxZ/ajGCPD186k4NlflgvY1HKAgOa1NNGzRjPtFwNpMbbncdRUaTSNUtuMgLcKvIR8yPIH7qj Sakv8n24aMIRMcM4wTsft/KkeNxDafQXYq1NOgJxsaHpe565p0XYJG/OoUU4ipLaM7lBn0phrGFh holPup3v96334xjnW2g0QJ9MjWFu7Xh224TTKAhBnORRTvwBvUC5I4sry8K1t9jRSXSGnYY5VGfB p1ztjwpVnbte30Nug3kcL6DqaDC2kHeyxaC+7mReEyw5U+I2b8T8KtdU3T5Wj1CwkII7uRrd8+KO yfcy1cfWrQ/Dy8jt2KFePa9gZrx/V4kz052cAPYXQ89NPt/8MVKjj4vIVC7Lyd52M0WMjGLC33B/ /jWiYAUYG1N2TEBOKdBvgb4qQy1pAFHeYyfSlrl2zjbzomMWIMmeZrn/AOkDVWM0OkW0jIykTTsr EcP9Bcj3n4Vd9X1OLRNNuL6ccSIu0fV2OyqPU/j4Vyk2lzeSS3t8xaeZzJITzJP4cgPKqQjbsEnR Dlvb2deB767dBtj5Q2M/GtLrWswewmq3qjw74mpD2oTpsdsVFe3CyHA9k771VxQthzs1rOo3uqG2 vr+eeN4W4Vd+RGN/hmrY0CPCYsYXGNjyqgaTILfWbWbI3lUHyDbH766HCOMEZwy8/Osl7L426Ip+ URfSQuOrDLK3wyVPuIrYuYQ4BmReL9lmGRU0jh/nIyP7S9KIWujNOBJcTSiIjIj5FvXwoudIva9g VE+VzmG2lMkg+kqb4/CiFr2anlbjvZmROkaFeI+ZONvQfGrFb28NtH3cMaxp4KOfr407UHNsm5/h EtdOt7NOG3hWPPMjmfU8zT3BinqSaAljZFZil4pJrGG2kVOfPypYrWBnkK3kDnSxUr2Nr0YVBoLe 6FFdagtzIiOoOQCPot40Zz1ByKSxyadBTa6K1qPZvgXvbF2Xb2ozuPUUIaG4jB2PEOa9avJYUPvb ON/aIA8/Ci4Rl/JDxySj7Kk9yY3EbnDEcQz1HjWC5Pj76JXenxl+5kxz4k8VPlQ86Y5OFAJHicE+ hqE/GXcWVXkNejXfk7E7Vp3B60qGwmMvCyOqgbZOc0X0zRrW6uHSY5EaglFbc5+4VzOLToqs6q6K 8zDpVo7KaY0Ya/mQqzDhiBHTq34UVt9G062bijtE4hyZ/aI+NTs0Yw3bOfJn5KkVTU4jb3t7wj6N wtwvo6ZP/qSrWriRFcEYcAg+tBNbh4rniA/nbZlPmUYMPsJqdo8ve6TbE7lU4D6qcfhRWpEXtE/N eQK9fZryDVoinpnsyhi7I6GejadbsP8A7a5oiGy1M9mIRN2F0MftDTrcqfPu1pwbEgjB6ijdCtDw YhCR0p+E+wPHrUVT7JpN7dmw064uVIDRISueWeQ29adbFK32kuxq+si1Bza6eTt/1k3X3KNvXNQp bcMSBypm2Ij4E55zknqfH3nPxqeCW9jIz8K6EuKoi3bBNxZ5jBC75ycihV7bcIKjPEORq08IJGff 61Bu7UEEjGRzopmKW7yQseeQdj934V1bTg99Fa3NuMtOiv5YIyfdXO7yzIflseQrpvYS2mg7M2z3 GONw3d+UfEeH/XhitJ0XxvsOW9jFCAxUM/PJ6egqUK0DWZqA5s1maSTWi1YwomtUgvWuKtRhZNJJ pBekl6IRRbHPlWid6RxZzSO84NmzwHk39GiYWxK+0vvHjSRLncdOYrZyozzU9aYkKqe8jIz1FYw/ xA007qPZbkTikNPxAMis4I24eYqJJcSO30hGw8Tg/dWCba1AHtAO4yoLc8ZqLLDk5Cg+mxFPCV0B DDiHrzpi+vLe2tWlml4dvZDD2h+fkKVypbHim2Rby9jsLcyN7TE4RDsWNQtF1GSDUPlErZLt+s8w ef5+6hd1cSX93378XCBhFboPzNPWoIceNeNmzuU7Xo7o40o0zpAI8c1se+hui3JuNORWOWiPB7un 2fdRAHeu+LUkmebJU6Ieqxr3MUx2EUmW/usCp+8U1oWY4J7ZucUx5eBAP35qL2w1WPS9F4nBYyyK vCu5Kg8TY9wx6kU52ZujqFrPqBjMa3Eh4VPgMii+0ZdMNHNeQq9e9K8hVSIqPVXZD/YnQv8Ahtv/ AIa1Ku4eMF1HtD7ai9kP9itC/wCG2/8AhrRKVcjIoMwLUgqfGh3aWbuOz93MyllhVZCBzwGGSPQZ PuonMRHITsM01d263llPaMTwzxtGf/ECPxposRopFvKHGQ4fO6sBs2wIx7sfbUwS8WGHrQWx47aN IHmISP8AZccgNsA/3tvf4UQjkVjnJHXltiux72QCDfSz1P8Ar86Qyl4mHiPCkpMDDxMNx1rSzAyF TnAznzoUYF3cHEpLD1/GupwqkUEcaKFVFCqoGwAHKuazBeJ1I8vQ1etPv1u9OhuFOeJAT5HkftpZ +i0AoXAFJMoPKoDXB58x5VhYcIYHKnrSUVJhl860ZPE1DMvTNa77x9xrUEmF60ZAOfxqGZuDYn3U h72GNcu4A8zig2l2GmyaZPj4Ugv8D18KDS9obCHIa7gGOQ7zJHwqDL2qssnEskvkkRP30jywXbG+ OX4WVpVUbtgimzeA7oN+RHjVUftNnHc2FzJ5sQv502db1aX+a0+NPN3J+7FRl5mGP/YdYJstJnkX YEBeeM8qQ0y4339aqpn1+fnPHCD/AEIx+OaZbSrq5/6XeTSjwZzj4cq5pf5LEutlF4z9h651ywsX JN7HG39FW4j8BUaftZCyDuw1wx5BU+/OwqBFodtGNh8BUqHT4IzkLk1yS/yb9IuvHS7IUuratdH9 QotVPVFy3xPL3CmotMmkfvJizuf23JLfE0bESjoBTgUchv6VxZPLyT7LRhGPQMTT+Hpmn47YJ7Qq bsvM1tYpJ1PdR+z1duQpYOcnpAlJLsmdnW4Bc8bgLlMZOPGiF3q1rZRZZ+8kOyxx7lj4Cg1vPHFb OLdWuOBj3hiQuwPXIxtT1u/8sDu4p2tOH6RU8M2DzAyMgehr3cMXCCUjzMklKVoAaxb6prurQQN7 Nw54liH0bZM828N98cyR7qvVhZxafYw2cIxHCgUefnTWn6daaZEYrSEIGOWYnLOfEk7k1LBOTViT disjrXkOvXgFeQ6eJkequx/+xWhf8Ot/8NaLMud6Fdj/APYrQv8Ahtv/AIa0WYnGBsfGsYFXqZbi A+iftFMiQEkg5Gan3CDgwBsKDXSPCxkjPCfPkfWl36FZUtes1ttalUxq6T5njU+J2YfHJ99Do9Qa UASKYcj+bbYr8KtHaFBeaRFfxr+stnIZeeAdiPjg1VJpYZBHHKsZUH2e8PCc9d/HNdWKWqZKUfZP Wf2Bk5yP9faKTHcZkRs7MN9/dUbiPdheAIq/sjrvzz1rFJGMcifxqwlDs85aU7k5HMmp/ZntClne jT7hsRzZaNicBTnGD4cXTzHnQsqXyeg64puS37w+0oxyxjpUMuVRVFscXdnSX9kGWHLxftAblfUV kc4A4wVMbc98q3v6GqzompXkZjilds5CpL18g3iPPnR+S5DqeOzRpCMF1bhz+fvrJqSsvpm7m6jt 07wHiTGdyDt+IoJe6rqkpEdrFHBxH2uL2yPAHoD160QaIcQcx43yACGI+wAeu9I7gnGFCgclXf4n rSZU3BqLpjxcU9gkWOpXS8N1qUzL4K3D92KUvZ61zmTic/2jmirM1vE0rcPAgJYnoKyPXbEW/edz v3ixcRzjjPIY8a+cni8ty+zZ2fJjS0QY9ItUHsxCnlsoV+jEB7q3ea2kMndyKA4/ZAyRTcGoT3ZP dpwKObMAMVH/AFc8vTK8tEhbUAbAD3Vs2+N6kWllJdr3kty4TlhdialppFmN2EkmP6Uh/CmXhZH2 SlnigWVRfpOoH96k95ATgPxf3RmjsdjaRgcNrHnxK5P21IQhQAoCjwAxVo+B+sm/J/EV5IZpf5u0 ncePBgfbT6abev8A7hIx/bk/AUcG/nWHNdEfAguyb8mTBC6RP+3PEv8AcQn76dXSY/25pX9MLU8j rmtgVZeLjXom8037I0VhaxHIhUkdW9o/bUpeWMbeFbAA6VsYrojjUeibk32QrvSYrqQTxu9vcp9C aI4Ye/qPI0Mu9QutOkUa3brNFnC30K4I8OIdD5irGpyKTLDHPE0Uqq6NsQRkGqVqhSBZamGlS3kk DiQZhlB2fyPn/rnRRSM1SNTsJdFuFiTJsJmAQ53t5D9Hf+i3LPQ4q06RfG/09Jn/AJwexIP7Q/Pn SJ06Y7Sa5In15Er12K8iVZCI9Vdj/wDYrQv+G2/+GtFzQjsec9itC8tOt/8ADWizVgDE4yMUNuIu IYNE5RkVEcVqAwDLbd33ynJinQpIvu2Puqt/yeYzJG6BkYg4YZBq9SwhhyoTd2IJJxjPhTRe9isr aWcYXuwnCvQLtil/IOEeyARz9qi3yTG+K2Isch8adsAJWwlYjIHxp1LJIyC+56bbUT4Bmtd3ufOp cVdj8n0RRGwAII4huDii5lQqCWA4hnfaondAD1p5HMahCMr08RTphi6NOhPtRtg+Knb7KZL3Kc5X 8uLeslkAOUgyfHIFD5tSvLe6WMQxSQ59rgUloxjIzv6fGnUl0WU0iH2q1650zSwAytJMwVAVGNj1 8fSm9KtrwWVvc3Tngs2LRL/1ly/NieoRcf8AiwOlENT7OydpItJnBWFI5JJZNumwUY8+Gp99CkLR W0KEQWycK+vMn1qTlbdGj95g2ysVd+JhheZ8TRYBABGigL1AFNwRhE5c96kW8RZgDnlzo1SstKVs L2w7u3RdsY+2ngQBUYMAdsCl95XJH9ISH+LFZx+FMd5WCSqWISOPzrOI+NMd4M1sP51rBQ9xVsGm Q1KzkeNazUOhqUD0poGlA01gHl+Nbx0pCnrSgcmiYh6tBFPbCOZQ0cuY2XxBB/Kh/ZktFcahasWJ idMlv2jj6XvBB9c0T1FeKOFsn2JR9oIpqxQJeSMAPbjAJ8cZpJLaGTqwlmvIteuQR415GqsQIKw9 qu0dvBHBBr+pxRRKESNLyRVRQMAAA7ACl/O/tP8AvHq312T+KsrKJjXzu7TfvFqv12T+KtfOztIf /wBw6p9ck/OsrKwDXzr7R/vBqn1yT860e1HaE89e1I+t3J+dZWVjCT2l1489b1H60/51nzk13+ut Q+tP+dZWUQGfOTXf661D60/51r5x67/XWofWn/OsrKwTfzk17+u9Q+tP+da+ceu/11qH1p/zrKyg Yw9otcPPWdQP/wDaf860naHW42Zk1i/Ut9Ii5cZ9d6ysomHF7U9oVUKuvamAOgu5PzpJ7Sa6W4jr eoEnfPyp/wA6yspfY8ezXzj13f8A+tahv/2p/wA6UO02vry1zUR6Xcn51lZTS6GN/OjtD/X2pfW5 PzrPnR2h/r7Uvrcn51lZUl0KzPnR2h/r7U/rcn51nzo7Q/19qX1uT86ysogM+dHaH+vtS+tyfnWf OntEOWvan9ck/OsrKxjfzq7Rf1/qf1yT86z51do/6/1P65J+dZWVjGfOvtH+8GqfXJPzrPnX2k/e DVPrkn51lZRAb+dnaX94dU+uyfnWfO3tL+8Oq/XZPzrKyiYxu1faRhhu0GqEc8G8k/OtDtV2jU5X X9TB8ReSfnWVlBmFfO7tN+8Wq/XZPzoRWVlMgn//2Q== ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://adx.blueridgenow.com/apps/adx.dll/img/HT001/GOOGLEBOTTOM/NEWS/40023744179034995/-1/-/;IDN=-117012042;Type=3 R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://adx.blueridgenow.com/apps/adx.dll/img/HT001/LARGEUNITAD01/NEWS/40023744179034995/-1/-/;IDN=1491344016;Type=3 R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.blueridgenow.com/graphics/restaurants2.gif R0lGODlhVAFLAOYAAMjI0+zs8IODnEtLc4uLoigoU6KitZycsMPD9JSTqRcXRnt6lTU0XVRTe1JS djo6YampzJqZrrGxwUREarq6yK2tvrW1xLm56amp1llagVlZe2Nkg3Jyjr28ymxsiXp6p6mpunV1 kElJcJmZxLi4xiMjT2pql4iItcLCz6Wlt76+y5GRp9bW3sC/zmpqh319l0FBZ39/mbKy3bS0w5+e soGBrqqqu4GBmk5Odk9Pcru8yVZWeaemuGRkjbKzwldWfo+Ppbe3xbCwv46NpA4NQIWGnru7yba3 xZaWq3d3ki0tVz09ZHNzoausva6uv5iXrLa2x3BwjI2Nq6yrvL+/zLKywnh4k6+wwD8/ZR0dSm5u i6Ki0pKSvbOywrCvwEdGbrq6yqinuV5eiEdHbK6vvmdnhmVmhKCgs7i4yB8fTLOzxF9fgbe5yLS0 xDEwWomJoby8zIeHn2dni6uru11dgFVVd1dXeGFhgqurvKysvVhYeaenuG9vnKKixv///8zM/yH5 BAAAAAAALAAAAABUAUsAAAf/gAqCg4RECkSIiYJZjI1pj5CRJWkllZaXlQWam5wFSp+goZ9upKVu DKipqg8MD66vD0uys1i1MLe3E7q7E2O+vyLBwQPEAznHyA7Kyw51dTt2enbRGtUa0XrW1Rl03XRr 4Gt3G2XlLufnHupa7FHuURwcIfP0IUlW+Av6Cy/9/TExbgi8IaBgkYNx4rxZ+IaAQwJDhgCZCGSF xQQYEyDZiORJBI8RQh4YSaPkmZMGUqZMwZIHjz1hQICwQRPPlDwVKpDx4kWIhJ9VusywYOHIEShB glBYSsGI0w4ULEBh40MCBThNUWgFwBUFV0JgDyVCRKiRo0iQJlHCxLZEp7eb/0SBMmVKld1WsPLO klXLFi4YvHr9AiZiQGFjxpAlW+ascbRpdrTpqeMAx7IGDZzt2IxNA507Zsyhc7Gu3bt48erZu2dl Hz9/LwAGHFjQIEKGDR9GpGjxYkaOHUOKHEnSJEqVBli2hDmzJp480HVeEeJTQhUfPmYMNYqUBNOm TaEShfITDRw2RrSqB+AVQNhCY8kuMpsFLdq2beHClTuKbqm7qeSl1159YfEXYLwM5oswwhCjmGLM NOYMZNRYY4cDxRCDw4YbMtPMD3SQM1o6HrBjmjuo0ZPEiqy5BltsswlUmwAHFZEQbrpFJFFFvWWk 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 aNhoQ6OtFqhhRK67mhMIADs= ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://adx.blueridgenow.com/apps/adx.dll/img/HT001/BOTLEADERBOARD/NEWS/40023744179034995/-1/-/;IDN=820905785;Type=3 R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.blueridgenow.com/includes/css/main_style.css BODY { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 0.75em; = PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; FONT-FAMILY: Arial, = Helvetica, sans-serif; BACKGROUND-COLOR: #eee } #top_tabs { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: = 90%; BACKGROUND: #002d56; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: = 0px; FONT-FAMILY: Arial, Helvetica, sans-serif; LIST-STYLE-TYPE: none; = HEIGHT: 20px } #top_tabs LI { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px; HEIGHT: 18px } #top_tabs LI A { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; BACKGROUND: #002d56; FLOAT: = left; PADDING-BOTTOM: 0px; COLOR: #999; PADDING-TOP: 2px; HEIGHT: 16px } #top_tabs LI.current A { BACKGROUND: #369; COLOR: #fff } #container { BORDER-RIGHT: #b2b2b2 1px solid; BORDER-TOP: #b2b2b2 1px solid; MARGIN: = 0px auto; BORDER-LEFT: #b2b2b2 1px solid; WIDTH: 950px; BORDER-BOTTOM: = #b2b2b2 1px solid; BACKGROUND-COLOR: #fff } .container_home { BACKGROUND: url(/graphics/right_rail_bg.gif) #fff repeat-y right 50% } #main { CLEAR: both; MARGIN-TOP: 15px; FLOAT: left; WIDTH: 670px; MARGIN-RIGHT: = 10px } #main_default { CLEAR: both; MARGIN-TOP: 15px; BACKGROUND: = url(/graphics/section_rail_bg.gif) #fff repeat-y 366px 0px; FLOAT: left; = WIDTH: 595px; MARGIN-RIGHT: 5px } #main_default .content_article { BACKGROUND: #fff } #main_default .content_article .content { BORDER-RIGHT: #999 1px dotted } #main_defaultblank { CLEAR: both; MARGIN-TOP: 15px; FLOAT: left; WIDTH: 595px; MARGIN-RIGHT: = 5px } #topstory { FLOAT: left } .topstory { BORDER-RIGHT: #999999 1px solid; PADDING-RIGHT: 7px; BORDER-TOP: = #999999 1px solid; PADDING-LEFT: 7px; BACKGROUND: = url(/graphics/topstory_gradient.jpg) #fff repeat-x; FLOAT: left; = MARGIN-BOTTOM: 5px; PADDING-BOTTOM: 7px; BORDER-LEFT: #999999 1px solid; = PADDING-TOP: 7px; BORDER-BOTTOM: #999999 1px solid } #right_railfront { MARGIN-TOP: 15px; FLOAT: left; WIDTH: 270px; BACKGROUND-COLOR: #ebe6ce } #right_rail { FLOAT: left; WIDTH: 340px } #mid_rail { FLOAT: left; WIDTH: 219px; BACKGROUND-COLOR: #ebe6ce } #facts { FLOAT: right; WIDTH: 255px; MARGIN-RIGHT: 5px; BACKGROUND-COLOR: = #ebe6ce } #breaking { FLOAT: left; PADDING-BOTTOM: 5px; WIDTH: 950px; BACKGROUND-COLOR: = #ff0000 } #breaking-yellow { FLOAT: left; PADDING-BOTTOM: 5px; WIDTH: 950px; BACKGROUND-COLOR: = #ffe600 } #header { BACKGROUND: url(/graphics/header/grad_bg.gif) #fff repeat-x; POSITION: = relative } #header .ad_marquee { RIGHT: 4px; POSITION: absolute; TOP: 4px } #header_sm { BACKGROUND: url(/graphics/header/logo_gradient_sm.jpg) #fff repeat-x; = POSITION: relative } #topnav { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 10px; BACKGROUND: = #002d56; COLOR: #ffffff; PADDING-TOP: 1px; HEIGHT: 16px } #logobar { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND-IMAGE: = url(/graphics/header/grad_bg.jpg); PADDING-BOTTOM: 0px; MARGIN: 0px; = PADDING-TOP: 0px; HEIGHT: 120px } #logobarsm { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; HEIGHT: 59px } .floatleft { FLOAT: left; PADDING-BOTTOM: 10px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 5px; = PADDING-TOP: 10px } .padding { PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; = PADDING-TOP: 3px } .search { BORDER-RIGHT: #999 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #999 1px = solid; PADDING-LEFT: 0px; BACKGROUND: #dfeaf4; PADDING-BOTTOM: 0px; = MARGIN: 0px 0px 7px; BORDER-LEFT: #999 1px solid; PADDING-TOP: 0px; = BORDER-BOTTOM: #999 1px solid } .search H3 { PADDING-RIGHT: 3px; PADDING-LEFT: 15px; BACKGROUND: #002d56; = PADDING-BOTTOM: 7px; MARGIN: 0px; COLOR: #fff; PADDING-TOP: 3px } .articletoolsbox { MARGIN: 3px; BORDER-BOTTOM: #678bca 1px solid; TEXT-ALIGN: right } .articletools { BORDER-RIGHT: #678bca 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: = #678bca 1px solid; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; BORDER-LEFT: = #678bca 1px solid; WIDTH: 185px; PADDING-TOP: 3px; BACKGROUND-COLOR: = #aac3e3; TEXT-ALIGN: center } #nav { BORDER-RIGHT: #999 0px solid; PADDING-RIGHT: 0px; BORDER-TOP: #999 1px = solid; PADDING-LEFT: 0px; FONT-SIZE: 90%; BACKGROUND: #002d56; FLOAT: = left; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: #999 0px solid; = WIDTH: 950px; PADDING-TOP: 0px; BORDER-BOTTOM: #999 1px solid; = FONT-FAMILY: Arial, Helvetica, sans-serif; LIST-STYLE-TYPE: none; = HEIGHT: 25px } #nav LI { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: = 0px; PADDING-TOP: 0px } #nav LI A { BORDER-RIGHT: #999 1px solid; PADDING-RIGHT: 6px; BORDER-TOP: #999 1px = solid; PADDING-LEFT: 5px; FONT-WEIGHT: bold; BACKGROUND: #002d56; FLOAT: = left; PADDING-BOTTOM: 0px; MARGIN: -1px 0px; BORDER-LEFT: #999 0px = solid; COLOR: #fff; PADDING-TOP: 6px; BORDER-BOTTOM: #999 1px solid; = HEIGHT: 19px; TEXT-DECORATION: none } #nav LI A:hover { BACKGROUND: #679ac9; COLOR: #002d56 } #nav LI.verticals { FLOAT: right } #nav LI.verticals A { BORDER-RIGHT: #999 0px solid; BORDER-TOP: #999 1px solid; BORDER-LEFT: = #999 1px solid; BORDER-BOTTOM: #999 1px solid } #subnavbar { CLEAR: both; BORDER-RIGHT: #676767 1px solid; PADDING-RIGHT: 0px; = PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: = #676767 1px solid; PADDING-TOP: 0px; BORDER-BOTTOM: #676767 1px solid; = HEIGHT: 18px; BACKGROUND-COLOR: #a8c2e6 } #subnavbar UL { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; = BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; = MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; TEXT-ALIGN: = center; BORDER-RIGHT-WIDTH: 0px } #subnavbar UL LI { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FLOAT: left; = PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; TEXT-ALIGN: center } #subnavbar UL LI A { PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; FONT-WEIGHT: = bold; FONT-SIZE: 11px; PADDING-BOTTOM: 2px; MARGIN: 0px; COLOR: #3d3d3d; = PADDING-TOP: 2px; FONT-FAMILY: arial,geneva; TEXT-ALIGN: center; = TEXT-DECORATION: none } #subnavbar UL LI A:hover { COLOR: #ffffff } #subnavbar A:active { COLOR: #ffffff } #subnavbar LI#active A { COLOR: #ffffff } #footer_nav { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 7px; COLOR: = #9a9a9a; PADDING-TOP: 5px; TEXT-ALIGN: center } #footer_nav A { FONT-WEIGHT: bold; FONT-SIZE: 11px; MARGIN: 0px 9px; COLOR: #9a9a9a; = FONT-FAMILY: arial, helvetica, sans-serif } #footer A:hover { COLOR: #000; TEXT-DECORATION: underline } #footer { BORDER-RIGHT: #cdcdcd 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #cdcdcd 1px solid; PADDING-LEFT: 5px; BACKGROUND: #f9f9f9; = PADDING-BOTTOM: 5px; MARGIN: 0px auto; BORDER-LEFT: #cdcdcd 1px solid; = WIDTH: 940px; PADDING-TOP: 5px; BORDER-BOTTOM: #cdcdcd 1px solid; = TEXT-ALIGN: center } #topnav A:link { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; COLOR: #ffffff } #topnav A:visited { COLOR: #ffffff } #topnav A:hover { COLOR: #ffffff } #topnav A:active { COLOR: #ffffff } A.lgheadline:link { FONT-WEIGHT: bolder; FONT-SIZE: 18px; COLOR: #003366; TEXT-DECORATION: = none } A.lgheadline:active { FONT-WEIGHT: bolder; FONT-SIZE: 18px; COLOR: #666666; TEXT-DECORATION: = none } A.lgheadline:hover { FONT-WEIGHT: bolder; FONT-SIZE: 18px; COLOR: #666666; TEXT-DECORATION: = none } A.lgheadline:focus { FONT-WEIGHT: bolder; FONT-SIZE: 18px; COLOR: #666666; TEXT-DECORATION: = none } A.lgheadline:visited { FONT-WEIGHT: bolder; FONT-SIZE: 18px; COLOR: #666666; TEXT-DECORATION: = none } A.medheadline:link { FONT-WEIGHT: bolder; FONT-SIZE: 14px; COLOR: #003366; TEXT-DECORATION: = none } A.medheadline:active { FONT-WEIGHT: bolder; FONT-SIZE: 14px; COLOR: #666666; TEXT-DECORATION: = none } A.medheadline:hover { FONT-WEIGHT: bolder; FONT-SIZE: 14px; COLOR: #666666; TEXT-DECORATION: = none } A.medheadline:focus { FONT-WEIGHT: bolder; FONT-SIZE: 14px; COLOR: #666666; TEXT-DECORATION: = none } A.medheadline:visited { FONT-WEIGHT: bolder; FONT-SIZE: 14px; COLOR: #666666; TEXT-DECORATION: = none } A.headline:link { FONT-SIZE: 12px; TEXT-DECORATION: none } .ap A.headline:link { FONT-WEIGHT: bold } A.headline:active { FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #7e7e7e; TEXT-DECORATION: = none } A.headline:hover { FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #7e7e7e; TEXT-DECORATION: = none } A.headline:focus { FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #7e7e7e; TEXT-DECORATION: = none } A.headline:visited { FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #7e7e7e; TEXT-DECORATION: = none } A.boldbluelinks:link { FONT-WEIGHT: bold } A.boldbluelinks:active { FONT-WEIGHT: bold } A.boldbluelinks:hover { FONT-WEIGHT: bold } A.boldbluelinks:focus { FONT-WEIGHT: bold } A.boldbluelinks:visited { FONT-WEIGHT: bold } A.smallboldbluelinks:link { FONT-WEIGHT: bold; FONT-SIZE: 10px } A.smallboldbluelinks:active { FONT-WEIGHT: bold; FONT-SIZE: 10px } A.smallboldbluelinks:hover { FONT-WEIGHT: bold; FONT-SIZE: 10px } A.smallboldbluelinks:focus { FONT-WEIGHT: bold; FONT-SIZE: 10px } A.smallboldbluelinks:visited { FONT-WEIGHT: bold; FONT-SIZE: 10px } A.smallbluelinks:link { FONT-SIZE: 11px } A.smallbluelinks:active { FONT-SIZE: 11px } A.smallbluelinks:hover { FONT-SIZE: 11px } A.smallbluelinks:focus { FONT-SIZE: 11px } A.smallbluelinks:visited { FONT-SIZE: 11px } A.smallwhlinks:link { FONT-SIZE: 11px } A.smallwhlinks:active { FONT-SIZE: 11px } A.smallwhlinks:hover { FONT-SIZE: 11px } A.smallwhlinks:focus { FONT-SIZE: 11px } A.smallwhlinks:visited { FONT-SIZE: 11px } A.smallboldblklinks:link { FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #000000 } A.smallboldblklinks:active { FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #999999 } A.smallboldblklinks:hover { FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #999999 } A.smallboldblklinks:focus { FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #999999 } A.smallboldblklinks:visited { FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #999999 } .smalltext { FONT-SIZE: 10px } .medtext { FONT-SIZE: 12px } .smallwhtext { FONT-SIZE: 10px; COLOR: #ffffff } .smallboldblktext { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #000000 } .medboldblktext { FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000000 } .largeboldblktext { FONT-WEIGHT: bold; FONT-SIZE: 18px; COLOR: #000000 } .smallboldwhtext { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #ffffff } .medboldwhtext { FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #ffffff } .largeboldwhtext { FONT-WEIGHT: bold; FONT-SIZE: 18px; COLOR: #ffffff } .smallboldbluetext { FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #036 } .medboldbluetext { FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #036 } .largeboldbluetext { FONT-WEIGHT: bold; FONT-SIZE: 18px; COLOR: #036 } .topnavtext { FONT-SIZE: 10px; COLOR: #ffffff; FONT-FAMILY: Arial, Helvetica, = sans-serif } .storylist { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 2px; PADDING-TOP: 0px; TEXT-ALIGN: left } .caption { FONT-SIZE: 85%; COLOR: #002d56; TEXT-ALIGN: right } .byline { FONT-SIZE: 90% } .more { FONT-WEIGHT: bold; FONT-SIZE: 90% } #columns UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: = 0px; MARGIN: 0px; WIDTH: 296px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } #columns LI { PADDING-RIGHT: 0px; BACKGROUND-POSITION: 0px 3px; PADDING-LEFT: 13px; = FLOAT: left; BACKGROUND-IMAGE: url(/graphics/grey_arrow.gif); = PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 125px; PADDING-TOP: 0px; = BACKGROUND-REPEAT: no-repeat } .tanbar_title { CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; = BACKGROUND: url(/graphics/tanbar_bg.gif) #cbc6ae; PADDING-BOTTOM: 0px; = COLOR: #036; PADDING-TOP: 3px; HEIGHT: 20px; TEXT-DECORATION: none } .tanbar_title A { COLOR: #036; TEXT-DECORATION: none } .tanbar_title A:hover { COLOR: #036; TEXT-DECORATION: none } H1.sitehelp { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 180%; PADDING-BOTTOM: = 0px; MARGIN: 0px 20px; COLOR: #69c; PADDING-TOP: 0px } P.sitehelp { MARGIN: 0px 20px } DIV.sitehelp { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 10px; BACKGROUND: #eee; PADDING-BOTTOM: 10px; = MARGIN: 10px 20px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 10px; = BORDER-BOTTOM: #ccc 1px solid } DIV.sitehelp H2 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 140%; PADDING-BOTTOM: = 0px; MARGIN: 0px; COLOR: #666; PADDING-TOP: 0px } DIV.sitehelp H3 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 120%; PADDING-BOTTOM: = 0px; MARGIN: 0px; COLOR: #000; PADDING-TOP: 0px } DIV.sitehelp UL { PADDING-LEFT: 15px; MARGIN: 0px; LIST-STYLE-TYPE: none } DIV.sitehelp UL UL { FLOAT: none; LIST-STYLE-TYPE: disc } DIV.sitehelp LI { PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FLOAT: left; PADDING-BOTTOM: = 3px; WIDTH: 180px; PADDING-TOP: 3px } DIV.sitehelp LI LI { FLOAT: none; WIDTH: auto } DIV.sitehelp .alignright { CLEAR: both; TEXT-ALIGN: right } .clear { CLEAR: both } #container TABLE { CLEAR: both } .articles { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; MARGIN-BOTTOM: = 15px; PADDING-BOTTOM: 0px; WIDTH: 100%; PADDING-TOP: 0px } .articles H3 { BORDER-RIGHT: #666 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: #666 1px = solid; PADDING-LEFT: 5px; BACKGROUND: #679ac9; PADDING-BOTTOM: 7px; = MARGIN: 0px; BORDER-LEFT: #666 1px solid; COLOR: #fff; PADDING-TOP: 3px; = BORDER-BOTTOM: #666 1px solid } .articles H3 A:link { COLOR: #fff } .articles H3 A:visited { COLOR: #fff } .articles H3 A:hover { COLOR: #fff; TEXT-DECORATION: none } .articles UL { PADDING-RIGHT: 0px; PADDING-LEFT: 7px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 5px; LIST-STYLE-TYPE: none } .articles UL LI { CLEAR: left; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; = PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 95%; PADDING-TOP: 3px } .articles UL LI A { PADDING-LEFT: 7px; BACKGROUND: url(/graphics/bullet.gif) no-repeat 0px = 5px; FLOAT: left } .articles UL LI A:hover { BACKGROUND: url(/graphics/bullet.gif) no-repeat 0px -45px } .articles OL { PADDING-RIGHT: 0px; PADDING-LEFT: 20px; PADDING-BOTTOM: 0px; MARGIN: = 0px; COLOR: #fff; PADDING-TOP: 5px } .articles OL LI { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 7px } .magazines { PADDING-RIGHT: 0px; MARGIN-TOP: 15px; PADDING-LEFT: 0px; FLOAT: left; = PADDING-BOTTOM: 0px; WIDTH: 270px; PADDING-TOP: 0px; FONT-FAMILY: arial, = helvetica, sans-serif } .magazines UL { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; MARGIN: = 0px; PADDING-TOP: 10px; LIST-STYLE-TYPE: none } .magazines UL LI { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: = 0px; MARGIN: 0px; WIDTH: 125px; PADDING-TOP: 0px; TEXT-ALIGN: center } .magazines UL LI A:hover { TEXT-DECORATION: none } .ad_marquee { BORDER-RIGHT: #000 1px solid; BORDER-TOP: #000 1px solid; BACKGROUND: = #eee; OVERFLOW: hidden; BORDER-LEFT: #000 1px solid; WIDTH: 240px; = BORDER-BOTTOM: #000 1px solid; HEIGHT: 120px; TEXT-ALIGN: center } .ad_large { MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px; OVERFLOW: hidden; WIDTH: 336px; = HEIGHT: 280px; TEXT-ALIGN: center } #right_rail .ad_large { MARGIN-TOP: 15px } .ad_beltway IMG { BORDER-RIGHT: #000 1px solid; BORDER-TOP: #000 1px solid; BORDER-LEFT: = #000 1px solid; BORDER-BOTTOM: #000 1px solid } #main .ad_beltway { =09 } #main_default .ad_beltway { FLOAT: left; MARGIN: 15px 5px 0px } .ad_leaderboard { MARGIN: 15px auto; OVERFLOW: hidden; WIDTH: 728px; HEIGHT: 90px; = TEXT-ALIGN: center } .ad_botleaderboard { MARGIN: 15px auto; OVERFLOW: hidden; WIDTH: 728px; HEIGHT: 90px; = TEXT-ALIGN: center } DL.gallery { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FLOAT: left; PADDING-BOTTOM: = 5px; WIDTH: 105px; MARGIN-RIGHT: 1em; PADDING-TOP: 5px; TEXT-ALIGN: = center } .gallery DT { FONT-WEIGHT: bold; FONT-SIZE: 0.9em } #stock_ticker { =09 } #stock_ticker TABLE { MARGIN: 0px auto } .clear { CLEAR: both } .content { PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } .hidden { DISPLAY: none } .visible { DISPLAY: block } .padding { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; = PADDING-TOP: 5px } H1 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 160%; PADDING-BOTTOM: = 0px; MARGIN: 5px 0px; PADDING-TOP: 0px } H2 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: = 140%; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 1.5em; TEXT-TRANSFORM: = uppercase; COLOR: #369; PADDING-TOP: 0px; FONT-FAMILY: Arial, Helvetica, = sans-serif; POSITION: relative; HEIGHT: 0.9em } H3 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 100%; PADDING-BOTTOM: = 3px; MARGIN: 0px 0px 0.1em; COLOR: #002d56; PADDING-TOP: 0px; = FONT-FAMILY: Arial, Helvetica, sans-serif; POSITION: relative; HEIGHT: = 0.9em } H4 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: = 110%; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px } A { COLOR: #036; TEXT-DECORATION: none } A:hover { COLOR: #369; TEXT-DECORATION: underline } HR { BORDER-TOP-WIDTH: 0px; CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: = 0px; BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 1px; PADDING-BOTTOM: 0px; = MARGIN: 0px; COLOR: #fff; PADDING-TOP: 0px; BORDER-BOTTOM: #ccc 1px = solid; HEIGHT: 15px; BORDER-RIGHT-WIDTH: 0px } HR.clear { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; = BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; = MARGIN: 0px; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0px } .rss_box { BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; MARGIN: = 1em; BORDER-LEFT: silver 1px solid; WIDTH: 98%; BORDER-BOTTOM: silver = 1px solid; BACKGROUND-COLOR: #ffffff } .rss_items { PADDING-RIGHT: 0.5em; MARGIN-TOP: 0px; PADDING-LEFT: 0.5em; = PADDING-BOTTOM: 0.5em; MARGIN-LEFT: 0px; COLOR: #000000; PADDING-TOP: = 0.5em } P.rss_title { PADDING-RIGHT: 0.5em; PADDING-LEFT: 0.5em; PADDING-BOTTOM: 0.5em; = PADDING-TOP: 0.5em } .rss_title { FONT-WEIGHT: bold; FONT-SIZE: 8pt; COLOR: #ffffff; BACKGROUND-COLOR: = #002d56; TEXT-ALIGN: left } .rss_title A:visited { COLOR: #ffffff } .rss_item { FONT-SIZE: 7pt; PADDING-BOTTOM: 1em; LIST-STYLE-TYPE: none } .rss_item A { FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #002d56 } .rss_item A:visited { COLOR: black } .rss_date { FONT-SIZE: 7pt; COLOR: red } .search_termsarea { TEXT-TRANSFORM: uppercase; COLOR: #999999 } .search_term { FONT-WEIGHT: bolder; FONT-SIZE: 1.4em; COLOR: #000 } .search_box { PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 1em; MARGIN: = 0em; PADDING-TOP: 1em; BACKGROUND-COLOR: #f0f0f0 } #search_col_spotlight { BORDER-RIGHT: #ffcc00 1px solid; PADDING-RIGHT: 0.5em; BORDER-TOP: = #ffcc00 1px solid; PADDING-LEFT: 0.5em; PADDING-BOTTOM: 0.5em; = BORDER-LEFT: #ffcc00 1px solid; WIDTH: 12.5em; PADDING-TOP: 0.5em; = BORDER-BOTTOM: #ffcc00 1px solid; BACKGROUND-COLOR: #fffdde } #search_headerbox { FONT-WEIGHT: bold; MARGIN-BOTTOM: 0.5em; TEXT-TRANSFORM: uppercase; = COLOR: #999999 } #search_col_results { PADDING-LEFT: 1em } #search_description { CLEAR: all; PADDING-BOTTOM: 0.5em } .search_results { CLEAR: all; PADDING-BOTTOM: 0.5em } .sitehost { COLOR: #999999 } .search_navigation { MARGIN-BOTTOM: 1em } .search_item { MARGIN: 1em 0px 2em; OVERFLOW: hidden; WIDTH: 45em } .search_itemsummary { =09 } #search_col_businesses { =09 } #search_headerbox { =09 } #search_featureditems { CLEAR: all; BORDER-RIGHT: #cc0000 1px solid; BORDER-TOP: #cc0000 1px = solid; DISPLAY: block; MARGIN-BOTTOM: 1em; BORDER-LEFT: #cc0000 1px = solid; BORDER-BOTTOM: #cc0000 1px solid; HEIGHT: auto } #search_featureditem_container { DISPLAY: block; MARGIN: 5px 10px 5px 5px; BORDER-BOTTOM: #efefef 1px = solid } #search_featureditem_container .iteminfo { FONT-SIZE: 11px; FLOAT: left; MARGIN: 0.5em; WIDTH: 200px; LINE-HEIGHT: = 14px } #search_featureditem_container .itemimg IMG { FLOAT: left; MARGIN: 1em 0px 0px; WIDTH: 100px; TEXT-ALIGN: center } .search_top { =09 } #search_sourcenavigation { PADDING-RIGHT: 0.5em; PADDING-LEFT: 0.5em; MARGIN-BOTTOM: 1em; = PADDING-BOTTOM: 0.5em; PADDING-TOP: 0.5em; BACKGROUND-COLOR: #f0f0f0; = TEXT-ALIGN: center } .BusinessDetailsTitleHolder { =09 } .BusinessDetailsBox { FLOAT: left; MARGIN: 0px; WIDTH: 30em } .BusinessDetailsBoxContents { =09 } .BusinessDetailsHeaderItem { MARGIN-TOP: 1em; FONT-WEIGHT: bold; FONT-SIZE: 1.3em } .BusinessDetails_Phone { MARGIN: 0.5em 0px } .BusinessDetailsTitle { =09 } .BusinessDetailsInfoHolder { MARGIN: 1em 0px } .BusinessDetailsAddress { =09 } .BusinessDetailsName { FONT-WEIGHT: bold; FONT-SIZE: 1.8em; MARGIN-BOTTOM: 0.5em } .BusinessDetailsImageHolder { FLOAT: right; WIDTH: 30em } .BusinessDetailsInfo { FLOAT: left; WIDTH: 58em } ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.blueridgenow.com/includes/css/nytrng_style.css .nyTableBorder { BORDER-RIGHT: #999999 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #999999 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: = #999999 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #999999 1px solid; = BACKGROUND-COLOR: #ffffff } .nyTableBorderB { BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #000 1px = solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: #000 1px = solid; PADDING-TOP: 5px; BORDER-BOTTOM: #000 1px solid; sborder-right: = 2px solid #000000 } .nyTableBorderC { BORDER-RIGHT: #ddd 1px solid; BORDER-TOP: #ddd 1px solid; BORDER-LEFT: = #ddd 1px solid; BORDER-BOTTOM: #ddd 1px solid; BACKGROUND-COLOR: #fff } .nyTableHeaderA { PADDING-RIGHT: 6px; PADDING-LEFT: 6px; FONT-WEIGHT: bold; FONT-SIZE: = 12px; MARGIN-BOTTOM: 5px; PADDING-BOTTOM: 6px; COLOR: #fff; PADDING-TOP: = 6px; FONT-FAMILY: Arial, Helvetica, sans-serif; BACKGROUND-COLOR: = #679ac9; TEXT-ALIGN: left } .nyTableHeaderB { PADDING-RIGHT: 6px; PADDING-LEFT: 6px; FONT-SIZE: 11px; PADDING-BOTTOM: = 6px; COLOR: #000; PADDING-TOP: 6px; BACKGROUND-COLOR: #eee; TEXT-ALIGN: = center } .nyTableRowA { PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-WEIGHT: bold; FONT-SIZE: = 12px; PADDING-BOTTOM: 4px; COLOR: #000000; PADDING-TOP: 4px; = FONT-FAMILY: Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #eee } .nyTableRowB { PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; = PADDING-TOP: 4px; BACKGROUND-COLOR: #679ac9 } .nyTableRowC { BORDER-RIGHT: #ffffff 2px solid; PADDING-RIGHT: 4px; BORDER-TOP: = #ffffff 2px solid; PADDING-LEFT: 4px; FONT-WEIGHT: bold; FONT-SIZE: = 14px; PADDING-BOTTOM: 4px; BORDER-LEFT: #ffffff 2px solid; PADDING-TOP: = 4px; BORDER-BOTTOM: #ffffff 2px solid; FONT-FAMILY: Arial, Helvetica, = sans-serif; BACKGROUND-COLOR: #eee } .nyTableRowD { PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-SIZE: 11px; PADDING-BOTTOM: = 4px; PADDING-TOP: 4px; BACKGROUND-COLOR: #fff } .nyTableRowE { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: bold; FONT-SIZE: = 10px; PADDING-BOTTOM: 2px; COLOR: #002d56; PADDING-TOP: 2px; = BORDER-BOTTOM: #679ac9 1px solid } .nyTextSmall { FONT-SIZE: 10px } .nyTextMedium { FONT-SIZE: 12px } .nyTextMediumBold { FONT-WEIGHT: bold; FONT-SIZE: 12px } S .nyTextLarger { FONT-SIZE: 15px } .nyTextLarge { PADDING-LEFT: 5px; FONT-SIZE: 18px } .nyTextXLarge { FONT-SIZE: 24px } .nyTextXXLarge { FONT-SIZE: 38px; COLOR: #3b658f } .nyTitleBar { FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #3b658f; FONT-FAMILY: Arial, = Sans Serif } .nySubTitleBar { FONT-WEIGHT: normal; FONT-SIZE: 12px; COLOR: #3b658f; FONT-FAMILY: = Arial, Sans Serif } A.nySmallLink { FONT-SIZE: 10px; COLOR: #3b658f; TEXT-DECORATION: none } A.nySmallLink:hover { FONT-SIZE: 10px; COLOR: #3b658f; TEXT-DECORATION: underline } A.nyMediumLink { FONT-SIZE: 12px; COLOR: #036; TEXT-DECORATION: none } A.nyMediumLink:hover { FONT-SIZE: 12px; COLOR: #369; TEXT-DECORATION: underline } A.nyMediumBoldLink { FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #3b658f; TEXT-DECORATION: = none } A.nyMediumBoldLink:hover { FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #002d56; TEXT-DECORATION: = underline } A.nyMediumBoldLink2 { FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000000; TEXT-DECORATION: = none } A.nyMediumBoldLink2:hover { FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000000; TEXT-DECORATION: = underline } DIV.nyBox { BORDER-RIGHT: #002d56 3px double; PADDING-RIGHT: 5px; BORDER-TOP: = #002d56 3px double; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: = #002d56 3px double; WIDTH: 300px; COLOR: #000000; PADDING-TOP: 5px; = BORDER-BOTTOM: #002d56 3px double; FONT-FAMILY: Arial, Helvetica, = sans-serif; BACKGROUND-COLOR: #d0c998 } DIV.nyBox2 { BORDER-RIGHT: #999999 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #999999 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN-LEFT: = 10px; BORDER-LEFT: #999999 1px solid; WIDTH: 90%; PADDING-TOP: 5px; = BORDER-BOTTOM: #999999 1px solid; BACKGROUND-COLOR: #fff } .nyButton { BORDER-RIGHT: #9bb8e4 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: = #9bb8e4 1px solid; PADDING-LEFT: 3px; FONT-WEIGHT: bold; FONT-SIZE: = 13px; PADDING-BOTTOM: 3px; BORDER-LEFT: #9bb8e4 1px solid; COLOR: = #000000; PADDING-TOP: 3px; BORDER-BOTTOM: #9bb8e4 1px solid; = FONT-FAMILY: Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #d9e3f1 } .nypadding { PADDING-LEFT: 5px; PADDING-TOP: 5px } .nyalerttxt { FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #990000; FONT-FAMILY: Arial, = Helvetica, sans-serif } .nytabon { BORDER-RIGHT: #ffffff 2px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #ffffff 2px solid; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: = 12px; PADDING-BOTTOM: 5px; BORDER-LEFT: #ffffff 2px solid; COLOR: = #ffffff; PADDING-TOP: 5px; FONT-FAMILY: Arial, Helvetica, sans-serif; = BACKGROUND-COLOR: #002d56; TEXT-ALIGN: center } .nytaboff { BORDER-RIGHT: #ffffff 2px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #ffffff 2px solid; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: = 12px; PADDING-BOTTOM: 5px; BORDER-LEFT: #ffffff 2px solid; COLOR: = #000000; PADDING-TOP: 5px; BORDER-BOTTOM: #ffffff 2px solid; = FONT-FAMILY: Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #d0c998; = TEXT-ALIGN: center } .shoppinglogo { PADDING-RIGHT: 5px; BORDER-TOP: #ffffff 2px solid; PADDING-LEFT: 5px; = FONT-WEIGHT: bold; FONT-SIZE: 28px; PADDING-BOTTOM: 5px; COLOR: #ffffff; = PADDING-TOP: 5px; FONT-STYLE: italic; FONT-FAMILY: Arial, Helvetica, = sans-serif; BACKGROUND-COLOR: #336699 } .shoppingheaders { FONT-WEIGHT: bold; FONT-SIZE: 14px; PADDING-BOTTOM: 5px; = TEXT-TRANSFORM: uppercase; COLOR: #3b658f; FONT-FAMILY: Arial, = Helvetica, sans-serif } .shoppingsubheads { BORDER-RIGHT: #666 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: #666 1px = solid; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: 12px; = BACKGROUND: #679ac9; PADDING-BOTTOM: 7px; MARGIN: 0px; TEXT-TRANSFORM: = uppercase; BORDER-LEFT: #666 1px solid; COLOR: #fff; PADDING-TOP: 3px; = BORDER-BOTTOM: #666 1px solid; FONT-FAMILY: Arial, Helvetica, sans-serif } .borderrt { BORDER-RIGHT: #cccccc 2px solid; MARGIN-LEFT: 5px; MARGIN-RIGHT: 5px } .borderbottomtop { BORDER-TOP: #cccccc 2px solid; MARGIN-TOP: 10px; MARGIN-BOTTOM: 10px; = BORDER-BOTTOM: #cccccc 2px solid } .verticaltext { FONT-WEIGHT: bold; FONT-SIZE: 15px; TEXT-TRANSFORM: uppercase; COLOR: = #226644; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: = none } .article_tools { PADDING-RIGHT: 0.4em; BORDER-TOP: #ddd 1px solid; PADDING-LEFT: 0.4em; = FONT-SIZE: 100%; PADDING-BOTTOM: 0.4em; MARGIN: 1em 0px; LINE-HEIGHT: = 140%; PADDING-TOP: 0.4em; BORDER-BOTTOM: #ddd 1px solid; TEXT-ALIGN: = left } .article_tools UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; HEIGHT: 1.2em } .article_tools UL LI { PADDING-RIGHT: 1em; PADDING-LEFT: 1em; Z-INDEX: 1; FLOAT: left; = PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; POSITION: relative } .article_tools UL LI A { COLOR: #000; TEXT-DECORATION: none } .article_tools UL LI A:visited { COLOR: #000; TEXT-DECORATION: none } .article_tools UL LI A:hover { COLOR: #7d7d7d } .article_tools UL LI A IMG { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0.2em; BORDER-LEFT-WIDTH: 0px; = FLOAT: left; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px } .article_tools UL LI UL { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 0px; Z-INDEX: 999; BACKGROUND: #eee; LEFT: 1.5em; = PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: #ccc 1px solid; WIDTH: = 140px; PADDING-TOP: 0px; BORDER-BOTTOM: #ccc 1px solid; POSITION: = absolute; TOP: 1.5em; HEIGHT: auto } .article_tools UL LI UL LI { CLEAR: both; PADDING-RIGHT: 0.3em; PADDING-LEFT: 0.3em; FLOAT: left; = PADDING-BOTTOM: 0.3em; WIDTH: 130px; PADDING-TOP: 0.3em } .article_tools UL LI UL LI INPUT.textbox { WIDTH: 125px } .article_tools #email_article_form { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } .article_tools #email_warning { DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 80%; BACKGROUND: #fcc; = FLOAT: none; WIDTH: auto; COLOR: #900; TEXT-ALIGN: center } #print { FONT-SIZE: 0.9em; LINE-HEIGHT: 140%; FONT-FAMILY: times, serif } #print .photo { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 1em; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 1em; FLOAT: right; PADDING-BOTTOM: 1em; MARGIN: 0px = 1em 1em; BORDER-LEFT: #ccc 1px solid; WIDTH: 300px; PADDING-TOP: 1em; = BORDER-BOTTOM: #ccc 1px solid } #print .credit { FONT-SIZE: 80%; TEXT-ALIGN: right } #print .caption { FONT-SIZE: 80%; LINE-HEIGHT: 120% } ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.blueridgenow.com/includes/js/functions.js // function: rotate() // Used to give one element a class and give all others within the same = container a different class. Commonly used on rotator spots on = frontpages. // @thisId : string : id of element to be displayed // @containerId : string : id of the container of elements to be hidden // @thisClass(optional) : string : class to be given to the element. If = not set, 'visible' will be used // @containerId(optional) : string : class to be given to all other = elements within container. If not set, 'hidden' will be used function rotate( thisId, containerId, thisClass, otherClass ){ =09 // set default values for thisClass and otherClass var thisClass =3D (thisClass =3D=3D null) ? "visible" : thisClass; var otherClass =3D (otherClass =3D=3D null) ? "hidden" : otherClass; =09 // grab all elements within container var elements =3D document.getElementById(containerId).childNodes; =09 // loop through elements for(var i =3D 0; i < elements.length; i++){ =09 // if this is the element, give it thisClass if( elements[i].id =3D=3D thisId ){ elements[i].className =3D elements[i].className.replace(thisClass, = ''); elements[i].className =3D elements[i].className.replace(otherClass, = ''); elements[i].className =3D elements[i].className + ' ' + thisClass; =09 // if this isn't the element and the element can have a class, give it = otherClass }else if(elements[i].className !=3D undefined){ elements[i].className =3D elements[i].className.replace(thisClass, = ''); elements[i].className =3D elements[i].className.replace(otherClass, = ''); elements[i].className =3D elements[i].className + ' ' + otherClass; } } =09 // return id of current element return thisId; } // function: loadURL() // Loads the URL passed to it. This gets used for loading a page from a = select box // @url : string : the URL to be opened function loadURL( url ){ if( url !=3D undefined && url !=3D '' ){ window.location =3D url; } } // function: CheckInputData() // description stub // @information : stub function CheckInputData(information){ var sendform =3D true; var regproblem =3D ''; var problems =3D 'Your registration cannot be submitted until = the\nfollowing is corrected:\n\n'; var Form =3D information;=09 checkEmail =3D Form.email.value if ((checkEmail.indexOf('@') < 0) || = ((checkEmail.charAt(checkEmail.length-4) !=3D '.') && = (checkEmail.charAt(checkEmail.length-3) !=3D '.'))){=20 problems +=3D '-You have entered an invalid email address. Please try = again.\n' sendform =3D false; regproblem =3D true; } =20 if (information.pwd.value =3D=3D"") { problems +=3D '-Password is required.\n' sendform =3D false; regproblem =3D true; } if (information.pwdr.value =3D=3D"") { problems +=3D '-Please confirm password.\n' sendform =3D false; regproblem =3D true; } if (information.pwd.value !=3D information.pwdr.value) { problems +=3D '-The passwords supplied do not match.\n' sendform =3D false; regproblem =3D true; } if (information.gender.value =3D=3D"") { problems +=3D '-Please select gender.\n' sendform =3D false; regproblem =3D true; } if (information.extra_birthyear.value =3D=3D"") { problems +=3D '-Year of birth is required.\n' sendform =3D false; regproblem =3D true; } if (information.extra_zipcode.value =3D=3D"00000" || = information.extra_zipcode.value =3D=3D '') { problems +=3D '-Zip code is required.\n' sendform =3D false; regproblem =3D true; } =09 if (information.extra_countryCode.value =3D=3D"") { problems +=3D '-Country is required.\n' sendform =3D false; regproblem =3D true; } =09 if (information.extra_incomeID.value =3D=3D"" || = information.extra_incomeID.value =3D=3D "0") { problems +=3D '-Income is required.\n' sendform =3D false; regproblem =3D true; } =09 if (information.extra_industryId.value =3D=3D"") { problems +=3D '-Industry is required.\n' sendform =3D false; regproblem =3D true; } =20 if (information.extra_jobTitleId.value =3D=3D"0") { problems +=3D '-Job Title is required.\n' sendform =3D false; regproblem =3D true; } if (information.extra_newspaper.selectedIndex < 1) { problems +=3D '-Please select usage.\n' sendform =3D false; regproblem =3D true; } =09 if (information.agreement.checked =3D=3D false ) { problems +=3D '-Please agree to the subscriber agreement.\n' sendform =3D false; regproblem =3D true; } if (regproblem !=3D true) { sendform =3D true; } =09 // send form if (sendform =3D=3D true) { //return false // change to true return true; pbsSetCookie(information); } else { alert(problems); return false; } } // function: NewWindow() // Opens a popup window // @width : int : width of new window // @height : int : height of new window in pixels // @url : string : url of new window function NewWindow(width,height,url) { = window.open(url,"PopUp","menubars=3D0,scrollbars=3D1,resizable=3D1,height= =3D"+height+",width=3D"+width); } // function: openWin() // description stub // @windowURL : stub // @windowName : stub // @windowFeatures : stub function openWin( windowURL, windowName, windowFeatures ){ return window.open( windowURL, windowName, windowFeatures ); } // function: popup() // description stub // @url : stub // @name : stub // @height : stub // @width : stub // @scrollbars : stub function popup(url, name, height, width, scrollbars) { var popwin; var opts =3D = "toolbar=3Dno,status=3Dno,location=3Dno,menubar=3Dno,resizable=3Dno"; opts +=3D ",height=3D" + height + ",width=3D" + width + = ",scrollbars=3D" + scrollbars; popwin =3D window.open("", name, opts); popwin.focus(); popwin.location =3D url; } // function: EatCookie() // description stub function EatCookie() { document.cookie=3D"usernamepassword=3D;Path=3D/" document.cookie=3D"UserRegID=3D;Path=3D/" document.location=3D"/apps/pbcs.dll/frontpage?RegLogout=3D1" } // function: ChangeClassName() // description stub // @id : stub // @newClassName : stub function ChangeClassName(id, newClassName) { document.getElementById(id).className =3D newClassName; } // function: ajaxRequest() // description stub // @url : stub // @pars : string : vars to be passed to the given url in the format of = 'var1=3Dvalue1&var2=3Dvalue2' // @viewFunction : string : name of function to parse the returned = output function ajaxRequest( url, pars, viewFunction ){ var myAjax =3D new Ajax.Request( url,=20 { method: 'post', parameters: pars, onComplete: eval(viewFunction) }); } // function: displayPoll() // this function should not be called directly. It parses an ajax = request for submitting the poll // @originalRequest : object : the response received from the ajax = request function displayPoll(originalRequest){ $('poll').style.display =3D 'none'; var regex =3D /[\s\S]*([\s\S]*)<\/BODY>[\s\S]*/gm; $('poll').innerHTML =3D = originalRequest.responseText.replace(regex,"$1"); try{ $('poll_submit').onclick =3D function(e){ ajaxRequest( $('poll_submit').parentNode.action, = $('poll_submit').parentNode.serialize(), 'displayPoll'); $('poll').innerHTML =3D '3D"" Submitting vote...'; return false; } }catch(e){} new Effect.BlindDown('poll', {duration: .5}); } ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.blueridgenow.com/includes/js/prototype.js /* Prototype JavaScript framework, version 1.5.0=0A= * (c) 2005-2007 Sam Stephenson=0A= *=0A= * Prototype is freely distributable under the terms of an MIT-style = license.=0A= * For details, see the Prototype web site: http://prototype.conio.net/=0A= *=0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= var Prototype =3D {=0A= Version: '1.5.0',=0A= BrowserFeatures: {=0A= XPath: !!document.evaluate=0A= },=0A= =0A= ScriptFragment: '(?:)((\n|\r|.)*?)(?:<\/script>)',=0A= emptyFunction: function() {},=0A= K: function(x) { return x }=0A= }=0A= =0A= var Class =3D {=0A= create: function() {=0A= return function() {=0A= this.initialize.apply(this, arguments);=0A= }=0A= }=0A= }=0A= =0A= var Abstract =3D new Object();=0A= =0A= Object.extend =3D function(destination, source) {=0A= for (var property in source) {=0A= destination[property] =3D source[property];=0A= }=0A= return destination;=0A= }=0A= =0A= Object.extend(Object, {=0A= inspect: function(object) {=0A= try {=0A= if (object =3D=3D=3D undefined) return 'undefined';=0A= if (object =3D=3D=3D null) return 'null';=0A= return object.inspect ? object.inspect() : object.toString();=0A= } catch (e) {=0A= if (e instanceof RangeError) return '...';=0A= throw e;=0A= }=0A= },=0A= =0A= keys: function(object) {=0A= var keys =3D [];=0A= for (var property in object)=0A= keys.push(property);=0A= return keys;=0A= },=0A= =0A= values: function(object) {=0A= var values =3D [];=0A= for (var property in object)=0A= values.push(object[property]);=0A= return values;=0A= },=0A= =0A= clone: function(object) {=0A= return Object.extend({}, object);=0A= }=0A= });=0A= =0A= Function.prototype.bind =3D function() {=0A= var __method =3D this, args =3D $A(arguments), object =3D args.shift();=0A= return function() {=0A= return __method.apply(object, args.concat($A(arguments)));=0A= }=0A= }=0A= =0A= Function.prototype.bindAsEventListener =3D function(object) {=0A= var __method =3D this, args =3D $A(arguments), object =3D args.shift();=0A= return function(event) {=0A= return __method.apply(object, [( event || = window.event)].concat(args).concat($A(arguments)));=0A= }=0A= }=0A= =0A= Object.extend(Number.prototype, {=0A= toColorPart: function() {=0A= var digits =3D this.toString(16);=0A= if (this < 16) return '0' + digits;=0A= return digits;=0A= },=0A= =0A= succ: function() {=0A= return this + 1;=0A= },=0A= =0A= times: function(iterator) {=0A= $R(0, this, true).each(iterator);=0A= return this;=0A= }=0A= });=0A= =0A= var Try =3D {=0A= these: function() {=0A= var returnValue;=0A= =0A= for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A= var lambda =3D arguments[i];=0A= try {=0A= returnValue =3D lambda();=0A= break;=0A= } catch (e) {}=0A= }=0A= =0A= return returnValue;=0A= }=0A= }=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= var PeriodicalExecuter =3D Class.create();=0A= PeriodicalExecuter.prototype =3D {=0A= initialize: function(callback, frequency) {=0A= this.callback =3D callback;=0A= this.frequency =3D frequency;=0A= this.currentlyExecuting =3D false;=0A= =0A= this.registerCallback();=0A= },=0A= =0A= registerCallback: function() {=0A= this.timer =3D setInterval(this.onTimerEvent.bind(this), = this.frequency * 1000);=0A= },=0A= =0A= stop: function() {=0A= if (!this.timer) return;=0A= clearInterval(this.timer);=0A= this.timer =3D null;=0A= },=0A= =0A= onTimerEvent: function() {=0A= if (!this.currentlyExecuting) {=0A= try {=0A= this.currentlyExecuting =3D true;=0A= this.callback(this);=0A= } finally {=0A= this.currentlyExecuting =3D false;=0A= }=0A= }=0A= }=0A= }=0A= String.interpret =3D function(value){=0A= return value =3D=3D null ? '' : String(value);=0A= }=0A= =0A= Object.extend(String.prototype, {=0A= gsub: function(pattern, replacement) {=0A= var result =3D '', source =3D this, match;=0A= replacement =3D arguments.callee.prepareReplacement(replacement);=0A= =0A= while (source.length > 0) {=0A= if (match =3D source.match(pattern)) {=0A= result +=3D source.slice(0, match.index);=0A= result +=3D String.interpret(replacement(match));=0A= source =3D source.slice(match.index + match[0].length);=0A= } else {=0A= result +=3D source, source =3D '';=0A= }=0A= }=0A= return result;=0A= },=0A= =0A= sub: function(pattern, replacement, count) {=0A= replacement =3D this.gsub.prepareReplacement(replacement);=0A= count =3D count =3D=3D=3D undefined ? 1 : count;=0A= =0A= return this.gsub(pattern, function(match) {=0A= if (--count < 0) return match[0];=0A= return replacement(match);=0A= });=0A= },=0A= =0A= scan: function(pattern, iterator) {=0A= this.gsub(pattern, iterator);=0A= return this;=0A= },=0A= =0A= truncate: function(length, truncation) {=0A= length =3D length || 30;=0A= truncation =3D truncation =3D=3D=3D undefined ? '...' : truncation;=0A= return this.length > length ?=0A= this.slice(0, length - truncation.length) + truncation : this;=0A= },=0A= =0A= strip: function() {=0A= return this.replace(/^\s+/, '').replace(/\s+$/, '');=0A= },=0A= =0A= stripTags: function() {=0A= return this.replace(/<\/?[^>]+>/gi, '');=0A= },=0A= =0A= stripScripts: function() {=0A= return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');=0A= },=0A= =0A= extractScripts: function() {=0A= var matchAll =3D new RegExp(Prototype.ScriptFragment, 'img');=0A= var matchOne =3D new RegExp(Prototype.ScriptFragment, 'im');=0A= return (this.match(matchAll) || []).map(function(scriptTag) {=0A= return (scriptTag.match(matchOne) || ['', ''])[1];=0A= });=0A= },=0A= =0A= evalScripts: function() {=0A= return this.extractScripts().map(function(script) { return = eval(script) });=0A= },=0A= =0A= escapeHTML: function() {=0A= var div =3D document.createElement('div');=0A= var text =3D document.createTextNode(this);=0A= div.appendChild(text);=0A= return div.innerHTML;=0A= },=0A= =0A= unescapeHTML: function() {=0A= var div =3D document.createElement('div');=0A= div.innerHTML =3D this.stripTags();=0A= return div.childNodes[0] ? (div.childNodes.length > 1 ?=0A= $A(div.childNodes).inject('',function(memo,node){ return = memo+node.nodeValue }) :=0A= div.childNodes[0].nodeValue) : '';=0A= },=0A= =0A= toQueryParams: function(separator) {=0A= var match =3D this.strip().match(/([^?#]*)(#.*)?$/);=0A= if (!match) return {};=0A= =0A= return match[1].split(separator || '&').inject({}, function(hash, = pair) {=0A= if ((pair =3D pair.split('=3D'))[0]) {=0A= var name =3D decodeURIComponent(pair[0]);=0A= var value =3D pair[1] ? decodeURIComponent(pair[1]) : undefined;=0A= =0A= if (hash[name] !=3D=3D undefined) {=0A= if (hash[name].constructor !=3D Array)=0A= hash[name] =3D [hash[name]];=0A= if (value) hash[name].push(value);=0A= }=0A= else hash[name] =3D value;=0A= }=0A= return hash;=0A= });=0A= },=0A= =0A= toArray: function() {=0A= return this.split('');=0A= },=0A= =0A= succ: function() {=0A= return this.slice(0, this.length - 1) +=0A= String.fromCharCode(this.charCodeAt(this.length - 1) + 1);=0A= },=0A= =0A= camelize: function() {=0A= var parts =3D this.split('-'), len =3D parts.length;=0A= if (len =3D=3D 1) return parts[0];=0A= =0A= var camelized =3D this.charAt(0) =3D=3D '-'=0A= ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)=0A= : parts[0];=0A= =0A= for (var i =3D 1; i < len; i++)=0A= camelized +=3D parts[i].charAt(0).toUpperCase() + = parts[i].substring(1);=0A= =0A= return camelized;=0A= },=0A= =0A= capitalize: function(){=0A= return this.charAt(0).toUpperCase() + = this.substring(1).toLowerCase();=0A= },=0A= =0A= underscore: function() {=0A= return this.gsub(/::/, = '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{= 1}_#{2}').gsub(/-/,'_').toLowerCase();=0A= },=0A= =0A= dasherize: function() {=0A= return this.gsub(/_/,'-');=0A= },=0A= =0A= inspect: function(useDoubleQuotes) {=0A= var escapedString =3D this.replace(/\\/g, '\\\\');=0A= if (useDoubleQuotes)=0A= return '"' + escapedString.replace(/"/g, '\\"') + '"';=0A= else=0A= return "'" + escapedString.replace(/'/g, '\\\'') + "'";=0A= }=0A= });=0A= =0A= String.prototype.gsub.prepareReplacement =3D function(replacement) {=0A= if (typeof replacement =3D=3D 'function') return replacement;=0A= var template =3D new Template(replacement);=0A= return function(match) { return template.evaluate(match) };=0A= }=0A= =0A= String.prototype.parseQuery =3D String.prototype.toQueryParams;=0A= =0A= var Template =3D Class.create();=0A= Template.Pattern =3D /(^|.|\r|\n)(#\{(.*?)\})/;=0A= Template.prototype =3D {=0A= initialize: function(template, pattern) {=0A= this.template =3D template.toString();=0A= this.pattern =3D pattern || Template.Pattern;=0A= },=0A= =0A= evaluate: function(object) {=0A= return this.template.gsub(this.pattern, function(match) {=0A= var before =3D match[1];=0A= if (before =3D=3D '\\') return match[2];=0A= return before + String.interpret(object[match[3]]);=0A= });=0A= }=0A= }=0A= =0A= var $break =3D new Object();=0A= var $continue =3D new Object();=0A= =0A= var Enumerable =3D {=0A= each: function(iterator) {=0A= var index =3D 0;=0A= try {=0A= this._each(function(value) {=0A= try {=0A= iterator(value, index++);=0A= } catch (e) {=0A= if (e !=3D $continue) throw e;=0A= }=0A= });=0A= } catch (e) {=0A= if (e !=3D $break) throw e;=0A= }=0A= return this;=0A= },=0A= =0A= eachSlice: function(number, iterator) {=0A= var index =3D -number, slices =3D [], array =3D this.toArray();=0A= while ((index +=3D number) < array.length)=0A= slices.push(array.slice(index, index+number));=0A= return slices.map(iterator);=0A= },=0A= =0A= all: function(iterator) {=0A= var result =3D true;=0A= this.each(function(value, index) {=0A= result =3D result && !!(iterator || Prototype.K)(value, index);=0A= if (!result) throw $break;=0A= });=0A= return result;=0A= },=0A= =0A= any: function(iterator) {=0A= var result =3D false;=0A= this.each(function(value, index) {=0A= if (result =3D !!(iterator || Prototype.K)(value, index))=0A= throw $break;=0A= });=0A= return result;=0A= },=0A= =0A= collect: function(iterator) {=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= results.push((iterator || Prototype.K)(value, index));=0A= });=0A= return results;=0A= },=0A= =0A= detect: function(iterator) {=0A= var result;=0A= this.each(function(value, index) {=0A= if (iterator(value, index)) {=0A= result =3D value;=0A= throw $break;=0A= }=0A= });=0A= return result;=0A= },=0A= =0A= findAll: function(iterator) {=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= if (iterator(value, index))=0A= results.push(value);=0A= });=0A= return results;=0A= },=0A= =0A= grep: function(pattern, iterator) {=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= var stringValue =3D value.toString();=0A= if (stringValue.match(pattern))=0A= results.push((iterator || Prototype.K)(value, index));=0A= })=0A= return results;=0A= },=0A= =0A= include: function(object) {=0A= var found =3D false;=0A= this.each(function(value) {=0A= if (value =3D=3D object) {=0A= found =3D true;=0A= throw $break;=0A= }=0A= });=0A= return found;=0A= },=0A= =0A= inGroupsOf: function(number, fillWith) {=0A= fillWith =3D fillWith =3D=3D=3D undefined ? null : fillWith;=0A= return this.eachSlice(number, function(slice) {=0A= while(slice.length < number) slice.push(fillWith);=0A= return slice;=0A= });=0A= },=0A= =0A= inject: function(memo, iterator) {=0A= this.each(function(value, index) {=0A= memo =3D iterator(memo, value, index);=0A= });=0A= return memo;=0A= },=0A= =0A= invoke: function(method) {=0A= var args =3D $A(arguments).slice(1);=0A= return this.map(function(value) {=0A= return value[method].apply(value, args);=0A= });=0A= },=0A= =0A= max: function(iterator) {=0A= var result;=0A= this.each(function(value, index) {=0A= value =3D (iterator || Prototype.K)(value, index);=0A= if (result =3D=3D undefined || value >=3D result)=0A= result =3D value;=0A= });=0A= return result;=0A= },=0A= =0A= min: function(iterator) {=0A= var result;=0A= this.each(function(value, index) {=0A= value =3D (iterator || Prototype.K)(value, index);=0A= if (result =3D=3D undefined || value < result)=0A= result =3D value;=0A= });=0A= return result;=0A= },=0A= =0A= partition: function(iterator) {=0A= var trues =3D [], falses =3D [];=0A= this.each(function(value, index) {=0A= ((iterator || Prototype.K)(value, index) ?=0A= trues : falses).push(value);=0A= });=0A= return [trues, falses];=0A= },=0A= =0A= pluck: function(property) {=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= results.push(value[property]);=0A= });=0A= return results;=0A= },=0A= =0A= reject: function(iterator) {=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= if (!iterator(value, index))=0A= results.push(value);=0A= });=0A= return results;=0A= },=0A= =0A= sortBy: function(iterator) {=0A= return this.map(function(value, index) {=0A= return {value: value, criteria: iterator(value, index)};=0A= }).sort(function(left, right) {=0A= var a =3D left.criteria, b =3D right.criteria;=0A= return a < b ? -1 : a > b ? 1 : 0;=0A= }).pluck('value');=0A= },=0A= =0A= toArray: function() {=0A= return this.map();=0A= },=0A= =0A= zip: function() {=0A= var iterator =3D Prototype.K, args =3D $A(arguments);=0A= if (typeof args.last() =3D=3D 'function')=0A= iterator =3D args.pop();=0A= =0A= var collections =3D [this].concat(args).map($A);=0A= return this.map(function(value, index) {=0A= return iterator(collections.pluck(index));=0A= });=0A= },=0A= =0A= size: function() {=0A= return this.toArray().length;=0A= },=0A= =0A= inspect: function() {=0A= return '#';=0A= }=0A= }=0A= =0A= Object.extend(Enumerable, {=0A= map: Enumerable.collect,=0A= find: Enumerable.detect,=0A= select: Enumerable.findAll,=0A= member: Enumerable.include,=0A= entries: Enumerable.toArray=0A= });=0A= var $A =3D Array.from =3D function(iterable) {=0A= if (!iterable) return [];=0A= if (iterable.toArray) {=0A= return iterable.toArray();=0A= } else {=0A= var results =3D [];=0A= for (var i =3D 0, length =3D iterable.length; i < length; i++)=0A= results.push(iterable[i]);=0A= return results;=0A= }=0A= }=0A= =0A= Object.extend(Array.prototype, Enumerable);=0A= =0A= if (!Array.prototype._reverse)=0A= Array.prototype._reverse =3D Array.prototype.reverse;=0A= =0A= Object.extend(Array.prototype, {=0A= _each: function(iterator) {=0A= for (var i =3D 0, length =3D this.length; i < length; i++)=0A= iterator(this[i]);=0A= },=0A= =0A= clear: function() {=0A= this.length =3D 0;=0A= return this;=0A= },=0A= =0A= first: function() {=0A= return this[0];=0A= },=0A= =0A= last: function() {=0A= return this[this.length - 1];=0A= },=0A= =0A= compact: function() {=0A= return this.select(function(value) {=0A= return value !=3D null;=0A= });=0A= },=0A= =0A= flatten: function() {=0A= return this.inject([], function(array, value) {=0A= return array.concat(value && value.constructor =3D=3D Array ?=0A= value.flatten() : [value]);=0A= });=0A= },=0A= =0A= without: function() {=0A= var values =3D $A(arguments);=0A= return this.select(function(value) {=0A= return !values.include(value);=0A= });=0A= },=0A= =0A= indexOf: function(object) {=0A= for (var i =3D 0, length =3D this.length; i < length; i++)=0A= if (this[i] =3D=3D object) return i;=0A= return -1;=0A= },=0A= =0A= reverse: function(inline) {=0A= return (inline !=3D=3D false ? this : this.toArray())._reverse();=0A= },=0A= =0A= reduce: function() {=0A= return this.length > 1 ? this : this[0];=0A= },=0A= =0A= uniq: function() {=0A= return this.inject([], function(array, value) {=0A= return array.include(value) ? array : array.concat([value]);=0A= });=0A= },=0A= =0A= clone: function() {=0A= return [].concat(this);=0A= },=0A= =0A= size: function() {=0A= return this.length;=0A= },=0A= =0A= inspect: function() {=0A= return '[' + this.map(Object.inspect).join(', ') + ']';=0A= }=0A= });=0A= =0A= Array.prototype.toArray =3D Array.prototype.clone;=0A= =0A= function $w(string){=0A= string =3D string.strip();=0A= return string ? string.split(/\s+/) : [];=0A= }=0A= =0A= if(window.opera){=0A= Array.prototype.concat =3D function(){=0A= var array =3D [];=0A= for(var i =3D 0, length =3D this.length; i < length; i++) = array.push(this[i]);=0A= for(var i =3D 0, length =3D arguments.length; i < length; i++) {=0A= if(arguments[i].constructor =3D=3D Array) {=0A= for(var j =3D 0, arrayLength =3D arguments[i].length; j < = arrayLength; j++)=0A= array.push(arguments[i][j]);=0A= } else {=0A= array.push(arguments[i]);=0A= }=0A= }=0A= return array;=0A= }=0A= }=0A= var Hash =3D function(obj) {=0A= Object.extend(this, obj || {});=0A= };=0A= =0A= Object.extend(Hash, {=0A= toQueryString: function(obj) {=0A= var parts =3D [];=0A= =0A= this.prototype._each.call(obj, function(pair) {=0A= if (!pair.key) return;=0A= =0A= if (pair.value && pair.value.constructor =3D=3D Array) {=0A= var values =3D pair.value.compact();=0A= if (values.length < 2) pair.value =3D values.reduce();=0A= else {=0A= key =3D encodeURIComponent(pair.key);=0A= values.each(function(value) {=0A= value =3D value !=3D undefined ? encodeURIComponent(value) : = '';=0A= parts.push(key + '=3D' + encodeURIComponent(value));=0A= });=0A= return;=0A= }=0A= }=0A= if (pair.value =3D=3D undefined) pair[1] =3D '';=0A= parts.push(pair.map(encodeURIComponent).join('=3D'));=0A= });=0A= =0A= return parts.join('&');=0A= }=0A= });=0A= =0A= Object.extend(Hash.prototype, Enumerable);=0A= Object.extend(Hash.prototype, {=0A= _each: function(iterator) {=0A= for (var key in this) {=0A= var value =3D this[key];=0A= if (value && value =3D=3D Hash.prototype[key]) continue;=0A= =0A= var pair =3D [key, value];=0A= pair.key =3D key;=0A= pair.value =3D value;=0A= iterator(pair);=0A= }=0A= },=0A= =0A= keys: function() {=0A= return this.pluck('key');=0A= },=0A= =0A= values: function() {=0A= return this.pluck('value');=0A= },=0A= =0A= merge: function(hash) {=0A= return $H(hash).inject(this, function(mergedHash, pair) {=0A= mergedHash[pair.key] =3D pair.value;=0A= return mergedHash;=0A= });=0A= },=0A= =0A= remove: function() {=0A= var result;=0A= for(var i =3D 0, length =3D arguments.length; i < length; i++) {=0A= var value =3D this[arguments[i]];=0A= if (value !=3D=3D undefined){=0A= if (result =3D=3D=3D undefined) result =3D value;=0A= else {=0A= if (result.constructor !=3D Array) result =3D [result];=0A= result.push(value)=0A= }=0A= }=0A= delete this[arguments[i]];=0A= }=0A= return result;=0A= },=0A= =0A= toQueryString: function() {=0A= return Hash.toQueryString(this);=0A= },=0A= =0A= inspect: function() {=0A= return '#';=0A= }=0A= });=0A= =0A= function $H(object) {=0A= if (object && object.constructor =3D=3D Hash) return object;=0A= return new Hash(object);=0A= };=0A= ObjectRange =3D Class.create();=0A= Object.extend(ObjectRange.prototype, Enumerable);=0A= Object.extend(ObjectRange.prototype, {=0A= initialize: function(start, end, exclusive) {=0A= this.start =3D start;=0A= this.end =3D end;=0A= this.exclusive =3D exclusive;=0A= },=0A= =0A= _each: function(iterator) {=0A= var value =3D this.start;=0A= while (this.include(value)) {=0A= iterator(value);=0A= value =3D value.succ();=0A= }=0A= },=0A= =0A= include: function(value) {=0A= if (value < this.start)=0A= return false;=0A= if (this.exclusive)=0A= return value < this.end;=0A= return value <=3D this.end;=0A= }=0A= });=0A= =0A= var $R =3D function(start, end, exclusive) {=0A= return new ObjectRange(start, end, exclusive);=0A= }=0A= =0A= var Ajax =3D {=0A= getTransport: function() {=0A= return Try.these(=0A= function() {return new XMLHttpRequest()},=0A= function() {return new ActiveXObject('Msxml2.XMLHTTP')},=0A= function() {return new ActiveXObject('Microsoft.XMLHTTP')}=0A= ) || false;=0A= },=0A= =0A= activeRequestCount: 0=0A= }=0A= =0A= Ajax.Responders =3D {=0A= responders: [],=0A= =0A= _each: function(iterator) {=0A= this.responders._each(iterator);=0A= },=0A= =0A= register: function(responder) {=0A= if (!this.include(responder))=0A= this.responders.push(responder);=0A= },=0A= =0A= unregister: function(responder) {=0A= this.responders =3D this.responders.without(responder);=0A= },=0A= =0A= dispatch: function(callback, request, transport, json) {=0A= this.each(function(responder) {=0A= if (typeof responder[callback] =3D=3D 'function') {=0A= try {=0A= responder[callback].apply(responder, [request, transport, = json]);=0A= } catch (e) {}=0A= }=0A= });=0A= }=0A= };=0A= =0A= Object.extend(Ajax.Responders, Enumerable);=0A= =0A= Ajax.Responders.register({=0A= onCreate: function() {=0A= Ajax.activeRequestCount++;=0A= },=0A= onComplete: function() {=0A= Ajax.activeRequestCount--;=0A= }=0A= });=0A= =0A= Ajax.Base =3D function() {};=0A= Ajax.Base.prototype =3D {=0A= setOptions: function(options) {=0A= this.options =3D {=0A= method: 'post',=0A= asynchronous: true,=0A= contentType: 'application/x-www-form-urlencoded',=0A= encoding: 'UTF-8',=0A= parameters: ''=0A= }=0A= Object.extend(this.options, options || {});=0A= =0A= this.options.method =3D this.options.method.toLowerCase();=0A= if (typeof this.options.parameters =3D=3D 'string')=0A= this.options.parameters =3D = this.options.parameters.toQueryParams();=0A= }=0A= }=0A= =0A= Ajax.Request =3D Class.create();=0A= Ajax.Request.Events =3D=0A= ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];=0A= =0A= Ajax.Request.prototype =3D Object.extend(new Ajax.Base(), {=0A= _complete: false,=0A= =0A= initialize: function(url, options) {=0A= this.transport =3D Ajax.getTransport();=0A= this.setOptions(options);=0A= this.request(url);=0A= },=0A= =0A= request: function(url) {=0A= this.url =3D url;=0A= this.method =3D this.options.method;=0A= var params =3D this.options.parameters;=0A= =0A= if (!['get', 'post'].include(this.method)) {=0A= // simulate other verbs over post=0A= params['_method'] =3D this.method;=0A= this.method =3D 'post';=0A= }=0A= =0A= params =3D Hash.toQueryString(params);=0A= if (params && /Konqueror|Safari|KHTML/.test(navigator.userAgent)) = params +=3D '&_=3D'=0A= =0A= // when GET, append parameters to URL=0A= if (this.method =3D=3D 'get' && params)=0A= this.url +=3D (this.url.indexOf('?') > -1 ? '&' : '?') + params;=0A= =0A= try {=0A= Ajax.Responders.dispatch('onCreate', this, this.transport);=0A= =0A= this.transport.open(this.method.toUpperCase(), this.url,=0A= this.options.asynchronous);=0A= =0A= if (this.options.asynchronous)=0A= setTimeout(function() { this.respondToReadyState(1) = }.bind(this), 10);=0A= =0A= this.transport.onreadystatechange =3D = this.onStateChange.bind(this);=0A= this.setRequestHeaders();=0A= =0A= var body =3D this.method =3D=3D 'post' ? (this.options.postBody || = params) : null;=0A= =0A= this.transport.send(body);=0A= =0A= /* Force Firefox to handle ready state 4 for synchronous requests = */=0A= if (!this.options.asynchronous && this.transport.overrideMimeType)=0A= this.onStateChange();=0A= =0A= }=0A= catch (e) {=0A= this.dispatchException(e);=0A= }=0A= },=0A= =0A= onStateChange: function() {=0A= var readyState =3D this.transport.readyState;=0A= if (readyState > 1 && !((readyState =3D=3D 4) && this._complete))=0A= this.respondToReadyState(this.transport.readyState);=0A= },=0A= =0A= setRequestHeaders: function() {=0A= var headers =3D {=0A= 'X-Requested-With': 'XMLHttpRequest',=0A= 'X-Prototype-Version': Prototype.Version,=0A= 'Accept': 'text/javascript, text/html, application/xml, text/xml, = */*'=0A= };=0A= =0A= if (this.method =3D=3D 'post') {=0A= headers['Content-type'] =3D this.options.contentType +=0A= (this.options.encoding ? '; charset=3D' + this.options.encoding = : '');=0A= =0A= /* Force "Connection: close" for older Mozilla browsers to work=0A= * around a bug where XMLHttpRequest sends an incorrect=0A= * Content-length header. See Mozilla Bugzilla #246651.=0A= */=0A= if (this.transport.overrideMimeType &&=0A= (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < = 2005)=0A= headers['Connection'] =3D 'close';=0A= }=0A= =0A= // user-defined headers=0A= if (typeof this.options.requestHeaders =3D=3D 'object') {=0A= var extras =3D this.options.requestHeaders;=0A= =0A= if (typeof extras.push =3D=3D 'function')=0A= for (var i =3D 0, length =3D extras.length; i < length; i +=3D 2)=0A= headers[extras[i]] =3D extras[i+1];=0A= else=0A= $H(extras).each(function(pair) { headers[pair.key] =3D = pair.value });=0A= }=0A= =0A= for (var name in headers)=0A= this.transport.setRequestHeader(name, headers[name]);=0A= },=0A= =0A= success: function() {=0A= return !this.transport.status=0A= || (this.transport.status >=3D 200 && this.transport.status < = 300);=0A= },=0A= =0A= respondToReadyState: function(readyState) {=0A= var state =3D Ajax.Request.Events[readyState];=0A= var transport =3D this.transport, json =3D this.evalJSON();=0A= =0A= if (state =3D=3D 'Complete') {=0A= try {=0A= this._complete =3D true;=0A= (this.options['on' + this.transport.status]=0A= || this.options['on' + (this.success() ? 'Success' : 'Failure')]=0A= || Prototype.emptyFunction)(transport, json);=0A= } catch (e) {=0A= this.dispatchException(e);=0A= }=0A= =0A= if ((this.getHeader('Content-type') || 'text/javascript').strip().=0A= match(/^(text|application)\/(x-)?(java|ecma)script(;.*)?$/i))=0A= this.evalResponse();=0A= }=0A= =0A= try {=0A= (this.options['on' + state] || Prototype.emptyFunction)(transport, = json);=0A= Ajax.Responders.dispatch('on' + state, this, transport, json);=0A= } catch (e) {=0A= this.dispatchException(e);=0A= }=0A= =0A= if (state =3D=3D 'Complete') {=0A= // avoid memory leak in MSIE: clean up=0A= this.transport.onreadystatechange =3D Prototype.emptyFunction;=0A= }=0A= },=0A= =0A= getHeader: function(name) {=0A= try {=0A= return this.transport.getResponseHeader(name);=0A= } catch (e) { return null }=0A= },=0A= =0A= evalJSON: function() {=0A= try {=0A= var json =3D this.getHeader('X-JSON');=0A= return json ? eval('(' + json + ')') : null;=0A= } catch (e) { return null }=0A= },=0A= =0A= evalResponse: function() {=0A= try {=0A= return eval(this.transport.responseText);=0A= } catch (e) {=0A= this.dispatchException(e);=0A= }=0A= },=0A= =0A= dispatchException: function(exception) {=0A= (this.options.onException || Prototype.emptyFunction)(this, = exception);=0A= Ajax.Responders.dispatch('onException', this, exception);=0A= }=0A= });=0A= =0A= Ajax.Updater =3D Class.create();=0A= =0A= Object.extend(Object.extend(Ajax.Updater.prototype, = Ajax.Request.prototype), {=0A= initialize: function(container, url, options) {=0A= this.container =3D {=0A= success: (container.success || container),=0A= failure: (container.failure || (container.success ? null : = container))=0A= }=0A= =0A= this.transport =3D Ajax.getTransport();=0A= this.setOptions(options);=0A= =0A= var onComplete =3D this.options.onComplete || = Prototype.emptyFunction;=0A= this.options.onComplete =3D (function(transport, param) {=0A= this.updateContent();=0A= onComplete(transport, param);=0A= }).bind(this);=0A= =0A= this.request(url);=0A= },=0A= =0A= updateContent: function() {=0A= var receiver =3D this.container[this.success() ? 'success' : = 'failure'];=0A= var response =3D this.transport.responseText;=0A= =0A= if (!this.options.evalScripts) response =3D response.stripScripts();=0A= =0A= if (receiver =3D $(receiver)) {=0A= if (this.options.insertion)=0A= new this.options.insertion(receiver, response);=0A= else=0A= receiver.update(response);=0A= }=0A= =0A= if (this.success()) {=0A= if (this.onComplete)=0A= setTimeout(this.onComplete.bind(this), 10);=0A= }=0A= }=0A= });=0A= =0A= Ajax.PeriodicalUpdater =3D Class.create();=0A= Ajax.PeriodicalUpdater.prototype =3D Object.extend(new Ajax.Base(), {=0A= initialize: function(container, url, options) {=0A= this.setOptions(options);=0A= this.onComplete =3D this.options.onComplete;=0A= =0A= this.frequency =3D (this.options.frequency || 2);=0A= this.decay =3D (this.options.decay || 1);=0A= =0A= this.updater =3D {};=0A= this.container =3D container;=0A= this.url =3D url;=0A= =0A= this.start();=0A= },=0A= =0A= start: function() {=0A= this.options.onComplete =3D this.updateComplete.bind(this);=0A= this.onTimerEvent();=0A= },=0A= =0A= stop: function() {=0A= this.updater.options.onComplete =3D undefined;=0A= clearTimeout(this.timer);=0A= (this.onComplete || Prototype.emptyFunction).apply(this, arguments);=0A= },=0A= =0A= updateComplete: function(request) {=0A= if (this.options.decay) {=0A= this.decay =3D (request.responseText =3D=3D this.lastText ?=0A= this.decay * this.options.decay : 1);=0A= =0A= this.lastText =3D request.responseText;=0A= }=0A= this.timer =3D setTimeout(this.onTimerEvent.bind(this),=0A= this.decay * this.frequency * 1000);=0A= },=0A= =0A= onTimerEvent: function() {=0A= this.updater =3D new Ajax.Updater(this.container, this.url, = this.options);=0A= }=0A= });=0A= function $(element) {=0A= if (arguments.length > 1) {=0A= for (var i =3D 0, elements =3D [], length =3D arguments.length; i < = length; i++)=0A= elements.push($(arguments[i]));=0A= return elements;=0A= }=0A= if (typeof element =3D=3D 'string')=0A= element =3D document.getElementById(element);=0A= return Element.extend(element);=0A= }=0A= =0A= if (Prototype.BrowserFeatures.XPath) {=0A= document._getElementsByXPath =3D function(expression, parentElement) {=0A= var results =3D [];=0A= var query =3D document.evaluate(expression, $(parentElement) || = document,=0A= null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);=0A= for (var i =3D 0, length =3D query.snapshotLength; i < length; i++)=0A= results.push(query.snapshotItem(i));=0A= return results;=0A= };=0A= }=0A= =0A= document.getElementsByClassName =3D function(className, parentElement) {=0A= if (Prototype.BrowserFeatures.XPath) {=0A= var q =3D ".//*[contains(concat(' ', @class, ' '), ' " + className + = " ')]";=0A= return document._getElementsByXPath(q, parentElement);=0A= } else {=0A= var children =3D ($(parentElement) || = document.body).getElementsByTagName('*');=0A= var elements =3D [], child;=0A= for (var i =3D 0, length =3D children.length; i < length; i++) {=0A= child =3D children[i];=0A= if (Element.hasClassName(child, className))=0A= elements.push(Element.extend(child));=0A= }=0A= return elements;=0A= }=0A= };=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= if (!window.Element)=0A= var Element =3D new Object();=0A= =0A= Element.extend =3D function(element) {=0A= if (!element || _nativeExtensions || element.nodeType =3D=3D 3) return = element;=0A= =0A= if (!element._extended && element.tagName && element !=3D window) {=0A= var methods =3D Object.clone(Element.Methods), cache =3D = Element.extend.cache;=0A= =0A= if (element.tagName =3D=3D 'FORM')=0A= Object.extend(methods, Form.Methods);=0A= if (['INPUT', 'TEXTAREA', 'SELECT'].include(element.tagName))=0A= Object.extend(methods, Form.Element.Methods);=0A= =0A= Object.extend(methods, Element.Methods.Simulated);=0A= =0A= for (var property in methods) {=0A= var value =3D methods[property];=0A= if (typeof value =3D=3D 'function' && !(property in element))=0A= element[property] =3D cache.findOrStore(value);=0A= }=0A= }=0A= =0A= element._extended =3D true;=0A= return element;=0A= };=0A= =0A= Element.extend.cache =3D {=0A= findOrStore: function(value) {=0A= return this[value] =3D this[value] || function() {=0A= return value.apply(null, [this].concat($A(arguments)));=0A= }=0A= }=0A= };=0A= =0A= Element.Methods =3D {=0A= visible: function(element) {=0A= return $(element).style.display !=3D 'none';=0A= },=0A= =0A= toggle: function(element) {=0A= element =3D $(element);=0A= Element[Element.visible(element) ? 'hide' : 'show'](element);=0A= return element;=0A= },=0A= =0A= hide: function(element) {=0A= $(element).style.display =3D 'none';=0A= return element;=0A= },=0A= =0A= show: function(element) {=0A= $(element).style.display =3D '';=0A= return element;=0A= },=0A= =0A= remove: function(element) {=0A= element =3D $(element);=0A= element.parentNode.removeChild(element);=0A= return element;=0A= },=0A= =0A= update: function(element, html) {=0A= html =3D typeof html =3D=3D 'undefined' ? '' : html.toString();=0A= $(element).innerHTML =3D html.stripScripts();=0A= setTimeout(function() {html.evalScripts()}, 10);=0A= return element;=0A= },=0A= =0A= replace: function(element, html) {=0A= element =3D $(element);=0A= html =3D typeof html =3D=3D 'undefined' ? '' : html.toString();=0A= if (element.outerHTML) {=0A= element.outerHTML =3D html.stripScripts();=0A= } else {=0A= var range =3D element.ownerDocument.createRange();=0A= range.selectNodeContents(element);=0A= element.parentNode.replaceChild(=0A= range.createContextualFragment(html.stripScripts()), element);=0A= }=0A= setTimeout(function() {html.evalScripts()}, 10);=0A= return element;=0A= },=0A= =0A= inspect: function(element) {=0A= element =3D $(element);=0A= var result =3D '<' + element.tagName.toLowerCase();=0A= $H({'id': 'id', 'className': 'class'}).each(function(pair) {=0A= var property =3D pair.first(), attribute =3D pair.last();=0A= var value =3D (element[property] || '').toString();=0A= if (value) result +=3D ' ' + attribute + '=3D' + = value.inspect(true);=0A= });=0A= return result + '>';=0A= },=0A= =0A= recursivelyCollect: function(element, property) {=0A= element =3D $(element);=0A= var elements =3D [];=0A= while (element =3D element[property])=0A= if (element.nodeType =3D=3D 1)=0A= elements.push(Element.extend(element));=0A= return elements;=0A= },=0A= =0A= ancestors: function(element) {=0A= return $(element).recursivelyCollect('parentNode');=0A= },=0A= =0A= descendants: function(element) {=0A= return $A($(element).getElementsByTagName('*'));=0A= },=0A= =0A= immediateDescendants: function(element) {=0A= if (!(element =3D $(element).firstChild)) return [];=0A= while (element && element.nodeType !=3D 1) element =3D = element.nextSibling;=0A= if (element) return [element].concat($(element).nextSiblings());=0A= return [];=0A= },=0A= =0A= previousSiblings: function(element) {=0A= return $(element).recursivelyCollect('previousSibling');=0A= },=0A= =0A= nextSiblings: function(element) {=0A= return $(element).recursivelyCollect('nextSibling');=0A= },=0A= =0A= siblings: function(element) {=0A= element =3D $(element);=0A= return = element.previousSiblings().reverse().concat(element.nextSiblings());=0A= },=0A= =0A= match: function(element, selector) {=0A= if (typeof selector =3D=3D 'string')=0A= selector =3D new Selector(selector);=0A= return selector.match($(element));=0A= },=0A= =0A= up: function(element, expression, index) {=0A= return Selector.findElement($(element).ancestors(), expression, = index);=0A= },=0A= =0A= down: function(element, expression, index) {=0A= return Selector.findElement($(element).descendants(), expression, = index);=0A= },=0A= =0A= previous: function(element, expression, index) {=0A= return Selector.findElement($(element).previousSiblings(), = expression, index);=0A= },=0A= =0A= next: function(element, expression, index) {=0A= return Selector.findElement($(element).nextSiblings(), expression, = index);=0A= },=0A= =0A= getElementsBySelector: function() {=0A= var args =3D $A(arguments), element =3D $(args.shift());=0A= return Selector.findChildElements(element, args);=0A= },=0A= =0A= getElementsByClassName: function(element, className) {=0A= return document.getElementsByClassName(className, element);=0A= },=0A= =0A= readAttribute: function(element, name) {=0A= element =3D $(element);=0A= if (document.all && !window.opera) {=0A= var t =3D Element._attributeTranslations;=0A= if (t.values[name]) return t.values[name](element, name);=0A= if (t.names[name]) name =3D t.names[name];=0A= var attribute =3D element.attributes[name];=0A= if(attribute) return attribute.nodeValue;=0A= }=0A= return element.getAttribute(name);=0A= },=0A= =0A= getHeight: function(element) {=0A= return $(element).getDimensions().height;=0A= },=0A= =0A= getWidth: function(element) {=0A= return $(element).getDimensions().width;=0A= },=0A= =0A= classNames: function(element) {=0A= return new Element.ClassNames(element);=0A= },=0A= =0A= hasClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= var elementClassName =3D element.className;=0A= if (elementClassName.length =3D=3D 0) return false;=0A= if (elementClassName =3D=3D className ||=0A= elementClassName.match(new RegExp("(^|\\s)" + className + = "(\\s|$)")))=0A= return true;=0A= return false;=0A= },=0A= =0A= addClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= Element.classNames(element).add(className);=0A= return element;=0A= },=0A= =0A= removeClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= Element.classNames(element).remove(className);=0A= return element;=0A= },=0A= =0A= toggleClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= Element.classNames(element)[element.hasClassName(className) ? = 'remove' : 'add'](className);=0A= return element;=0A= },=0A= =0A= observe: function() {=0A= Event.observe.apply(Event, arguments);=0A= return $A(arguments).first();=0A= },=0A= =0A= stopObserving: function() {=0A= Event.stopObserving.apply(Event, arguments);=0A= return $A(arguments).first();=0A= },=0A= =0A= // removes whitespace-only text node children=0A= cleanWhitespace: function(element) {=0A= element =3D $(element);=0A= var node =3D element.firstChild;=0A= while (node) {=0A= var nextNode =3D node.nextSibling;=0A= if (node.nodeType =3D=3D 3 && !/\S/.test(node.nodeValue))=0A= element.removeChild(node);=0A= node =3D nextNode;=0A= }=0A= return element;=0A= },=0A= =0A= empty: function(element) {=0A= return $(element).innerHTML.match(/^\s*$/);=0A= },=0A= =0A= descendantOf: function(element, ancestor) {=0A= element =3D $(element), ancestor =3D $(ancestor);=0A= while (element =3D element.parentNode)=0A= if (element =3D=3D ancestor) return true;=0A= return false;=0A= },=0A= =0A= scrollTo: function(element) {=0A= element =3D $(element);=0A= var pos =3D Position.cumulativeOffset(element);=0A= window.scrollTo(pos[0], pos[1]);=0A= return element;=0A= },=0A= =0A= getStyle: function(element, style) {=0A= element =3D $(element);=0A= if (['float','cssFloat'].include(style))=0A= style =3D (typeof element.style.styleFloat !=3D 'undefined' ? = 'styleFloat' : 'cssFloat');=0A= style =3D style.camelize();=0A= var value =3D element.style[style];=0A= if (!value) {=0A= if (document.defaultView && document.defaultView.getComputedStyle) = {=0A= var css =3D document.defaultView.getComputedStyle(element, null);=0A= value =3D css ? css[style] : null;=0A= } else if (element.currentStyle) {=0A= value =3D element.currentStyle[style];=0A= }=0A= }=0A= =0A= if((value =3D=3D 'auto') && ['width','height'].include(style) && = (element.getStyle('display') !=3D 'none'))=0A= value =3D element['offset'+style.capitalize()] + 'px';=0A= =0A= if (window.opera && ['left', 'top', 'right', = 'bottom'].include(style))=0A= if (Element.getStyle(element, 'position') =3D=3D 'static') value = =3D 'auto';=0A= if(style =3D=3D 'opacity') {=0A= if(value) return parseFloat(value);=0A= if(value =3D (element.getStyle('filter') || = '').match(/alpha\(opacity=3D(.*)\)/))=0A= if(value[1]) return parseFloat(value[1]) / 100;=0A= return 1.0;=0A= }=0A= return value =3D=3D 'auto' ? null : value;=0A= },=0A= =0A= setStyle: function(element, style) {=0A= element =3D $(element);=0A= for (var name in style) {=0A= var value =3D style[name];=0A= if(name =3D=3D 'opacity') {=0A= if (value =3D=3D 1) {=0A= value =3D (/Gecko/.test(navigator.userAgent) &&=0A= !/Konqueror|Safari|KHTML/.test(navigator.userAgent)) ? = 0.999999 : 1.0;=0A= if(/MSIE/.test(navigator.userAgent) && !window.opera)=0A= element.style.filter =3D = element.getStyle('filter').replace(/alpha\([^\)]*\)/gi,'');=0A= } else if(value =3D=3D=3D '') {=0A= if(/MSIE/.test(navigator.userAgent) && !window.opera)=0A= element.style.filter =3D = element.getStyle('filter').replace(/alpha\([^\)]*\)/gi,'');=0A= } else {=0A= if(value < 0.00001) value =3D 0;=0A= if(/MSIE/.test(navigator.userAgent) && !window.opera)=0A= element.style.filter =3D = element.getStyle('filter').replace(/alpha\([^\)]*\)/gi,'') +=0A= 'alpha(opacity=3D'+value*100+')';=0A= }=0A= } else if(['float','cssFloat'].include(name)) name =3D (typeof = element.style.styleFloat !=3D 'undefined') ? 'styleFloat' : 'cssFloat';=0A= element.style[name.camelize()] =3D value;=0A= }=0A= return element;=0A= },=0A= =0A= getDimensions: function(element) {=0A= element =3D $(element);=0A= var display =3D $(element).getStyle('display');=0A= if (display !=3D 'none' && display !=3D null) // Safari bug=0A= return {width: element.offsetWidth, height: element.offsetHeight};=0A= =0A= // All *Width and *Height properties give 0 on elements with display = none,=0A= // so enable the element temporarily=0A= var els =3D element.style;=0A= var originalVisibility =3D els.visibility;=0A= var originalPosition =3D els.position;=0A= var originalDisplay =3D els.display;=0A= els.visibility =3D 'hidden';=0A= els.position =3D 'absolute';=0A= els.display =3D 'block';=0A= var originalWidth =3D element.clientWidth;=0A= var originalHeight =3D element.clientHeight;=0A= els.display =3D originalDisplay;=0A= els.position =3D originalPosition;=0A= els.visibility =3D originalVisibility;=0A= return {width: originalWidth, height: originalHeight};=0A= },=0A= =0A= makePositioned: function(element) {=0A= element =3D $(element);=0A= var pos =3D Element.getStyle(element, 'position');=0A= if (pos =3D=3D 'static' || !pos) {=0A= element._madePositioned =3D true;=0A= element.style.position =3D 'relative';=0A= // Opera returns the offset relative to the positioning context, = when an=0A= // element is position relative but top and left have not been = defined=0A= if (window.opera) {=0A= element.style.top =3D 0;=0A= element.style.left =3D 0;=0A= }=0A= }=0A= return element;=0A= },=0A= =0A= undoPositioned: function(element) {=0A= element =3D $(element);=0A= if (element._madePositioned) {=0A= element._madePositioned =3D undefined;=0A= element.style.position =3D=0A= element.style.top =3D=0A= element.style.left =3D=0A= element.style.bottom =3D=0A= element.style.right =3D '';=0A= }=0A= return element;=0A= },=0A= =0A= makeClipping: function(element) {=0A= element =3D $(element);=0A= if (element._overflow) return element;=0A= element._overflow =3D element.style.overflow || 'auto';=0A= if ((Element.getStyle(element, 'overflow') || 'visible') !=3D = 'hidden')=0A= element.style.overflow =3D 'hidden';=0A= return element;=0A= },=0A= =0A= undoClipping: function(element) {=0A= element =3D $(element);=0A= if (!element._overflow) return element;=0A= element.style.overflow =3D element._overflow =3D=3D 'auto' ? '' : = element._overflow;=0A= element._overflow =3D null;=0A= return element;=0A= }=0A= };=0A= =0A= Object.extend(Element.Methods, {childOf: Element.Methods.descendantOf});=0A= =0A= Element._attributeTranslations =3D {};=0A= =0A= Element._attributeTranslations.names =3D {=0A= colspan: "colSpan",=0A= rowspan: "rowSpan",=0A= valign: "vAlign",=0A= datetime: "dateTime",=0A= accesskey: "accessKey",=0A= tabindex: "tabIndex",=0A= enctype: "encType",=0A= maxlength: "maxLength",=0A= readonly: "readOnly",=0A= longdesc: "longDesc"=0A= };=0A= =0A= Element._attributeTranslations.values =3D {=0A= _getAttr: function(element, attribute) {=0A= return element.getAttribute(attribute, 2);=0A= },=0A= =0A= _flag: function(element, attribute) {=0A= return $(element).hasAttribute(attribute) ? attribute : null;=0A= },=0A= =0A= style: function(element) {=0A= return element.style.cssText.toLowerCase();=0A= },=0A= =0A= title: function(element) {=0A= var node =3D element.getAttributeNode('title');=0A= return node.specified ? node.nodeValue : null;=0A= }=0A= };=0A= =0A= Object.extend(Element._attributeTranslations.values, {=0A= href: Element._attributeTranslations.values._getAttr,=0A= src: Element._attributeTranslations.values._getAttr,=0A= disabled: Element._attributeTranslations.values._flag,=0A= checked: Element._attributeTranslations.values._flag,=0A= readonly: Element._attributeTranslations.values._flag,=0A= multiple: Element._attributeTranslations.values._flag=0A= });=0A= =0A= Element.Methods.Simulated =3D {=0A= hasAttribute: function(element, attribute) {=0A= var t =3D Element._attributeTranslations;=0A= attribute =3D t.names[attribute] || attribute;=0A= return $(element).getAttributeNode(attribute).specified;=0A= }=0A= };=0A= =0A= // IE is missing .innerHTML support for TABLE-related elements=0A= if (document.all && !window.opera){=0A= Element.Methods.update =3D function(element, html) {=0A= element =3D $(element);=0A= html =3D typeof html =3D=3D 'undefined' ? '' : html.toString();=0A= var tagName =3D element.tagName.toUpperCase();=0A= if (['THEAD','TBODY','TR','TD'].include(tagName)) {=0A= var div =3D document.createElement('div');=0A= switch (tagName) {=0A= case 'THEAD':=0A= case 'TBODY':=0A= div.innerHTML =3D '' + html.stripScripts() + = '
';=0A= depth =3D 2;=0A= break;=0A= case 'TR':=0A= div.innerHTML =3D '' + html.stripScripts() = + '
';=0A= depth =3D 3;=0A= break;=0A= case 'TD':=0A= div.innerHTML =3D '
' + = html.stripScripts() + '
';=0A= depth =3D 4;=0A= }=0A= $A(element.childNodes).each(function(node){=0A= element.removeChild(node)=0A= });=0A= depth.times(function(){ div =3D div.firstChild });=0A= =0A= $A(div.childNodes).each(=0A= function(node){ element.appendChild(node) });=0A= } else {=0A= element.innerHTML =3D html.stripScripts();=0A= }=0A= setTimeout(function() {html.evalScripts()}, 10);=0A= return element;=0A= }=0A= };=0A= =0A= Object.extend(Element, Element.Methods);=0A= =0A= var _nativeExtensions =3D false;=0A= =0A= if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))=0A= ['', 'Form', 'Input', 'TextArea', 'Select'].each(function(tag) {=0A= var className =3D 'HTML' + tag + 'Element';=0A= if(window[className]) return;=0A= var klass =3D window[className] =3D {};=0A= klass.prototype =3D document.createElement(tag ? tag.toLowerCase() : = 'div').__proto__;=0A= });=0A= =0A= Element.addMethods =3D function(methods) {=0A= Object.extend(Element.Methods, methods || {});=0A= =0A= function copy(methods, destination, onlyIfAbsent) {=0A= onlyIfAbsent =3D onlyIfAbsent || false;=0A= var cache =3D Element.extend.cache;=0A= for (var property in methods) {=0A= var value =3D methods[property];=0A= if (!onlyIfAbsent || !(property in destination))=0A= destination[property] =3D cache.findOrStore(value);=0A= }=0A= }=0A= =0A= if (typeof HTMLElement !=3D 'undefined') {=0A= copy(Element.Methods, HTMLElement.prototype);=0A= copy(Element.Methods.Simulated, HTMLElement.prototype, true);=0A= copy(Form.Methods, HTMLFormElement.prototype);=0A= [HTMLInputElement, HTMLTextAreaElement, = HTMLSelectElement].each(function(klass) {=0A= copy(Form.Element.Methods, klass.prototype);=0A= });=0A= _nativeExtensions =3D true;=0A= }=0A= }=0A= =0A= var Toggle =3D new Object();=0A= Toggle.display =3D Element.toggle;=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Abstract.Insertion =3D function(adjacency) {=0A= this.adjacency =3D adjacency;=0A= }=0A= =0A= Abstract.Insertion.prototype =3D {=0A= initialize: function(element, content) {=0A= this.element =3D $(element);=0A= this.content =3D content.stripScripts();=0A= =0A= if (this.adjacency && this.element.insertAdjacentHTML) {=0A= try {=0A= this.element.insertAdjacentHTML(this.adjacency, this.content);=0A= } catch (e) {=0A= var tagName =3D this.element.tagName.toUpperCase();=0A= if (['TBODY', 'TR'].include(tagName)) {=0A= this.insertContent(this.contentFromAnonymousTable());=0A= } else {=0A= throw e;=0A= }=0A= }=0A= } else {=0A= this.range =3D this.element.ownerDocument.createRange();=0A= if (this.initializeRange) this.initializeRange();=0A= = this.insertContent([this.range.createContextualFragment(this.content)]);=0A= }=0A= =0A= setTimeout(function() {content.evalScripts()}, 10);=0A= },=0A= =0A= contentFromAnonymousTable: function() {=0A= var div =3D document.createElement('div');=0A= div.innerHTML =3D '' + this.content + = '
';=0A= return $A(div.childNodes[0].childNodes[0].childNodes);=0A= }=0A= }=0A= =0A= var Insertion =3D new Object();=0A= =0A= Insertion.Before =3D Class.create();=0A= Insertion.Before.prototype =3D Object.extend(new = Abstract.Insertion('beforeBegin'), {=0A= initializeRange: function() {=0A= this.range.setStartBefore(this.element);=0A= },=0A= =0A= insertContent: function(fragments) {=0A= fragments.each((function(fragment) {=0A= this.element.parentNode.insertBefore(fragment, this.element);=0A= }).bind(this));=0A= }=0A= });=0A= =0A= Insertion.Top =3D Class.create();=0A= Insertion.Top.prototype =3D Object.extend(new = Abstract.Insertion('afterBegin'), {=0A= initializeRange: function() {=0A= this.range.selectNodeContents(this.element);=0A= this.range.collapse(true);=0A= },=0A= =0A= insertContent: function(fragments) {=0A= fragments.reverse(false).each((function(fragment) {=0A= this.element.insertBefore(fragment, this.element.firstChild);=0A= }).bind(this));=0A= }=0A= });=0A= =0A= Insertion.Bottom =3D Class.create();=0A= Insertion.Bottom.prototype =3D Object.extend(new = Abstract.Insertion('beforeEnd'), {=0A= initializeRange: function() {=0A= this.range.selectNodeContents(this.element);=0A= this.range.collapse(this.element);=0A= },=0A= =0A= insertContent: function(fragments) {=0A= fragments.each((function(fragment) {=0A= this.element.appendChild(fragment);=0A= }).bind(this));=0A= }=0A= });=0A= =0A= Insertion.After =3D Class.create();=0A= Insertion.After.prototype =3D Object.extend(new = Abstract.Insertion('afterEnd'), {=0A= initializeRange: function() {=0A= this.range.setStartAfter(this.element);=0A= },=0A= =0A= insertContent: function(fragments) {=0A= fragments.each((function(fragment) {=0A= this.element.parentNode.insertBefore(fragment,=0A= this.element.nextSibling);=0A= }).bind(this));=0A= }=0A= });=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Element.ClassNames =3D Class.create();=0A= Element.ClassNames.prototype =3D {=0A= initialize: function(element) {=0A= this.element =3D $(element);=0A= },=0A= =0A= _each: function(iterator) {=0A= this.element.className.split(/\s+/).select(function(name) {=0A= return name.length > 0;=0A= })._each(iterator);=0A= },=0A= =0A= set: function(className) {=0A= this.element.className =3D className;=0A= },=0A= =0A= add: function(classNameToAdd) {=0A= if (this.include(classNameToAdd)) return;=0A= this.set($A(this).concat(classNameToAdd).join(' '));=0A= },=0A= =0A= remove: function(classNameToRemove) {=0A= if (!this.include(classNameToRemove)) return;=0A= this.set($A(this).without(classNameToRemove).join(' '));=0A= },=0A= =0A= toString: function() {=0A= return $A(this).join(' ');=0A= }=0A= };=0A= =0A= Object.extend(Element.ClassNames.prototype, Enumerable);=0A= var Selector =3D Class.create();=0A= Selector.prototype =3D {=0A= initialize: function(expression) {=0A= this.params =3D {classNames: []};=0A= this.expression =3D expression.toString().strip();=0A= this.parseExpression();=0A= this.compileMatcher();=0A= },=0A= =0A= parseExpression: function() {=0A= function abort(message) { throw 'Parse error in selector: ' + = message; }=0A= =0A= if (this.expression =3D=3D '') abort('empty expression');=0A= =0A= var params =3D this.params, expr =3D this.expression, match, = modifier, clause, rest;=0A= while (match =3D = expr.match(/^(.*)\[([a-z0-9_:-]+?)(?:([~\|!]?=3D)(?:"([^"]*)"|([^\]\s]*))= )?\]$/i)) {=0A= params.attributes =3D params.attributes || [];=0A= params.attributes.push({name: match[2], operator: match[3], value: = match[4] || match[5] || ''});=0A= expr =3D match[1];=0A= }=0A= =0A= if (expr =3D=3D '*') return this.params.wildcard =3D true;=0A= =0A= while (match =3D expr.match(/^([^a-z0-9_-])?([a-z0-9_-]+)(.*)/i)) {=0A= modifier =3D match[1], clause =3D match[2], rest =3D match[3];=0A= switch (modifier) {=0A= case '#': params.id =3D clause; break;=0A= case '.': params.classNames.push(clause); break;=0A= case '':=0A= case undefined: params.tagName =3D clause.toUpperCase(); break;=0A= default: abort(expr.inspect());=0A= }=0A= expr =3D rest;=0A= }=0A= =0A= if (expr.length > 0) abort(expr.inspect());=0A= },=0A= =0A= buildMatchExpression: function() {=0A= var params =3D this.params, conditions =3D [], clause;=0A= =0A= if (params.wildcard)=0A= conditions.push('true');=0A= if (clause =3D params.id)=0A= conditions.push('element.readAttribute("id") =3D=3D ' + = clause.inspect());=0A= if (clause =3D params.tagName)=0A= conditions.push('element.tagName.toUpperCase() =3D=3D ' + = clause.inspect());=0A= if ((clause =3D params.classNames).length > 0)=0A= for (var i =3D 0, length =3D clause.length; i < length; i++)=0A= conditions.push('element.hasClassName(' + clause[i].inspect() + = ')');=0A= if (clause =3D params.attributes) {=0A= clause.each(function(attribute) {=0A= var value =3D 'element.readAttribute(' + = attribute.name.inspect() + ')';=0A= var splitValueBy =3D function(delimiter) {=0A= return value + ' && ' + value + '.split(' + = delimiter.inspect() + ')';=0A= }=0A= =0A= switch (attribute.operator) {=0A= case '=3D': conditions.push(value + ' =3D=3D ' + = attribute.value.inspect()); break;=0A= case '~=3D': conditions.push(splitValueBy(' ') + = '.include(' + attribute.value.inspect() + ')'); break;=0A= case '|=3D': conditions.push(=0A= splitValueBy('-') + '.first().toUpperCase() = =3D=3D ' + attribute.value.toUpperCase().inspect()=0A= ); break;=0A= case '!=3D': conditions.push(value + ' !=3D ' + = attribute.value.inspect()); break;=0A= case '':=0A= case undefined: conditions.push('element.hasAttribute(' + = attribute.name.inspect() + ')'); break;=0A= default: throw 'Unknown operator ' + attribute.operator = + ' in selector';=0A= }=0A= });=0A= }=0A= =0A= return conditions.join(' && ');=0A= },=0A= =0A= compileMatcher: function() {=0A= this.match =3D new Function('element', 'if (!element.tagName) return = false; \=0A= element =3D $(element); \=0A= return ' + this.buildMatchExpression());=0A= },=0A= =0A= findElements: function(scope) {=0A= var element;=0A= =0A= if (element =3D $(this.params.id))=0A= if (this.match(element))=0A= if (!scope || Element.childOf(element, scope))=0A= return [element];=0A= =0A= scope =3D (scope || = document).getElementsByTagName(this.params.tagName || '*');=0A= =0A= var results =3D [];=0A= for (var i =3D 0, length =3D scope.length; i < length; i++)=0A= if (this.match(element =3D scope[i]))=0A= results.push(Element.extend(element));=0A= =0A= return results;=0A= },=0A= =0A= toString: function() {=0A= return this.expression;=0A= }=0A= }=0A= =0A= Object.extend(Selector, {=0A= matchElements: function(elements, expression) {=0A= var selector =3D new Selector(expression);=0A= return = elements.select(selector.match.bind(selector)).map(Element.extend);=0A= },=0A= =0A= findElement: function(elements, expression, index) {=0A= if (typeof expression =3D=3D 'number') index =3D expression, = expression =3D false;=0A= return Selector.matchElements(elements, expression || '*')[index || = 0];=0A= },=0A= =0A= findChildElements: function(element, expressions) {=0A= return expressions.map(function(expression) {=0A= return = expression.match(/[^\s"]+(?:"[^"]*"[^\s"]+)*/g).inject([null], = function(results, expr) {=0A= var selector =3D new Selector(expr);=0A= return results.inject([], function(elements, result) {=0A= return elements.concat(selector.findElements(result || = element));=0A= });=0A= });=0A= }).flatten();=0A= }=0A= });=0A= =0A= function $$() {=0A= return Selector.findChildElements(document, $A(arguments));=0A= }=0A= var Form =3D {=0A= reset: function(form) {=0A= $(form).reset();=0A= return form;=0A= },=0A= =0A= serializeElements: function(elements, getHash) {=0A= var data =3D elements.inject({}, function(result, element) {=0A= if (!element.disabled && element.name) {=0A= var key =3D element.name, value =3D $(element).getValue();=0A= if (value !=3D undefined) {=0A= if (result[key]) {=0A= if (result[key].constructor !=3D Array) result[key] =3D = [result[key]];=0A= result[key].push(value);=0A= }=0A= else result[key] =3D value;=0A= }=0A= }=0A= return result;=0A= });=0A= =0A= return getHash ? data : Hash.toQueryString(data);=0A= }=0A= };=0A= =0A= Form.Methods =3D {=0A= serialize: function(form, getHash) {=0A= return Form.serializeElements(Form.getElements(form), getHash);=0A= },=0A= =0A= getElements: function(form) {=0A= return $A($(form).getElementsByTagName('*')).inject([],=0A= function(elements, child) {=0A= if (Form.Element.Serializers[child.tagName.toLowerCase()])=0A= elements.push(Element.extend(child));=0A= return elements;=0A= }=0A= );=0A= },=0A= =0A= getInputs: function(form, typeName, name) {=0A= form =3D $(form);=0A= var inputs =3D form.getElementsByTagName('input');=0A= =0A= if (!typeName && !name) return $A(inputs).map(Element.extend);=0A= =0A= for (var i =3D 0, matchingInputs =3D [], length =3D inputs.length; i = < length; i++) {=0A= var input =3D inputs[i];=0A= if ((typeName && input.type !=3D typeName) || (name && input.name = !=3D name))=0A= continue;=0A= matchingInputs.push(Element.extend(input));=0A= }=0A= =0A= return matchingInputs;=0A= },=0A= =0A= disable: function(form) {=0A= form =3D $(form);=0A= form.getElements().each(function(element) {=0A= element.blur();=0A= element.disabled =3D 'true';=0A= });=0A= return form;=0A= },=0A= =0A= enable: function(form) {=0A= form =3D $(form);=0A= form.getElements().each(function(element) {=0A= element.disabled =3D '';=0A= });=0A= return form;=0A= },=0A= =0A= findFirstElement: function(form) {=0A= return $(form).getElements().find(function(element) {=0A= return element.type !=3D 'hidden' && !element.disabled &&=0A= ['input', 'select', = 'textarea'].include(element.tagName.toLowerCase());=0A= });=0A= },=0A= =0A= focusFirstElement: function(form) {=0A= form =3D $(form);=0A= form.findFirstElement().activate();=0A= return form;=0A= }=0A= }=0A= =0A= Object.extend(Form, Form.Methods);=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Form.Element =3D {=0A= focus: function(element) {=0A= $(element).focus();=0A= return element;=0A= },=0A= =0A= select: function(element) {=0A= $(element).select();=0A= return element;=0A= }=0A= }=0A= =0A= Form.Element.Methods =3D {=0A= serialize: function(element) {=0A= element =3D $(element);=0A= if (!element.disabled && element.name) {=0A= var value =3D element.getValue();=0A= if (value !=3D undefined) {=0A= var pair =3D {};=0A= pair[element.name] =3D value;=0A= return Hash.toQueryString(pair);=0A= }=0A= }=0A= return '';=0A= },=0A= =0A= getValue: function(element) {=0A= element =3D $(element);=0A= var method =3D element.tagName.toLowerCase();=0A= return Form.Element.Serializers[method](element);=0A= },=0A= =0A= clear: function(element) {=0A= $(element).value =3D '';=0A= return element;=0A= },=0A= =0A= present: function(element) {=0A= return $(element).value !=3D '';=0A= },=0A= =0A= activate: function(element) {=0A= element =3D $(element);=0A= element.focus();=0A= if (element.select && ( element.tagName.toLowerCase() !=3D 'input' ||=0A= !['button', 'reset', 'submit'].include(element.type) ) )=0A= element.select();=0A= return element;=0A= },=0A= =0A= disable: function(element) {=0A= element =3D $(element);=0A= element.disabled =3D true;=0A= return element;=0A= },=0A= =0A= enable: function(element) {=0A= element =3D $(element);=0A= element.blur();=0A= element.disabled =3D false;=0A= return element;=0A= }=0A= }=0A= =0A= Object.extend(Form.Element, Form.Element.Methods);=0A= var Field =3D Form.Element;=0A= var $F =3D Form.Element.getValue;=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Form.Element.Serializers =3D {=0A= input: function(element) {=0A= switch (element.type.toLowerCase()) {=0A= case 'checkbox':=0A= case 'radio':=0A= return Form.Element.Serializers.inputSelector(element);=0A= default:=0A= return Form.Element.Serializers.textarea(element);=0A= }=0A= },=0A= =0A= inputSelector: function(element) {=0A= return element.checked ? element.value : null;=0A= },=0A= =0A= textarea: function(element) {=0A= return element.value;=0A= },=0A= =0A= select: function(element) {=0A= return this[element.type =3D=3D 'select-one' ?=0A= 'selectOne' : 'selectMany'](element);=0A= },=0A= =0A= selectOne: function(element) {=0A= var index =3D element.selectedIndex;=0A= return index >=3D 0 ? this.optionValue(element.options[index]) : = null;=0A= },=0A= =0A= selectMany: function(element) {=0A= var values, length =3D element.length;=0A= if (!length) return null;=0A= =0A= for (var i =3D 0, values =3D []; i < length; i++) {=0A= var opt =3D element.options[i];=0A= if (opt.selected) values.push(this.optionValue(opt));=0A= }=0A= return values;=0A= },=0A= =0A= optionValue: function(opt) {=0A= // extend element because hasAttribute may not be native=0A= return Element.extend(opt).hasAttribute('value') ? opt.value : = opt.text;=0A= }=0A= }=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Abstract.TimedObserver =3D function() {}=0A= Abstract.TimedObserver.prototype =3D {=0A= initialize: function(element, frequency, callback) {=0A= this.frequency =3D frequency;=0A= this.element =3D $(element);=0A= this.callback =3D callback;=0A= =0A= this.lastValue =3D this.getValue();=0A= this.registerCallback();=0A= },=0A= =0A= registerCallback: function() {=0A= setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);=0A= },=0A= =0A= onTimerEvent: function() {=0A= var value =3D this.getValue();=0A= var changed =3D ('string' =3D=3D typeof this.lastValue && 'string' = =3D=3D typeof value=0A= ? this.lastValue !=3D value : String(this.lastValue) !=3D = String(value));=0A= if (changed) {=0A= this.callback(this.element, value);=0A= this.lastValue =3D value;=0A= }=0A= }=0A= }=0A= =0A= Form.Element.Observer =3D Class.create();=0A= Form.Element.Observer.prototype =3D Object.extend(new = Abstract.TimedObserver(), {=0A= getValue: function() {=0A= return Form.Element.getValue(this.element);=0A= }=0A= });=0A= =0A= Form.Observer =3D Class.create();=0A= Form.Observer.prototype =3D Object.extend(new Abstract.TimedObserver(), {=0A= getValue: function() {=0A= return Form.serialize(this.element);=0A= }=0A= });=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Abstract.EventObserver =3D function() {}=0A= Abstract.EventObserver.prototype =3D {=0A= initialize: function(element, callback) {=0A= this.element =3D $(element);=0A= this.callback =3D callback;=0A= =0A= this.lastValue =3D this.getValue();=0A= if (this.element.tagName.toLowerCase() =3D=3D 'form')=0A= this.registerFormCallbacks();=0A= else=0A= this.registerCallback(this.element);=0A= },=0A= =0A= onElementEvent: function() {=0A= var value =3D this.getValue();=0A= if (this.lastValue !=3D value) {=0A= this.callback(this.element, value);=0A= this.lastValue =3D value;=0A= }=0A= },=0A= =0A= registerFormCallbacks: function() {=0A= = Form.getElements(this.element).each(this.registerCallback.bind(this));=0A= },=0A= =0A= registerCallback: function(element) {=0A= if (element.type) {=0A= switch (element.type.toLowerCase()) {=0A= case 'checkbox':=0A= case 'radio':=0A= Event.observe(element, 'click', = this.onElementEvent.bind(this));=0A= break;=0A= default:=0A= Event.observe(element, 'change', = this.onElementEvent.bind(this));=0A= break;=0A= }=0A= }=0A= }=0A= }=0A= =0A= Form.Element.EventObserver =3D Class.create();=0A= Form.Element.EventObserver.prototype =3D Object.extend(new = Abstract.EventObserver(), {=0A= getValue: function() {=0A= return Form.Element.getValue(this.element);=0A= }=0A= });=0A= =0A= Form.EventObserver =3D Class.create();=0A= Form.EventObserver.prototype =3D Object.extend(new = Abstract.EventObserver(), {=0A= getValue: function() {=0A= return Form.serialize(this.element);=0A= }=0A= });=0A= if (!window.Event) {=0A= var Event =3D new Object();=0A= }=0A= =0A= Object.extend(Event, {=0A= KEY_BACKSPACE: 8,=0A= KEY_TAB: 9,=0A= KEY_RETURN: 13,=0A= KEY_ESC: 27,=0A= KEY_LEFT: 37,=0A= KEY_UP: 38,=0A= KEY_RIGHT: 39,=0A= KEY_DOWN: 40,=0A= KEY_DELETE: 46,=0A= KEY_HOME: 36,=0A= KEY_END: 35,=0A= KEY_PAGEUP: 33,=0A= KEY_PAGEDOWN: 34,=0A= =0A= element: function(event) {=0A= return event.target || event.srcElement;=0A= },=0A= =0A= isLeftClick: function(event) {=0A= return (((event.which) && (event.which =3D=3D 1)) ||=0A= ((event.button) && (event.button =3D=3D 1)));=0A= },=0A= =0A= pointerX: function(event) {=0A= return event.pageX || (event.clientX +=0A= (document.documentElement.scrollLeft || document.body.scrollLeft));=0A= },=0A= =0A= pointerY: function(event) {=0A= return event.pageY || (event.clientY +=0A= (document.documentElement.scrollTop || document.body.scrollTop));=0A= },=0A= =0A= stop: function(event) {=0A= if (event.preventDefault) {=0A= event.preventDefault();=0A= event.stopPropagation();=0A= } else {=0A= event.returnValue =3D false;=0A= event.cancelBubble =3D true;=0A= }=0A= },=0A= =0A= // find the first node with the given tagName, starting from the=0A= // node the event was triggered on; traverses the DOM upwards=0A= findElement: function(event, tagName) {=0A= var element =3D Event.element(event);=0A= while (element.parentNode && (!element.tagName ||=0A= (element.tagName.toUpperCase() !=3D tagName.toUpperCase())))=0A= element =3D element.parentNode;=0A= return element;=0A= },=0A= =0A= observers: false,=0A= =0A= _observeAndCache: function(element, name, observer, useCapture) {=0A= if (!this.observers) this.observers =3D [];=0A= if (element.addEventListener) {=0A= this.observers.push([element, name, observer, useCapture]);=0A= element.addEventListener(name, observer, useCapture);=0A= } else if (element.attachEvent) {=0A= this.observers.push([element, name, observer, useCapture]);=0A= element.attachEvent('on' + name, observer);=0A= }=0A= },=0A= =0A= unloadCache: function() {=0A= if (!Event.observers) return;=0A= for (var i =3D 0, length =3D Event.observers.length; i < length; = i++) {=0A= Event.stopObserving.apply(this, Event.observers[i]);=0A= Event.observers[i][0] =3D null;=0A= }=0A= Event.observers =3D false;=0A= },=0A= =0A= observe: function(element, name, observer, useCapture) {=0A= element =3D $(element);=0A= useCapture =3D useCapture || false;=0A= =0A= if (name =3D=3D 'keypress' &&=0A= (navigator.appVersion.match(/Konqueror|Safari|KHTML/)=0A= || element.attachEvent))=0A= name =3D 'keydown';=0A= =0A= Event._observeAndCache(element, name, observer, useCapture);=0A= },=0A= =0A= stopObserving: function(element, name, observer, useCapture) {=0A= element =3D $(element);=0A= useCapture =3D useCapture || false;=0A= =0A= if (name =3D=3D 'keypress' &&=0A= (navigator.appVersion.match(/Konqueror|Safari|KHTML/)=0A= || element.detachEvent))=0A= name =3D 'keydown';=0A= =0A= if (element.removeEventListener) {=0A= element.removeEventListener(name, observer, useCapture);=0A= } else if (element.detachEvent) {=0A= try {=0A= element.detachEvent('on' + name, observer);=0A= } catch (e) {}=0A= }=0A= }=0A= });=0A= =0A= /* prevent memory leaks in IE */=0A= if (navigator.appVersion.match(/\bMSIE\b/))=0A= Event.observe(window, 'unload', Event.unloadCache, false);=0A= var Position =3D {=0A= // set to true if needed, warning: firefox performance problems=0A= // NOT neeeded for page scrolling, only if draggable contained in=0A= // scrollable elements=0A= includeScrollOffsets: false,=0A= =0A= // must be called before calling withinIncludingScrolloffset, every = time the=0A= // page is scrolled=0A= prepare: function() {=0A= this.deltaX =3D window.pageXOffset=0A= || document.documentElement.scrollLeft=0A= || document.body.scrollLeft=0A= || 0;=0A= this.deltaY =3D window.pageYOffset=0A= || document.documentElement.scrollTop=0A= || document.body.scrollTop=0A= || 0;=0A= },=0A= =0A= realOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.scrollTop || 0;=0A= valueL +=3D element.scrollLeft || 0;=0A= element =3D element.parentNode;=0A= } while (element);=0A= return [valueL, valueT];=0A= },=0A= =0A= cumulativeOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= element =3D element.offsetParent;=0A= } while (element);=0A= return [valueL, valueT];=0A= },=0A= =0A= positionedOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= element =3D element.offsetParent;=0A= if (element) {=0A= if(element.tagName=3D=3D'BODY') break;=0A= var p =3D Element.getStyle(element, 'position');=0A= if (p =3D=3D 'relative' || p =3D=3D 'absolute') break;=0A= }=0A= } while (element);=0A= return [valueL, valueT];=0A= },=0A= =0A= offsetParent: function(element) {=0A= if (element.offsetParent) return element.offsetParent;=0A= if (element =3D=3D document.body) return element;=0A= =0A= while ((element =3D element.parentNode) && element !=3D = document.body)=0A= if (Element.getStyle(element, 'position') !=3D 'static')=0A= return element;=0A= =0A= return document.body;=0A= },=0A= =0A= // caches x/y coordinate pair to use with overlap=0A= within: function(element, x, y) {=0A= if (this.includeScrollOffsets)=0A= return this.withinIncludingScrolloffsets(element, x, y);=0A= this.xcomp =3D x;=0A= this.ycomp =3D y;=0A= this.offset =3D this.cumulativeOffset(element);=0A= =0A= return (y >=3D this.offset[1] &&=0A= y < this.offset[1] + element.offsetHeight &&=0A= x >=3D this.offset[0] &&=0A= x < this.offset[0] + element.offsetWidth);=0A= },=0A= =0A= withinIncludingScrolloffsets: function(element, x, y) {=0A= var offsetcache =3D this.realOffset(element);=0A= =0A= this.xcomp =3D x + offsetcache[0] - this.deltaX;=0A= this.ycomp =3D y + offsetcache[1] - this.deltaY;=0A= this.offset =3D this.cumulativeOffset(element);=0A= =0A= return (this.ycomp >=3D this.offset[1] &&=0A= this.ycomp < this.offset[1] + element.offsetHeight &&=0A= this.xcomp >=3D this.offset[0] &&=0A= this.xcomp < this.offset[0] + element.offsetWidth);=0A= },=0A= =0A= // within must be called directly before=0A= overlap: function(mode, element) {=0A= if (!mode) return 0;=0A= if (mode =3D=3D 'vertical')=0A= return ((this.offset[1] + element.offsetHeight) - this.ycomp) /=0A= element.offsetHeight;=0A= if (mode =3D=3D 'horizontal')=0A= return ((this.offset[0] + element.offsetWidth) - this.xcomp) /=0A= element.offsetWidth;=0A= },=0A= =0A= page: function(forElement) {=0A= var valueT =3D 0, valueL =3D 0;=0A= =0A= var element =3D forElement;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= =0A= // Safari fix=0A= if (element.offsetParent=3D=3Ddocument.body)=0A= if (Element.getStyle(element,'position')=3D=3D'absolute') break;=0A= =0A= } while (element =3D element.offsetParent);=0A= =0A= element =3D forElement;=0A= do {=0A= if (!window.opera || element.tagName=3D=3D'BODY') {=0A= valueT -=3D element.scrollTop || 0;=0A= valueL -=3D element.scrollLeft || 0;=0A= }=0A= } while (element =3D element.parentNode);=0A= =0A= return [valueL, valueT];=0A= },=0A= =0A= clone: function(source, target) {=0A= var options =3D Object.extend({=0A= setLeft: true,=0A= setTop: true,=0A= setWidth: true,=0A= setHeight: true,=0A= offsetTop: 0,=0A= offsetLeft: 0=0A= }, arguments[2] || {})=0A= =0A= // find page position of source=0A= source =3D $(source);=0A= var p =3D Position.page(source);=0A= =0A= // find coordinate system to use=0A= target =3D $(target);=0A= var delta =3D [0, 0];=0A= var parent =3D null;=0A= // delta [0,0] will do fine with position: fixed elements,=0A= // position:absolute needs offsetParent deltas=0A= if (Element.getStyle(target,'position') =3D=3D 'absolute') {=0A= parent =3D Position.offsetParent(target);=0A= delta =3D Position.page(parent);=0A= }=0A= =0A= // correct by body offsets (fixes Safari)=0A= if (parent =3D=3D document.body) {=0A= delta[0] -=3D document.body.offsetLeft;=0A= delta[1] -=3D document.body.offsetTop;=0A= }=0A= =0A= // set position=0A= if(options.setLeft) target.style.left =3D (p[0] - delta[0] + = options.offsetLeft) + 'px';=0A= if(options.setTop) target.style.top =3D (p[1] - delta[1] + = options.offsetTop) + 'px';=0A= if(options.setWidth) target.style.width =3D source.offsetWidth + = 'px';=0A= if(options.setHeight) target.style.height =3D source.offsetHeight + = 'px';=0A= },=0A= =0A= absolutize: function(element) {=0A= element =3D $(element);=0A= if (element.style.position =3D=3D 'absolute') return;=0A= Position.prepare();=0A= =0A= var offsets =3D Position.positionedOffset(element);=0A= var top =3D offsets[1];=0A= var left =3D offsets[0];=0A= var width =3D element.clientWidth;=0A= var height =3D element.clientHeight;=0A= =0A= element._originalLeft =3D left - parseFloat(element.style.left || = 0);=0A= element._originalTop =3D top - parseFloat(element.style.top || = 0);=0A= element._originalWidth =3D element.style.width;=0A= element._originalHeight =3D element.style.height;=0A= =0A= element.style.position =3D 'absolute';=0A= element.style.top =3D top + 'px';=0A= element.style.left =3D left + 'px';=0A= element.style.width =3D width + 'px';=0A= element.style.height =3D height + 'px';=0A= },=0A= =0A= relativize: function(element) {=0A= element =3D $(element);=0A= if (element.style.position =3D=3D 'relative') return;=0A= Position.prepare();=0A= =0A= element.style.position =3D 'relative';=0A= var top =3D parseFloat(element.style.top || 0) - = (element._originalTop || 0);=0A= var left =3D parseFloat(element.style.left || 0) - = (element._originalLeft || 0);=0A= =0A= element.style.top =3D top + 'px';=0A= element.style.left =3D left + 'px';=0A= element.style.height =3D element._originalHeight;=0A= element.style.width =3D element._originalWidth;=0A= }=0A= }=0A= =0A= // Safari returns margins on body which is incorrect if the child is = absolutely=0A= // positioned. For performance reasons, redefine = Position.cumulativeOffset for=0A= // KHTML/WebKit only.=0A= if (/Konqueror|Safari|KHTML/.test(navigator.userAgent)) {=0A= Position.cumulativeOffset =3D function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= if (element.offsetParent =3D=3D document.body)=0A= if (Element.getStyle(element, 'position') =3D=3D 'absolute') = break;=0A= =0A= element =3D element.offsetParent;=0A= } while (element);=0A= =0A= return [valueL, valueT];=0A= }=0A= }=0A= =0A= Element.addMethods(); ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.blueridgenow.com/includes/js/scriptaculous.js // script.aculo.us scriptaculous.js v1.7.0, Fri Jan 19 19:16:36 CET 2007=0A= =0A= // Copyright (c) 2005, 2006 Thomas Fuchs (http://script.aculo.us, = http://mir.aculo.us)=0A= // =0A= // Permission is hereby granted, free of charge, to any person obtaining=0A= // a copy of this software and associated documentation files (the=0A= // "Software"), to deal in the Software without restriction, including=0A= // without limitation the rights to use, copy, modify, merge, publish,=0A= // distribute, sublicense, and/or sell copies of the Software, and to=0A= // permit persons to whom the Software is furnished to do so, subject to=0A= // the following conditions:=0A= // =0A= // The above copyright notice and this permission notice shall be=0A= // included in all copies or substantial portions of the Software.=0A= //=0A= // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,=0A= // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF=0A= // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND=0A= // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE=0A= // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION=0A= // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION=0A= // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.=0A= //=0A= // For details, see the script.aculo.us web site: http://script.aculo.us/=0A= =0A= var Scriptaculous =3D {=0A= Version: '1.7.0',=0A= require: function(libraryName) {=0A= // inserting via DOM fails in Safari 2.0, so brute force approach=0A= document.write('');=0A= },=0A= load: function() {=0A= if((typeof Prototype=3D=3D'undefined') || =0A= (typeof Element =3D=3D 'undefined') || =0A= (typeof Element.Methods=3D=3D'undefined') ||=0A= parseFloat(Prototype.Version.split(".")[0] + "." +=0A= Prototype.Version.split(".")[1]) < 1.5)=0A= throw("script.aculo.us requires the Prototype JavaScript = framework >=3D 1.5.0");=0A= =0A= $A(document.getElementsByTagName("script")).findAll( function(s) {=0A= return (s.src && s.src.match(/scriptaculous\.js(\?.*)?$/))=0A= }).each( function(s) {=0A= var path =3D s.src.replace(/scriptaculous\.js(\?.*)?$/,'');=0A= var includes =3D s.src.match(/\?.*load=3D([a-z,]*)/);=0A= (includes ? includes[1] : = 'builder,effects,dragdrop,controls,slider').split(',').each(=0A= function(include) { Scriptaculous.require(path+include+'.js') });=0A= });=0A= }=0A= }=0A= =0A= Scriptaculous.load(); ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.blueridgenow.com/includes/js/articletools.js //---------------------------------------- // // Article Tools javascript // created for NYTRNG // //---------------------------------------- // toolsToggle // Used for animated slidedown options on article tools (requires = prototype and scriptaculous) function toolsToggle( element, ID, imgName ){ new Effect.toggle(ID, 'blind', {duration: .2}); if($(ID).style.display =3D=3D 'none'){ element.getElementsByTagName('img')[0].src =3D = '/graphics/article_tools/'+imgName+'2.gif'; }else{ element.getElementsByTagName('img')[0].src =3D = '/graphics/article_tools/'+imgName+'.gif'; } } // emailArticle // AJAX request that emails an article to someone function emailArticle( url, permalink, title, category, categoryid, = from, fromemail, toemail){ =09 // if all boxes not filled in, display error and quit if(!from || !fromemail || !toemail){ Element.show('email_warning'); return; }else{ Element.hide('email_warning'); } =09 // shows loading image Element.show('email_loading'); =09 // disables form elements Form.disable('email_article_form'); =09 // creates vars to be passed var vars =3D 'link=3D' + permalink; vars +=3D '&tittel=3D' + title; vars +=3D '&articlecategory=3D' + category; vars +=3D '&categoryid=3D' + categoryid; vars +=3D '&from=3D' + from; vars +=3D '&fromemail=3D' + fromemail; vars +=3D '&to=3D' + toemail; vars +=3D '&title=3D' + from + ' wants to show you an article from = BlueRidgeNow.com'; =09 //alert(vars); var myAjax =3D new Ajax.Request( url,=20 { method: 'post',=20 parameters: vars,=20 onComplete: emailArticleComplete }); =09 function emailArticleComplete(originalRequest){ =09 // closes email toolbox if($('email_article').style.display !=3D 'none'){ new Effect.toggle('email_article', 'blind', {duration: .2}); var element =3D = $('email_article_link').getElementsByTagName('img')[0]; element.src =3D '/graphics/article_tools/email.gif'; } // shows loading image Element.hide('email_loading'); =09 // re-enables and clears form elements Form.enable('email_article_form'); Form.reset('email_article_form'); } } // enlargeText // enlarges/shrinks text in `articleText` DIV function enlargeText(element){ if( Element.getStyle('articleText', 'fontSize') =3D=3D '16px' ){ $('articleText').style.fontSize =3D '12px'; element.innerHTML =3D '3D""LARGE TEXT'; }else{ $('articleText').style.fontSize =3D '16px'; element.innerHTML =3D '3D""SMALL TEXT'; } } ------=_NextPart_000_0097_01C8ECAD.F42D0E70 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://admin.brightcove.com/js/experience_util.js var playerIndex; var flashId; function createExperience(config, flashVersion) { // default version to 7 for backwards compatability if (flashVersion =3D=3D undefined) var flashVersion =3D 7; // Config parameters to pass into the SWF file. var servicesURL =3D "http://services.brightcove.com/services"; var viewerSecureGatewayURL =3D = "https://console.brightcove.com/services/amfgateway"; var cdnURL =3D "http://admin.brightcove.com"; var bgcolor =3D config["preloadBackColor"]; var externalAds =3D (typeof(playAd) !=3D "undefined"); var sendReports =3D (typeof(reportEvent) !=3D "undefined"); =20 var width =3D config["width"]; var height =3D config["height"]; if (width =3D=3D null) { width =3D "100%"; =20 } if (height =3D=3D null) { height =3D "100%"; =20 } //specify version required Flash version if (config["requireFlash8"] || flashVersion =3D=3D 8){ requiredMajorVersion =3D 8; } else{ //mac requires flash 8 requiredMajorVersion =3D 7; var isMac =3D navigator.appVersion.toLowerCase().indexOf("mac") > 0; if (isMac) requiredMajorVersion =3D 8; } var requiredMinorVersion =3D 0; var requiredRevision =3D 0; =20 var hasRightVersion =3D = DetectFlashVer(requiredMajorVersion,requiredMinorVersion,requiredRevision= ); if(hasRightVersion) {=20 =20 var pid =3D getParameter("bcpid"); if(pid.length < 1 || (pid =3D=3D config["playerId"])) { var titleParam =3D getParameter("bctid"); if (titleParam.length > 0) { config["videoId"] =3D titleParam; config["autoStart"] =3D true; config["fromLink"] =3D true; } var lineupParam =3D getParameter("bclid"); if (lineupParam.length > 0) { config["lineupId"] =3D lineupParam; } } =20 if (playerIndex =3D=3D undefined){ playerIndex =3D 0; }else{ playerIndex++; }=09 if (config["flashId"] =3D=3D undefined) { flashId =3D "flashObj" + playerIndex; } else { flashId =3D escapeValue(config["flashId"]) + playerIndex; } var configItems =3D ""; for (var i in config) { if (i =3D=3D "flashId") continue; if (typeof(config[i]) =3D=3D "function" || typeof(config[i]) = =3D=3D "object") continue; =20 configItems +=3D "&" + i + "=3D" + escapeValue(config[i]); } // Hook for Internet Explorer. if (navigator.appName && navigator.appName.indexOf("Microsoft") !=3D = -1 && navigator.userAgent.indexOf("Windows") !=3D -1 && = navigator.userAgent.indexOf("Windows 3.1") =3D=3D -1) { document.write('