Content-Type: multipart/related; start=<op.mhtml.1267119627140.01cd08527f460c13@172.16.2.245>; boundary=----------ovrp3U8y8KC3rcvqsh3ZpB
Content-Location: http://www.psychologytoday.com/print/38617
Subject: =?utf-8?Q?Mother=20Guilty=20of=20Murder--Pediatric=20Bipolar=20Disorder=20Innocent?=
MIME-Version: 1.0

------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=38617.htm
Content-Type: text/html; charset=utf-8; name=38617.htm
Content-ID: <op.mhtml.1267119627140.01cd08527f460c13@172.16.2.245>
Content-Location: http://www.psychologytoday.com/print/38617
Content-Transfer-Encoding: Quoted-Printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.=
org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en-US" xml:lang=3D"=
en-US">
  <head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dutf-8"=
 />
    <title>Mother Guilty of Murder--Pediatric Bipolar Disorder Innocent<=
/title>
    <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dut=
f-8" />
    <script type=3D"text/javascript" src=3D"/misc/jquery.js?D"></script>=

<script type=3D"text/javascript" src=3D"/misc/drupal.js?D"></script>
<script type=3D"text/javascript" src=3D"/sites/all/modules/contrib/light=
box2/js/lightbox.js?D"></script>
<script type=3D"text/javascript" src=3D"/sites/all/modules/contrib/nice_=
menus/nice_menus.js?D"></script>
<script type=3D"text/javascript" src=3D"/sites/all/modules/contrib/pngfi=
x/jquery.pngFix.js?D"></script>
<script type=3D"text/javascript" src=3D"/sites/all/modules/pt/pt_content=
/pt-conditions-widget.js?D"></script>
<script type=3D"text/javascript" src=3D"/sites/all/modules/contrib/extli=
nk/extlink.js?D"></script>
<script type=3D"text/javascript" src=3D"/sites/all/themes/pt_www/pt_www.=
js?D"></script>
<script type=3D"text/javascript">
<!--//--><![CDATA[//><!--
jQuery.extend(Drupal.settings, { "basePath": "/", "googleanalytics": { "=
trackOutgoing": 1, "trackMailto": 1, "trackDownload": 1, "trackDownloadE=
xtensions": "7z|aac|avi|csv|doc|exe|flv|gif|gz|jpe?g|js|mp(3|4|e?g)|mov|=
pdf|phps|png|ppt|rar|sit|tar|torrent|txt|wma|wmv|xls|xml|zip" }, "lightb=
ox2": { "rtl": 0, "file_path": "/(\\w\\w/)files", "default_image": "/sit=
es/all/modules/contrib/lightbox2/images/brokenimage.jpg", "border_size":=
 "10", "font_color": "000", "box_color": "fff", "top_position": "", "ove=
rlay_opacity": "0.8", "overlay_color": "000", "disable_close_click": 1, =
"resize_sequence": "0", "resize_speed": 400, "fade_in_speed": 400, "slid=
e_down_speed": 600, "use_alt_layout": 0, "disable_resize": 0, "disable_z=
oom": 1, "force_show_nav": 1, "loop_items": 0, "node_link_text": "", "no=
de_link_target": "_blank", "image_count": "Image !current of !total", "v=
ideo_count": "Video !current of !total", "page_count": "Page !current of=
 !total", "lite_press_x_close": "press \x3ca href=3D\"#\" onclick=3D\"hi=
deLightbox(); return FALSE;\"\x3e\x3ckbd\x3ex\x3c/kbd\x3e\x3c/a\x3e to c=
lose", "download_link_text": "", "enable_login": false, "enable_contact"=
: false, "keys_close": "c x 27", "keys_previous": "p 37", "keys_next": "=
n 39", "keys_zoom": "z", "keys_play_pause": "32", "display_image_size": =
"", "image_node_sizes": "()", "trigger_lightbox_classes": "", "trigger_l=
ightbox_group_classes": "", "trigger_slideshow_classes": "", "trigger_li=
ghtframe_classes": "", "trigger_lightframe_group_classes": "", "custom_c=
lass_handler": 0, "custom_trigger_classes": "", "disable_for_gallery_lis=
ts": true, "disable_for_acidfree_gallery_lists": true, "enable_acidfree_=
videos": true, "slideshow_interval": 5000, "slideshow_automatic_start": =
true, "slideshow_automatic_exit": true, "show_play_pause": true, "pause_=
on_next_click": false, "pause_on_previous_click": true, "loop_slides": f=
alse, "iframe_width": 600, "iframe_height": 400, "iframe_border": 1, "en=
able_video": 0 }, "extlink": { "extTarget": "_blank", "extClass": "ext",=
 "extSubdomains": 1, "extExclude": "(psychologytoday\\.psychtests\\.com)=
|(psychologytoday\\.tests\\.psychtests\\.com)|(healthprofs\\.com)|(build=
ingpros\\.com)|(sussexdirectories\\.com)|(argifocus\\.com)|(psychologyto=
day\\.com)|(www.neodata\\.com)|(www2.neodata\\.com)", "extInclude": "", =
"extAlert": 0, "extAlertText": "This link will take you to an external w=
eb site. We are not responsible for their content.", "mailtoClass": "mai=
lto" }, "pt_stats": { "node_print": { "id": "38617", "type": "node", "no=
de_type": "blog_entry", "uid": "56" } } });
//--><!]]>
</script>
<script type=3D"text/javascript">
<!--//--><![CDATA[//><!--
$(document).ready(function(){ $('.author-image,.ui-tabs-panel,#feature-t=
abs-overlay-container,.node-feature,.pngfix').pngFix(); });
//--><!]]>
</script>
    <meta name=3D'robots' content=3D'noindex, nofollow, noarchive' />
    <base href=3D'http://www.psychologytoday.com/blog/the-last-normal-ch=
ild/201002/mother-guilty-murder-pediatric-bipolar-disorder-innocent' />
    <link rel=3D'shortcut icon' href=3D'/files/pt_favicon.ico' type=3D'i=
mage/x-icon' />
    <link type=3D"text/css" rel=3D"stylesheet" media=3D"all" href=3D"/mo=
dules/book/book.css?D" />
<link type=3D"text/css" rel=3D"stylesheet" media=3D"all" href=3D"/module=
s/node/node.css?D" />
<link type=3D"text/css" rel=3D"stylesheet" media=3D"all" href=3D"/module=
s/poll/poll.css?D" />
<link type=3D"text/css" rel=3D"stylesheet" media=3D"all" href=3D"/module=
s/system/defaults.css?D" />
<link type=3D"text/css" rel=3D"stylesheet" media=3D"all" href=3D"/module=
s/system/system.css?D" />
<link type=3D"text/css" rel=3D"stylesheet" media=3D"all" href=3D"/module=
s/system/system-menus.css?D" />
<link type=3D"text/css" rel=3D"stylesheet" media=3D"all" href=3D"/module=
s/user/user.css?D" />
<link type=3D"text/css" rel=3D"stylesheet" media=3D"all" href=3D"/sites/=
all/modules/contrib/amazon/amazon.css?D" />
<link type=3D"text/css" rel=3D"stylesheet" media=3D"all" href=3D"/sites/=
all/modules/contrib/cck/theme/content-module.css?D" />
<link type=3D"text/css" rel=3D"stylesheet" media=3D"all" href=3D"/sites/=
all/modules/contrib/date/date.css?D" />
<link type=3D"text/css" rel=3D"stylesheet" media=3D"all" href=3D"/sites/=
all/modules/contrib/date/date_popup/themes/datepicker.css?D" />
<link type=3D"text/css" rel=3D"stylesheet" media=3D"all" href=3D"/sites/=
all/modules/contrib/date/date_popup/themes/timeentry.css?D" />
<link type=3D"text/css" rel=3D"stylesheet" media=3D"all" href=3D"/sites/=
all/modules/contrib/filefield/filefield.css?D" />
<link type=3D"text/css" rel=3D"stylesheet" media=3D"all" href=3D"/sites/=
all/modules/contrib/lightbox2/css/lightbox.css?D" />
<link type=3D"text/css" rel=3D"stylesheet" media=3D"all" href=3D"/sites/=
all/modules/contrib/nice_menus/nice_menus.css?D" />
<link type=3D"text/css" rel=3D"stylesheet" media=3D"all" href=3D"/sites/=
all/modules/contrib/nice_menus/nice_menus_default.css?D" />
<link type=3D"text/css" rel=3D"stylesheet" media=3D"all" href=3D"/sites/=
all/modules/contrib/extlink/extlink.css?D" />
<link type=3D"text/css" rel=3D"stylesheet" media=3D"all" href=3D"/sites/=
all/modules/contrib/cck/modules/fieldgroup/fieldgroup.css?D" />
<link type=3D"text/css" rel=3D"stylesheet" media=3D"all" href=3D"/sites/=
all/modules/contrib/print/css/print.css?D" />
  </head>
  <body>
    <div class=3D"print-site_name">Published on <em>Psychology Today</em=
> (<a href=3D"http://www.psychologytoday.com">http://www.psychologytoday=
.com</a>)</div>
    <br />
    <hr class=3D"print-hr" />
    <h1 class=3D"print-title">Mother Guilty of Murder--Pediatric Bipolar=
 Disorder Innocent</h1>
          <div class=3D"print-submitted">By <em>Lawrence Diller, M.D.</e=
m></div>
        <div class=3D"print-created">Created <em>Feb 20 2010 - 2:38pm</e=
m></div>
    <div class=3D"print-content"><a href=3D"/basics/laughter" title=3D"P=
sychology Today looks at Laughter" class=3D"pt-basics-link"> </a><p>On F=
ebruary 9th a jury at the Plymouth Superior Court in Massachusetts convi=
cted Carolyn Riley of second degree murder of her daughter, Rebecca, a 4=
 year old, who died three years ago.  Rebecca's father, Michael, will be=
 tried separately for first degree murder next month.  A county coroner =
determined an overdose of the <a href=3D"/basics/psychopharmacology" tit=
le=3D"Psychology Today looks at Psychopharmacology" class=3D"pt-basics-l=
ink">medication</a>, clonidine obtained from a child psychiatrist, cause=
d Rebecca's death.  Prosecutors maintained that the <a href=3D"/basics/p=
arenting" title=3D"Psychology Today looks at Parenting" class=3D"pt-basi=
cs-link">parents</a> intentionally overdosed their daughter to "keep her=
 quiet".  Apparently the jury didn't accept the parents' defense which h=
ad them "just following the doctor's orders."</p><p>In essence, Kayoko K=
ifuji, the child psychiatrist who prescribed clonidine to Rebecca, was e=
xonerated with the mother's conviction. Kifuji worked at the Tufts New E=
ngland Medical Center.  She also prescribed two other medications to Reb=
ecca used frequently in children's <a href=3D"/basics/psychiatry" title=3D=
"Psychology Today looks at Psychiatry" class=3D"pt-basics-link">psychiat=
ric</a> problems, Seroquel, approved for use by the Food and Drug Admini=
stration (FDA) for treating <a href=3D"/conditions/schizophrenia" title=3D=
"Psychology Today looks at Schizophrenia" class=3D"pt-basics-link">schiz=
ophrenia</a> and Depakote, studied and approved for epilepsy.  Clonidine=
, also known as Catapress, was approved and studied for the treatment of=
 hypertension.  However, all three drugs are widely used in the treatmen=
t of pediatric <a href=3D"/basics/bipolar-disorder" title=3D"Psychology =
Today looks at Bipolar Disorder" class=3D"pt-basics-link">bipolar disord=
er</a> - although the FDA has approved none of them for this use.  All t=
hree are potentially heavily sedating.</p><p>In America doctors have the=
 equivalent power afforded gun owners by the "right to bear arms" second=
 amendment to the Constitution.  Once awarded a medical license a doctor=
 can prescribe any drug approved by the FDA for any purpose.  The doctor=
 is guided by her medical judgment and <a href=3D"/basics/morality" titl=
e=3D"Psychology Today looks at Morality" class=3D"pt-basics-link">ethics=
</a>.  However, doctors can be sued or have their licenses terminated if=
 their treatment does not conform to "current medical standards."</p><p>=
Dr. Kifuji determined that Rebecca at age two had hyperactivity and bega=
n prescribing drugs to her at that time.  Kifuji changed her diagnosis t=
o bipolar disorder at age three.  She also made the same diagnosis for R=
ebecca's brother and sister who were nine and seven.  All three were rec=
eiving variations of these sedating psychiatric medications.  Kifuji, wh=
o was granted immunity against prosecution to gain her <a href=3D"/basic=
s/teamwork" title=3D"Psychology Today looks at Teamwork" class=3D"pt-bas=
ics-link">cooperation</a>, testified during the trial that she relied al=
most exclusively on reports from Rebecca's mother on the children's aggr=
essive behavior, <a href=3D"/basics/sleep" title=3D"Psychology Today loo=
ks at Sleep" class=3D"pt-basics-link">sleep</a> problems and history of =
mental illness in the family to make the diagnosis for the three childre=
n.</p><p>When Rebecca died, Dr. Kifuji initially withdrew from practice.=
  Her license was temporarily suspended. But she is now back working at =
Tufts.  Right from the start, the University defended her, saying her pr=
actice with Rebecca was" within medical standards."  Subsequently Kifuji=
, herself, underwent hours of testimony in front of a grand jury but was=
 not indicted.  The Board of Registration in Medicine, Massachusetts' me=
dical licensing organization, also allowed her last year to return to pr=
actice.</p><p>Yet when I tell non-psychiatric colleagues and friends tha=
t a three year old was prescribed three psychiatric drugs for bipolar di=
sorder, they are uniformly incredulous or shocked.  So apparently were t=
he jurors.  Requesting anonymity after the trial, jurors told the Boston=
 Globe, "Every one of us was very angry. Dr. Kifuji should be sitting in=
 the defendant's chair, too. It blew me away." Clearly the jurors and mo=
st of the country were unaware of this practice of medicating younger an=
d younger children with these powerful drugs.</p><p>However, it is not a=
ll that surprising that Tufts and the licensing board backed Kifuji's ac=
tions.  It is only about 27 miles between where she worked and the Massa=
chusetts General Hospital where Joseph Biederman, head of Harvard's Pedi=
atric Psychopharmacology Clinic, has long espoused the <a href=3D"/condi=
tions/bipolar-disorder" title=3D"Psychology Today looks at Bipolar Disor=
der" class=3D"pt-basics-link">bipolar</a> diagnosis in children.  He and=
 his group have claimed the diagnosis can be made in children as young a=
s two and should be followed by aggressive psychiatric drug intervention=
s.  I wonder if this crime had taken place anywhere in the country but N=
ew England whether the powers that be would have been as supportive of K=
ifuji.</p><p>Biederman has been arguably the most powerful and influenti=
al child psychiatrist in the country.  Drug companies, eager to promote =
his views and their wares to other doctors, paid and flew him all over t=
he country.  More recently his "science" has come under scrutiny over a =
series of conflict of interest charges with the drug industry.  Even bef=
ore his public scandals, the American Academy of Child and Adolescent Ps=
ychiatry, the official organization of American child psychiatry, publis=
hed guidelines declaring that bipolar disorder could not be diagnosed in=
 children under six and was a difficult diagnosis to establish in any pr=
e-teen child.</p><p>A psychiatrist cynically once remarked, "<a href=3D"=
/basics/addadhd" title=3D"Psychology Today looks at ADD/ADHD" class=3D"p=
t-basics-link">ADHD</a> drugs are for irritable and irritating kids.  Bi=
polar drugs are for very irritable and very irritating kids."  The point=
 is even with controversy over the bipolar diagnosis, the use of anti-ps=
ychotic drugs like Seroquel, Risperdal and Zyprexa in the five and under=
 population has doubled in the last five years, particularly among Medic=
aid and foster children.  There are several hundred thousand toddlers in=
 America currently being managed (sedated) by their parents and doctors =
with these drugs.</p><p>Clearly, Kifuji didn't literally put the teaspoo=
ns of clonidine that killed Rebecca into her mouth.  Still, like gun man=
ufacturers who claim they bear no responsibility when someone misuses a =
handgun for murder, there's something disingenuous about a doctor who pr=
escribed these drugs and then acknowledges no moral culpability in the d=
eath of this unfortunate child.</p><p>I question whether the bipolar dia=
gnosis can be reliably made in any child.  The new version of the Diagno=
stic Statistical Manual of Psychiatry V, "the bible" of American Psychia=
try is due out in 2013.  In news releases anticipating its publication, =
the plan apparently is to junk the bipolar diagnosis in children for som=
ething called temper dysregulation disorder emphasizing the transient na=
ture of the problem (as opposed to the life long implications of bipolar=
 disorder diagnosis) and an emphasis on changing the children's environm=
ent rather than using drugs.</p><p>So many of these children currently d=
iagnosed as bipolar come from chaotic and turbulent family environments.=
  Still I can imagine situations where these drugs, whatever label is ap=
plied to the children, will be used.  I don't <a href=3D"/basics/jealous=
y" title=3D"Psychology Today looks at Jealousy" class=3D"pt-basics-link"=
>envy</a> Kifuji and other child psychiatrists who work with indigent fa=
milies with problem kids.  Non-drug interventions, particularly family a=
nd parenting therapies are hard to come by and deliver.  The child psych=
iatrist and her medications may be the last resort for keeping these chi=
ldren in their home and out of foster care where they are even more like=
ly to get multiple medications.  I am glad I don't have to face that eth=
ical decision several time a day in a busy tertiary care university clin=
ic.</p><p>Those that support and back pediatric bipolar disorder and its=
 treatment have an obligation to speak out about the abuse of these drug=
s in the sedation and occasional deaths of children.  Their silence in t=
his case has been deafening.  Unfortunately, it will take several more R=
ebecca Riley tragedies before the public makes it unacceptable for docto=
rs to put these drugs in hands of parents to manage or mismanage the beh=
avior of their very young children.</p><p>&nbsp;</p> </div>
    <div class=3D"print-footer"></div>
    <hr class=3D"print-hr" />
    <div class=3D"print-source_url"><strong>Source URL:</strong> <a href=
=3D"http://www.psychologytoday.com/node/38617">http://www.psychologytoda=
y.com/node/38617</a></div>
    <div class=3D"print-links"><p><strong>Links:</strong><br />[1] http:=
//www.psychologytoday.com/files/teaser/2010/02/images.jpg<br />
[2] http://www.psychologytoday.com/blog/the-last-normal-child<br />
</p></div>
  </body>
</html>

------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=jquery.js
Content-Type: application/javascript; charset=utf-8; name=jquery.js
Content-Location: http://www.psychologytoday.com/misc/jquery.js?D
Content-Transfer-Encoding: Base64

Ly8gJElkOiBqcXVlcnkuanMsdiAxLjEyLjIuMyAyMDA4LzA2LzI1IDA5OjM4OjM5
IGdvYmEgRXhwICQgCgovKgogKiBqUXVlcnkgMS4yLjYgLSBOZXcgV2F2ZSBKYXZh
c2NyaXB0CiAqCiAqIENvcHlyaWdodCAoYykgMjAwOCBKb2huIFJlc2lnIChqcXVl
cnkuY29tKQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgKE1JVC1MSUNF
TlNFLnR4dCkKICogYW5kIEdQTCAoR1BMLUxJQ0VOU0UudHh0KSBsaWNlbnNlcy4K
ICoKICogRGF0ZTogMjAwOC0wNS0yNCAxNDoyMjoxNyAtMDQwMCAoU2F0LCAyNCBN
YXkgMjAwOCkKICogUmV2OiA1Njg1CiAqLwpldmFsKGZ1bmN0aW9uKHAsYSxjLGss
ZSxyKXtlPWZ1bmN0aW9uKGMpe3JldHVybihjPGE/Jyc6ZShwYXJzZUludChjL2Ep
KSkrKChjPWMlYSk+MzU/U3RyaW5nLmZyb21DaGFyQ29kZShjKzI5KTpjLnRvU3Ry
aW5nKDM2KSl9O2lmKCEnJy5yZXBsYWNlKC9eLyxTdHJpbmcpKXt3aGlsZShjLS0p
cltlKGMpXT1rW2NdfHxlKGMpO2s9W2Z1bmN0aW9uKGUpe3JldHVybiByW2VdfV07
ZT1mdW5jdGlvbigpe3JldHVybidcXHcrJ307Yz0xfTt3aGlsZShjLS0paWYoa1tj
XSlwPXAucmVwbGFjZShuZXcgUmVnRXhwKCdcXGInK2UoYykrJ1xcYicsJ2cnKSxr
W2NdKTtyZXR1cm4gcH0oJyhIKCl7SiB3PTFiLjRNLDNtJD0xYi4kO0ogRD0xYi40
TT0xYi4kPUgoYSxiKXtJIDJCIEQuMTcuNWooYSxiKX07SiB1PS9eW148XSooPCgu
fFxccykrPilbXj5dKiR8XiMoXFx3KykkLyw2Mj0vXi5bXjojXFxbXFwuXSokLywx
MjtELjE3PUQuNDQ9ezVqOkgoZCxiKXtkPWR8fFM7RyhkLjE2KXs3WzBdPWQ7Ny5L
PTE7SSA3fUcoMWogZD09IjIzIil7SiBjPXUuMkQoZCk7RyhjJiYoY1sxXXx8IWIp
KXtHKGNbMV0pZD1ELjRoKFtjWzFdXSxiKTtOe0ogYT1TLjYxKGNbM10pO0coYSl7
RyhhLjJ2IT1jWzNdKUkgRCgpLjJxKGQpO0kgRChhKX1kPVtdfX1OIEkgRChiKS4y
cShkKX1OIEcoRC4xRChkKSlJIEQoUylbRC4xNy4yNz8iMjciOiI0MyJdKGQpO0kg
Ny42WShELjJkKGQpKX0sNXc6IjEuMi42Iiw4RzpIKCl7SSA3Lkt9LEs6MCwzcDpI
KGEpe0kgYT09MTI/RC4yZCg3KTo3W2FdfSwySTpIKGIpe0ogYT1EKGIpO2EuNW49
NztJIGF9LDZZOkgoYSl7Ny5LPTA7MnAuNDQuMXAuMXcoNyxhKTtJIDd9LFA6SChh
LGIpe0kgRC5QKDcsYSxiKX0sNWk6SChiKXtKIGE9LTE7SSBELjJMKGImJmIuNXc/
YlswXTpiLDcpfSwxSzpIKGMsYSxiKXtKIGQ9YztHKGMuMXE9PTU2KUcoYT09PTEy
KUkgN1swXSYmRFtifHwiMUsiXSg3WzBdLGMpO057ZD17fTtkW2NdPWF9SSA3LlAo
SChpKXtSKGMgMW4gZClELjFLKGI/Ny5WOjcsYyxELjFpKDcsZFtjXSxiLGksYykp
fSl9LDFnOkgoYixhKXtHKChiPT1cJzJoXCd8fGI9PVwnMVpcJykmJjNkKGEpPDAp
YT0xMjtJIDcuMUsoYixhLCIyYSIpfSwxcjpIKGIpe0coMWogYiE9IjQ5IiYmYiE9
VSlJIDcuNEUoKS4zdigoN1swXSYmN1swXS4yenx8UykuNUYoYikpO0ogYT0iIjtE
LlAoYnx8NyxIKCl7RC5QKDcuM3QsSCgpe0coNy4xNiE9OClhKz03LjE2IT0xPzcu
NzY6RC4xNy4xcihbN10pfSl9KTtJIGF9LDV6OkgoYil7Ryg3WzBdKUQoYiw3WzBd
LjJ6KS41eSgpLjM5KDdbMF0pLjJsKEgoKXtKIGE9NzsxQihhLjF4KWE9YS4xeDtJ
IGF9KS4zdig3KTtJIDd9LDhZOkgoYSl7SSA3LlAoSCgpe0QoNykuNlEoKS41eihh
KX0pfSw4UjpIKGEpe0kgNy5QKEgoKXtEKDcpLjV6KGEpfSl9LDN2OkgoKXtJIDcu
M1coMTksTSxRLEgoYSl7Ryg3LjE2PT0xKTcuM1UoYSl9KX0sNkY6SCgpe0kgNy4z
VygxOSxNLE0sSChhKXtHKDcuMTY9PTEpNy4zOShhLDcuMXgpfSl9LDZFOkgoKXtJ
IDcuM1coMTksUSxRLEgoYSl7Ny4xZC4zOShhLDcpfSl9LDVxOkgoKXtJIDcuM1co
MTksUSxNLEgoYSl7Ny4xZC4zOShhLDcuMkgpfSl9LDNsOkgoKXtJIDcuNW58fEQo
W10pfSwycTpIKGIpe0ogYz1ELjJsKDcsSChhKXtJIEQuMnEoYixhKX0pO0kgNy4y
SSgvW14rPl0gW14rPl0vLjExKGIpfHxiLjFoKCIuLiIpPi0xP0QuNHIoYyk6Yyl9
LDV5OkgoZSl7SiBmPTcuMmwoSCgpe0coRC4xNC4xZiYmIUQuNG4oNykpe0ogYT03
LjZvKE0pLDVoPVMuM2goIjF2Iik7NWguM1UoYSk7SSBELjRoKFs1aC40SF0pWzBd
fU4gSSA3LjZvKE0pfSk7SiBkPWYuMnEoIioiKS41YygpLlAoSCgpe0coN1tFXSE9
MTIpN1tFXT1VfSk7RyhlPT09TSk3LjJxKCIqIikuNWMoKS5QKEgoaSl7Ryg3LjE2
PT0zKUk7SiBjPUQuTCg3LCIzdyIpO1IoSiBhIDFuIGMpUihKIGIgMW4gY1thXSlE
LlcuMWUoZFtpXSxhLGNbYV1bYl0sY1thXVtiXS5MKX0pO0kgZn0sMUU6SChiKXtJ
IDcuMkkoRC4xRChiKSYmRC4zQyg3LEgoYSxpKXtJIGIuMWsoYSxpKX0pfHxELjNn
KGIsNykpfSw0WTpIKGIpe0coYi4xcT09NTYpRyg2Mi4xMShiKSlJIDcuMkkoRC4z
ZyhiLDcsTSkpO04gYj1ELjNnKGIsNyk7SiBhPWIuSyYmYltiLkstMV0hPT0xMiYm
IWIuMTY7SSA3LjFFKEgoKXtJIGE/RC4yTCg3LGIpPDA6NyE9Yn0pfSwxZTpIKGEp
e0kgNy4ySShELjRyKEQuMlIoNy4zcCgpLDFqIGE9PVwnMjNcJz9EKGEpOkQuMmQo
YSkpKSl9LDNGOkgoYSl7SSEhYSYmRC4zZyhhLDcpLks+MH0sN1Q6SChhKXtJIDcu
M0YoIi4iK2EpfSw2ZTpIKGIpe0coYj09MTIpe0coNy5LKXtKIGM9N1swXTtHKEQu
WShjLCIyQSIpKXtKIGU9Yy42NCw2Mz1bXSwxNT1jLjE1LDJWPWMuTz09IjJBLTJW
IjtHKGU8MClJIFU7UihKIGk9MlY/ZTowLDJmPTJWP2UrMToxNS5LO2k8MmY7aSsr
KXtKIGQ9MTVbaV07RyhkLjJXKXtiPUQuMTQuMWYmJiFkLmF0LjJ4LmFuP2QuMXI6
ZC4yeDtHKDJWKUkgYjs2My4xcChiKX19SSA2M31OIEkoN1swXS4yeHx8IiIpLjFv
KC9cXHIvZywiIil9SSAxMn1HKGIuMXE9PTRMKWIrPVwnXCc7SSA3LlAoSCgpe0co
Ny4xNiE9MSlJO0coYi4xcT09MnAmJi81T3w1TC8uMTEoNy5PKSk3LjRKPShELjJM
KDcuMngsYik+PTB8fEQuMkwoNy4zNCxiKT49MCk7TiBHKEQuWSg3LCIyQSIpKXtK
IGE9RC4yZChiKTtEKCI5UiIsNykuUChIKCl7Ny4yVz0oRC4yTCg3LjJ4LGEpPj0w
fHxELjJMKDcuMXIsYSk+PTApfSk7RyghYS5LKTcuNjQ9LTF9TiA3LjJ4PWJ9KX0s
Mks6SChhKXtJIGE9PTEyPyg3WzBdPzdbMF0uNEg6VSk6Ny40RSgpLjN2KGEpfSw3
YjpIKGEpe0kgNy41cShhKS4yMSgpfSw3OTpIKGkpe0kgNy4zcyhpLGkrMSl9LDNz
OkgoKXtJIDcuMkkoMnAuNDQuM3MuMXcoNywxOSkpfSwybDpIKGIpe0kgNy4ySShE
LjJsKDcsSChhLGkpe0kgYi4xayhhLGksYSl9KSl9LDVjOkgoKXtJIDcuMWUoNy41
bil9LEw6SChkLGIpe0ogYT1kLjFSKCIuIik7YVsxXT1hWzFdPyIuIithWzFdOiIi
O0coYj09PTEyKXtKIGM9Ny41QygiOXoiK2FbMV0rIiEiLFthWzBdXSk7RyhjPT09
MTImJjcuSyljPUQuTCg3WzBdLGQpO0kgYz09PTEyJiZhWzFdPzcuTChhWzBdKTpj
fU4gSSA3LjFQKCI5dSIrYVsxXSsiISIsW2FbMF0sYl0pLlAoSCgpe0QuTCg3LGQs
Yil9KX0sM2I6SChhKXtJIDcuUChIKCl7RC4zYig3LGEpfSl9LDNXOkgoZyxmLGgs
ZCl7SiBlPTcuSz4xLDN4O0kgNy5QKEgoKXtHKCEzeCl7M3g9RC40aChnLDcuMnop
O0coaCkzeC45bygpfUogYj03O0coZiYmRC5ZKDcsIjFUIikmJkQuWSgzeFswXSwi
NEYiKSliPTcuM0goIjIyIilbMF18fDcuM1UoNy4yei4zaCgiMjIiKSk7SiBjPUQo
W10pO0QuUCgzeCxIKCl7SiBhPWU/RCg3KS41eShNKVswXTo3O0coRC5ZKGEsIjFt
IikpYz1jLjFlKGEpO057RyhhLjE2PT0xKWM9Yy4xZShEKCIxbSIsYSkuMjEoKSk7
ZC4xayhiLGEpfX0pO2MuUCg2VCl9KX19O0QuMTcuNWouNDQ9RC4xNztIIDZUKGks
YSl7RyhhLjRkKUQuM1koezFhOmEuNGQsMzE6USwxTzoiMW0ifSk7TiBELjV1KGEu
MXJ8fGEuNk98fGEuNEh8fCIiKTtHKGEuMWQpYS4xZC4zNyhhKX1IIDF6KCl7SSsy
QiA4Sn1ELjFsPUQuMTcuMWw9SCgpe0ogYj0xOVswXXx8e30saT0xLEs9MTkuSyw0
eD1RLDE1O0coYi4xcT09OEkpezR4PWI7Yj0xOVsxXXx8e307aT0yfUcoMWogYiE9
IjQ5IiYmMWogYiE9IkgiKWI9e307RyhLPT1pKXtiPTc7LS1pfVIoO2k8SztpKysp
RygoMTU9MTlbaV0pIT1VKVIoSiBjIDFuIDE1KXtKIGE9YltjXSwydz0xNVtjXTtH
KGI9PT0ydyk2TTtHKDR4JiYydyYmMWogMnc9PSI0OSImJiEydy4xNiliW2NdPUQu
MWwoNHgsYXx8KDJ3LkshPVU/W106e30pLDJ3KTtOIEcoMnchPT0xMiliW2NdPTJ3
fUkgYn07SiBFPSI0TSIrMXooKSw2Sz0wLDVyPXt9LDZHPS96LT81aXw4Qi0/OEF8
MXl8NkJ8OHYtPzFaL2ksM1A9Uy4zUHx8e307RC4xbCh7OHU6SChhKXsxYi4kPTNt
JDtHKGEpMWIuNE09dztJIER9LDFEOkgoYSl7SSEhYSYmMWogYSE9IjIzIiYmIWEu
WSYmYS4xcSE9MnAmJi9eW1xcc1tdP0gvLjExKGErIiIpfSw0bjpIKGEpe0kgYS4x
QyYmIWEuMWN8fGEuMmomJmEuMnomJiFhLjJ6LjFjfSw1dTpIKGEpe2E9RC4zayhh
KTtHKGEpe0ogYj1TLjNIKCI2dyIpWzBdfHxTLjFDLDFtPVMuM2goIjFtIik7MW0u
Tz0iMXIvNHQiO0coRC4xNC4xZikxbS4xcj1hO04gMW0uM1UoUy41RihhKSk7Yi4z
OSgxbSxiLjF4KTtiLjM3KDFtKX19LFk6SChiLGEpe0kgYi5ZJiZiLlkuMnIoKT09
YS4ycigpfSwxWTp7fSxMOkgoYyxkLGIpe2M9Yz09MWI/NXI6YztKIGE9Y1tFXTtH
KCFhKWE9Y1tFXT0rKzZLO0coZCYmIUQuMVlbYV0pRC4xWVthXT17fTtHKGIhPT0x
MilELjFZW2FdW2RdPWI7SSBkP0QuMVlbYV1bZF06YX0sM2I6SChjLGIpe2M9Yz09
MWI/NXI6YztKIGE9Y1tFXTtHKGIpe0coRC4xWVthXSl7MlUgRC4xWVthXVtiXTti
PSIiO1IoYiAxbiBELjFZW2FdKTFYO0coIWIpRC4zYihjKX19TnsxVXsyVSBjW0Vd
fTFWKGUpe0coYy41bCljLjVsKEUpfTJVIEQuMVlbYV19fSxQOkgoZCxhLGMpe0og
ZSxpPTAsSz1kLks7RyhjKXtHKEs9PTEyKXtSKGUgMW4gZClHKGEuMXcoZFtlXSxj
KT09PVEpMVh9TiBSKDtpPEs7KUcoYS4xdyhkW2krK10sYyk9PT1RKTFYfU57RyhL
PT0xMil7UihlIDFuIGQpRyhhLjFrKGRbZV0sZSxkW2VdKT09PVEpMVh9TiBSKEog
Yj1kWzBdO2k8SyYmYS4xayhiLGksYikhPT1RO2I9ZFsrK2ldKXt9fUkgZH0sMWk6
SChiLGEsYyxpLGQpe0coRC4xRChhKSlhPWEuMWsoYixpKTtJIGEmJmEuMXE9PTRM
JiZjPT0iMmEiJiYhNkcuMTEoZCk/YSsiMlgiOmF9LDFGOnsxZTpIKGMsYil7RC5Q
KChifHwiIikuMVIoL1xccysvKSxIKGksYSl7RyhjLjE2PT0xJiYhRC4xRi4zVChj
LjFGLGEpKWMuMUYrPShjLjFGPyIgIjoiIikrYX0pfSwyMTpIKGMsYil7RyhjLjE2
PT0xKWMuMUY9YiE9MTI/RC4zQyhjLjFGLjFSKC9cXHMrLyksSChhKXtJIUQuMUYu
M1QoYixhKX0pLjZzKCIgIik6IiJ9LDNUOkgoYixhKXtJIEQuMkwoYSwoYi4xRnx8
YikuNnIoKS4xUigvXFxzKy8pKT4tMX19LDZxOkgoYixjLGEpe0ogZT17fTtSKEog
ZCAxbiBjKXtlW2RdPWIuVltkXTtiLlZbZF09Y1tkXX1hLjFrKGIpO1IoSiBkIDFu
IGMpYi5WW2RdPWVbZF19LDFnOkgoZCxlLGMpe0coZT09IjJoInx8ZT09IjFaIil7
SiBiLDNYPXszMDoiNXgiLDVnOiIxRyIsMTg6IjNJIn0sMzU9ZT09IjJoIj9bIjVl
IiwiNmsiXTpbIjVHIiwiNmkiXTtIIDViKCl7Yj1lPT0iMmgiP2QuOGY6ZC44YztK
IGE9MCwyQz0wO0QuUCgzNSxIKCl7YSs9M2QoRC4yYShkLCI1NyIrNyxNKSl8fDA7
MkMrPTNkKEQuMmEoZCwiMkMiKzcrIjRiIixNKSl8fDB9KTtiLT0yOS44MyhhKzJD
KX1HKEQoZCkuM0YoIjo0aiIpKTViKCk7TiBELjZxKGQsM1gsNWIpO0kgMjkuMmYo
MCxiKX1JIEQuMmEoZCxlLGMpfSwyYTpIKGYsbCxrKXtKIGUsVj1mLlY7SCAzRShi
KXtHKCFELjE0LjJrKUkgUTtKIGE9M1AuNTQoYixVKTtJIWF8fGEuNTIoIjNFIik9
PSIifUcobD09IjF5IiYmRC4xNC4xZil7ZT1ELjFLKFYsIjF5Iik7SSBlPT0iIj8i
MSI6ZX1HKEQuMTQuMkcmJmw9PSIxOCIpe0ogZD1WLjUwO1YuNTA9IjAgN1kgN1ci
O1YuNTA9ZH1HKGwuMUkoLzRpL2kpKWw9eTtHKCFrJiZWJiZWW2xdKWU9VltsXTtO
IEcoM1AuNTQpe0cobC4xSSgvNGkvaSkpbD0iNGkiO2w9bC4xbygvKFtBLVpdKS9n
LCItJDEiKS4zeSgpO0ogYz0zUC41NChmLFUpO0coYyYmITNFKGYpKWU9Yy41Mihs
KTtOe0ogZz1bXSwyRT1bXSxhPWYsaT0wO1IoO2EmJjNFKGEpO2E9YS4xZCkyRS42
aChhKTtSKDtpPDJFLks7aSsrKUcoM0UoMkVbaV0pKXtnW2ldPTJFW2ldLlYuMTg7
MkVbaV0uVi4xOD0iM0kifWU9bD09IjE4IiYmZ1syRS5LLTFdIT1VPyIyRiI6KGMm
JmMuNTIobCkpfHwiIjtSKGk9MDtpPGcuSztpKyspRyhnW2ldIT1VKTJFW2ldLlYu
MTg9Z1tpXX1HKGw9PSIxeSImJmU9PSIiKWU9IjEifU4gRyhmLjRnKXtKIGg9bC4x
bygvXFwtKFxcdykvZyxIKGEsYil7SSBiLjJyKCl9KTtlPWYuNGdbbF18fGYuNGdb
aF07RyghL15cXGQrKDJYKT8kL2kuMTEoZSkmJi9eXFxkLy4xMShlKSl7SiBqPVYu
MUEsNjY9Zi42NS4xQTtmLjY1LjFBPWYuNGcuMUE7Vi4xQT1lfHwwO2U9Vi5hTSsi
MlgiO1YuMUE9ajtmLjY1LjFBPTY2fX1JIGV9LDRoOkgobCxoKXtKIGs9W107aD1o
fHxTO0coMWogaC4zaD09XCcxMlwnKWg9aC4yenx8aFswXSYmaFswXS4yenx8UztE
LlAobCxIKGksZCl7RyghZClJO0coZC4xcT09NEwpZCs9XCdcJztHKDFqIGQ9PSIy
MyIpe2Q9ZC4xbygvKDwoXFx3KylbXj5dKj8pXFwvPi9nLEgoYixhLGMpe0kgYy4x
SSgvXihhS3w0Znw3RXxhR3w0VHw3QXxhQnwzbnxhenxheXxhdikkL2kpP2I6YSsi
PjwvIitjKyI+In0pO0ogZj1ELjNrKGQpLjN5KCksMXY9aC4zaCgiMXYiKTtKIGU9
IWYuMWgoIjxhdSIpJiZbMSwiPDJBIDd3PVwnN3dcJz4iLCI8LzJBPiJdfHwhZi4x
aCgiPGFyIikmJlsxLCI8N3Y+IiwiPC83dj4iXXx8Zi4xSSgvXjwoYXF8MjJ8YW18
YWt8YWkpLykmJlsxLCI8MVQ+IiwiPC8xVD4iXXx8IWYuMWgoIjw0RiIpJiZbMiwi
PDFUPjwyMj4iLCI8LzIyPjwvMVQ+Il18fCghZi4xaCgiPGFmIil8fCFmLjFoKCI8
YWQiKSkmJlszLCI8MVQ+PDIyPjw0Rj4iLCI8LzRGPjwvMjI+PC8xVD4iXXx8IWYu
MWgoIjw3RSIpJiZbMiwiPDFUPjwyMj48LzIyPjw3cT4iLCI8LzdxPjwvMVQ+Il18
fEQuMTQuMWYmJlsxLCIxdjwxdj4iLCI8LzF2PiJdfHxbMCwiIiwiIl07MXYuNEg9
ZVsxXStkK2VbMl07MUIoZVswXS0tKTF2PTF2LjVUO0coRC4xNC4xZil7SiBnPSFm
LjFoKCI8MVQiKSYmZi4xaCgiPDIyIik8MD8xdi4xeCYmMXYuMXguM3Q6ZVsxXT09
IjwxVD4iJiZmLjFoKCI8MjIiKTwwPzF2LjN0OltdO1IoSiBqPWcuSy0xO2o+PTA7
LS1qKUcoRC5ZKGdbal0sIjIyIikmJiFnW2pdLjN0LkspZ1tqXS4xZC4zNyhnW2pd
KTtHKC9eXFxzLy4xMShkKSkxdi4zOShoLjVGKGQuMUkoL15cXHMqLylbMF0pLDF2
LjF4KX1kPUQuMmQoMXYuM3QpfUcoZC5LPT09MCYmKCFELlkoZCwiM1YiKSYmIUQu
WShkLCIyQSIpKSlJO0coZFswXT09MTJ8fEQuWShkLCIzViIpfHxkLjE1KWsuMXAo
ZCk7TiBrPUQuMlIoayxkKX0pO0kga30sMUs6SChkLGYsYyl7RyghZHx8ZC4xNj09
M3x8ZC4xNj09OClJIDEyO0ogZT0hRC40bihkKSw0MD1jIT09MTIsMWY9RC4xNC4x
ZjtmPWUmJkQuM1hbZl18fGY7RyhkLjJqKXtKIGc9LzVRfDRkfFYvLjExKGYpO0co
Zj09IjJXIiYmRC4xNC4yaylkLjFkLjY0O0coZiAxbiBkJiZlJiYhZyl7Ryg0MCl7
RyhmPT0iTyImJkQuWShkLCI0VCIpJiZkLjFkKTdwIk8gYTMgYTFcJ3QgOVYgOVUi
O2RbZl09Y31HKEQuWShkLCIzViIpJiZkLjdpKGYpKUkgZC43aShmKS43NjtJIGRb
Zl19RygxZiYmZSYmZj09IlYiKUkgRC4xSyhkLlYsIjlUIixjKTtHKDQwKWQuOVEo
ZiwiIitjKTtKIGg9MWYmJmUmJmc/ZC40RyhmLDIpOmQuNEcoZik7SSBoPT09VT8x
MjpofUcoMWYmJmY9PSIxeSIpe0coNDApe2QuNkI9MTtkLjFFPShkLjFFfHwiIiku
MW8oLzdmXFwoW14pXSpcXCkvLCIiKSsoM3IoYykrXCdcJz09IjlMIj8iIjoiN2Yo
MXk9IitjKjdhKyIpIil9SSBkLjFFJiZkLjFFLjFoKCIxeT0iKT49MD8oM2QoZC4x
RS4xSSgvMXk9KFteKV0qKS8pWzFdKS83YSkrXCdcJzoiIn1mPWYuMW8oLy0oW2Et
el0pLzlILEgoYSxiKXtJIGIuMnIoKX0pO0coNDApZFtmXT1jO0kgZFtmXX0sM2s6
SChhKXtJKGF8fCIiKS4xbygvXlxccyt8XFxzKyQvZywiIil9LDJkOkgoYil7SiBh
PVtdO0coYiE9VSl7SiBpPWIuSztHKGk9PVV8fGIuMVJ8fGIuNEl8fGIuMWspYVsw
XT1iO04gMUIoaSlhWy0taV09YltpXX1JIGF9LDJMOkgoYixhKXtSKEogaT0wLEs9
YS5LO2k8SztpKyspRyhhW2ldPT09YilJIGk7SS0xfSwyUjpIKGEsYil7SiBpPTAs
VCwyUz1hLks7RyhELjE0LjFmKXsxQihUPWJbaSsrXSlHKFQuMTYhPTgpYVsyUysr
XT1UfU4gMUIoVD1iW2krK10pYVsyUysrXT1UO0kgYX0sNHI6SChhKXtKIGM9W10s
Mm89e307MVV7UihKIGk9MCxLPWEuSztpPEs7aSsrKXtKIGI9RC5MKGFbaV0pO0co
ITJvW2JdKXsyb1tiXT1NO2MuMXAoYVtpXSl9fX0xVihlKXtjPWF9SSBjfSwzQzpI
KGMsYSxkKXtKIGI9W107UihKIGk9MCxLPWMuSztpPEs7aSsrKUcoIWQhPSFhKGNb
aV0saSkpYi4xcChjW2ldKTtJIGJ9LDJsOkgoZCxhKXtKIGM9W107UihKIGk9MCxL
PWQuSztpPEs7aSsrKXtKIGI9YShkW2ldLGkpO0coYiE9VSljW2MuS109Yn1JIGMu
N2QuMXcoW10sYyl9fSk7SiB2PTlCLjlBLjN5KCk7RC4xND17NUI6KHYuMUkoLy4r
KD86OXl8OXh8OXd8OXYpW1xcLzogXShbXFxkLl0rKS8pfHxbXSlbMV0sMms6Lzc1
Ly4xMSh2KSwyRzovMkcvLjExKHYpLDFmOi8xZi8uMTEodikmJiEvMkcvLjExKHYp
LDQyOi80Mi8uMTEodikmJiEvKDlzfDc1KS8uMTEodil9O0ogeT1ELjE0LjFmPyI3
byI6IjcyIjtELjFsKHs3MTohRC4xNC4xZnx8Uy43MD09IjZaIiwzWDp7IlIiOiI5
biIsIjlrIjoiMUYiLCI0aSI6eSw3Mjp5LDdvOnksOWg6IjlmIiw5ZToiOWQiLDli
OiI5OSJ9fSk7RC5QKHs2VzpIKGEpe0kgYS4xZH0sOTc6SChhKXtJIEQuNFMoYSwi
MWQiKX0sOTU6SChhKXtJIEQuM2EoYSwyLCIySCIpfSw5MTpIKGEpe0kgRC4zYShh
LDIsIjRsIil9LDhaOkgoYSl7SSBELjRTKGEsIjJIIil9LDhYOkgoYSl7SSBELjRT
KGEsIjRsIil9LDhXOkgoYSl7SSBELjV2KGEuMWQuMXgsYSl9LDhWOkgoYSl7SSBE
LjV2KGEuMXgpfSw2UTpIKGEpe0kgRC5ZKGEsIjhVIik/YS44VHx8YS44Uy5TOkQu
MmQoYS4zdCl9fSxIKGMsZCl7RC4xN1tjXT1IKGIpe0ogYT1ELjJsKDcsZCk7Ryhi
JiYxaiBiPT0iMjMiKWE9RC4zZyhiLGEpO0kgNy4ySShELjRyKGEpKX19KTtELlAo
ezZQOiIzdiIsOFE6IjZGIiwzOToiNkUiLDhQOiI1cSIsOE86IjdiIn0sSChjLGIp
e0QuMTdbY109SCgpe0ogYT0xOTtJIDcuUChIKCl7UihKIGk9MCxLPWEuSztpPEs7
aSsrKUQoYVtpXSlbYl0oNyl9KX19KTtELlAoezhOOkgoYSl7RC4xSyg3LGEsIiIp
O0coNy4xNj09MSk3LjVsKGEpfSw4TTpIKGEpe0QuMUYuMWUoNyxhKX0sOEw6SChh
KXtELjFGLjIxKDcsYSl9LDhLOkgoYSl7RC4xRltELjFGLjNUKDcsYSk/IjIxIjoi
MWUiXSg3LGEpfSwyMTpIKGEpe0coIWF8fEQuMUUoYSxbN10pLnIuSyl7RCgiKiIs
NykuMWUoNykuUChIKCl7RC5XLjIxKDcpO0QuM2IoNyl9KTtHKDcuMWQpNy4xZC4z
Nyg3KX19LDRFOkgoKXtEKCI+KiIsNykuMjEoKTsxQig3LjF4KTcuMzcoNy4xeCl9
fSxIKGEsYil7RC4xN1thXT1IKCl7SSA3LlAoYiwxOSl9fSk7RC5QKFsiNk4iLCI0
YiJdLEgoaSxjKXtKIGI9Yy4zeSgpO0QuMTdbYl09SChhKXtJIDdbMF09PTFiP0Qu
MTQuMkcmJlMuMWNbIjV0IitjXXx8RC4xNC4yayYmMWJbIjVzIitjXXx8Uy43MD09
IjZaIiYmUy4xQ1siNXQiK2NdfHxTLjFjWyI1dCIrY106N1swXT09Uz8yOS4yZigy
OS4yZihTLjFjWyI0eSIrY10sUy4xQ1siNHkiK2NdKSwyOS4yZihTLjFjWyIyaSIr
Y10sUy4xQ1siMmkiK2NdKSk6YT09MTI/KDcuSz9ELjFnKDdbMF0sYik6VSk6Ny4x
ZyhiLGEuMXE9PTU2P2E6YSsiMlgiKX19KTtIIDI1KGEsYil7SSBhWzBdJiYzcihE
LjJhKGFbMF0sYixNKSwxMCl8fDB9SiBDPUQuMTQuMmsmJjNyKEQuMTQuNUIpPDhI
PyIoPzpbXFxcXHcqM20tXXxcXFxcXFxcXC4pIjoiKD86W1xcXFx3XFw4Ri1cXDhF
KjNtLV18XFxcXFxcXFwuKSIsNkw9MkIgNHYoIl4+XFxcXHMqKCIrQysiKykiKSw2
Sj0yQiA0digiXigiK0MrIispKCMpKCIrQysiKykiKSw2ST0yQiA0digiXihbIy5d
PykoIitDKyIqKSIpO0QuMWwoezZIOnsiIjpIKGEsaSxtKXtJIG1bMl09PSIqInx8
RC5ZKGEsbVsyXSl9LCIjIjpIKGEsaSxtKXtJIGEuNEcoIjJ2Iik9PW1bMl19LCI6
Ijp7OEQ6SChhLGksbSl7SSBpPG1bM10tMH0sOEM6SChhLGksbSl7SSBpPm1bM10t
MH0sM2E6SChhLGksbSl7SSBtWzNdLTA9PWl9LDc5OkgoYSxpLG0pe0kgbVszXS0w
PT1pfSwzbzpIKGEsaSl7SSBpPT0wfSwzUzpIKGEsaSxtLHIpe0kgaT09ci5LLTF9
LDZEOkgoYSxpKXtJIGklMj09MH0sNkM6SChhLGkpe0kgaSUyfSwiM28tNHUiOkgo
YSl7SSBhLjFkLjNIKCIqIilbMF09PWF9LCIzUy00dSI6SChhKXtJIEQuM2EoYS4x
ZC41VCwxLCI0bCIpPT1hfSwiOHotNHUiOkgoYSl7SSFELjNhKGEuMWQuNVQsMiwi
NGwiKX0sNlc6SChhKXtJIGEuMXh9LDRFOkgoYSl7SSFhLjF4fSw4eTpIKGEsaSxt
KXtJKGEuNk98fGEuOHh8fEQoYSkuMXIoKXx8IiIpLjFoKG1bM10pPj0wfSw0ajpI
KGEpe0kiMUciIT1hLk8mJkQuMWcoYSwiMTgiKSE9IjJGIiYmRC4xZyhhLCI1ZyIp
IT0iMUcifSwxRzpIKGEpe0kiMUciPT1hLk98fEQuMWcoYSwiMTgiKT09IjJGInx8
RC4xZyhhLCI1ZyIpPT0iMUcifSw4dzpIKGEpe0khYS4zUn0sM1I6SChhKXtJIGEu
M1J9LDRKOkgoYSl7SSBhLjRKfSwyVzpIKGEpe0kgYS4yV3x8RC4xSyhhLCIyVyIp
fSwxcjpIKGEpe0kiMXIiPT1hLk99LDVPOkgoYSl7SSI1TyI9PWEuT30sNUw6SChh
KXtJIjVMIj09YS5PfSw1cDpIKGEpe0kiNXAiPT1hLk99LDNROkgoYSl7SSIzUSI9
PWEuT30sNW86SChhKXtJIjVvIj09YS5PfSw2QTpIKGEpe0kiNkEiPT1hLk99LDZ6
OkgoYSl7SSI2eiI9PWEuT30sMnM6SChhKXtJIjJzIj09YS5PfHxELlkoYSwiMnMi
KX0sNFQ6SChhKXtJLzRUfDJBfDZ5fDJzL2kuMTEoYS5ZKX0sM1Q6SChhLGksbSl7
SSBELjJxKG1bM10sYSkuS30sOHQ6SChhKXtJL2hcXGQvaS4xMShhLlkpfSw4czpI
KGEpe0kgRC4zQyhELjNPLEgoYil7SSBhPT1iLlR9KS5LfX19LDZ4OlsvXihcXFsp
ICpAPyhbXFx3LV0rKSAqKFshKiRefj1dKikgKihcJz8iPykoLio/KVxcNCAqXFxd
LywvXig6KShbXFx3LV0rKVxcKCI/XCc/KC4qPyhcXCguKj9cXCkpP1teKF0qPyki
P1wnP1xcKS8sMkIgNHYoIl4oWzouI10qKSgiK0MrIispIildLDNnOkgoYSxjLGIp
e0ogZCwxdD1bXTsxQihhJiZhIT1kKXtkPWE7SiBmPUQuMUUoYSxjLGIpO2E9Zi50
LjFvKC9eXFxzKixcXHMqLywiIik7MXQ9Yj9jPWYucjpELjJSKDF0LGYucil9SSAx
dH0sMnE6SCh0LG8pe0coMWogdCE9IjIzIilJW3RdO0cobyYmby4xNiE9MSYmby4x
NiE9OSlJW107bz1vfHxTO0ogZD1bb10sMm89W10sM1MsWTsxQih0JiYzUyE9dCl7
SiByPVtdOzNTPXQ7dD1ELjNrKHQpO0ogbD1RLDNqPTZMLG09M2ouMkQodCk7Ryht
KXtZPW1bMV0uMnIoKTtSKEogaT0wO2RbaV07aSsrKVIoSiBjPWRbaV0uMXg7Yztj
PWMuMkgpRyhjLjE2PT0xJiYoWT09IioifHxjLlkuMnIoKT09WSkpci4xcChjKTtk
PXI7dD10LjFvKDNqLCIiKTtHKHQuMWgoIiAiKT09MCk2TTtsPU19Tnszaj0vXihb
Pit+XSlcXHMqKFxcdyopL2k7RygobT0zai4yRCh0KSkhPVUpe3I9W107SiBrPXt9
O1k9bVsyXS4ycigpO209bVsxXTtSKEogaj0wLDNpPWQuSztqPDNpO2orKyl7SiBu
PW09PSJ+Inx8bT09IisiP2Rbal0uMkg6ZFtqXS4xeDtSKDtuO249bi4ySClHKG4u
MTY9PTEpe0ogZz1ELkwobik7RyhtPT0ifiImJmtbZ10pMVg7RyghWXx8bi5ZLjJy
KCk9PVkpe0cobT09In4iKWtbZ109TTtyLjFwKG4pfUcobT09IisiKTFYfX1kPXI7
dD1ELjNrKHQuMW8oM2osIiIpKTtsPU19fUcodCYmIWwpe0coIXQuMWgoIiwiKSl7
RyhvPT1kWzBdKWQuNHMoKTsybz1ELjJSKDJvLGQpO3I9ZD1bb107dD0iICIrdC42
digxLHQuSyl9TntKIGg9Nko7SiBtPWguMkQodCk7RyhtKXttPVswLG1bMl0sbVsz
XSxtWzFdXX1Oe2g9Nkk7bT1oLjJEKHQpfW1bMl09bVsyXS4xbygvXFxcXC9nLCIi
KTtKIGY9ZFtkLkstMV07RyhtWzFdPT0iIyImJmYmJmYuNjEmJiFELjRuKGYpKXtK
IHA9Zi42MShtWzJdKTtHKChELjE0LjFmfHxELjE0LjJHKSYmcCYmMWogcC4ydj09
IjIzIiYmcC4ydiE9bVsyXSlwPUQoXCdbQDJ2PSJcJyttWzJdK1wnIl1cJyxmKVsw
XTtkPXI9cCYmKCFtWzNdfHxELlkocCxtWzNdKSk/W3BdOltdfU57UihKIGk9MDtk
W2ldO2krKyl7SiBhPW1bMV09PSIjIiYmbVszXT9tWzNdOm1bMV0hPSIifHxtWzBd
PT0iIj8iKiI6bVsyXTtHKGE9PSIqIiYmZFtpXS5ZLjN5KCk9PSI0OSIpYT0iM24i
O3I9RC4yUihyLGRbaV0uM0goYSkpfUcobVsxXT09Ii4iKXI9RC41bShyLG1bMl0p
O0cobVsxXT09IiMiKXtKIGU9W107UihKIGk9MDtyW2ldO2krKylHKHJbaV0uNEco
IjJ2Iik9PW1bMl0pe2U9W3JbaV1dOzFYfXI9ZX1kPXJ9dD10LjFvKGgsIiIpfX1H
KHQpe0ogYj1ELjFFKHQscik7ZD1yPWIucjt0PUQuM2soYi50KX19Ryh0KWQ9W107
RyhkJiZvPT1kWzBdKWQuNHMoKTsybz1ELjJSKDJvLGQpO0kgMm99LDVtOkgocixt
LGEpe209IiAiK20rIiAiO0ogYz1bXTtSKEogaT0wO3JbaV07aSsrKXtKIGI9KCIg
IityW2ldLjFGKyIgIikuMWgobSk+PTA7RyghYSYmYnx8YSYmIWIpYy4xcChyW2ld
KX1JIGN9LDFFOkgodCxyLGgpe0ogZDsxQih0JiZ0IT1kKXtkPXQ7SiBwPUQuNngs
bTtSKEogaT0wO3BbaV07aSsrKXttPXBbaV0uMkQodCk7RyhtKXt0PXQuOHIobVsw
XS5LKTttWzJdPW1bMl0uMW8oL1xcXFwvZywiIik7MVh9fUcoIW0pMVg7RyhtWzFd
PT0iOiImJm1bMl09PSI0WSIpcj02Mi4xMShtWzNdKT9ELjFFKG1bM10scixNKS5y
OkQocikuNFkobVszXSk7TiBHKG1bMV09PSIuIilyPUQuNW0ocixtWzJdLGgpO04g
RyhtWzFdPT0iWyIpe0ogZz1bXSxPPW1bM107UihKIGk9MCwzaT1yLks7aTwzaTtp
Kyspe0ogYT1yW2ldLHo9YVtELjNYW21bMl1dfHxtWzJdXTtHKHo9PVV8fC81UXw0
ZHwyVy8uMTEobVsyXSkpej1ELjFLKGEsbVsyXSl8fFwnXCc7RygoTz09IiImJiEh
enx8Tz09Ij0iJiZ6PT1tWzVdfHxPPT0iIT0iJiZ6IT1tWzVdfHxPPT0iXj0iJiZ6
JiYhei4xaChtWzVdKXx8Tz09IiQ9IiYmei42dih6LkstbVs1XS5LKT09bVs1XXx8
KE89PSIqPSJ8fE89PSJ+PSIpJiZ6LjFoKG1bNV0pPj0wKV5oKWcuMXAoYSl9cj1n
fU4gRyhtWzFdPT0iOiImJm1bMl09PSIzYS00dSIpe0ogZT17fSxnPVtdLDExPS8o
LT8pKFxcZCopbigoPzpcXCt8LSk/XFxkKikvLjJEKG1bM109PSI2RCImJiIybiJ8
fG1bM109PSI2QyImJiIybisxInx8IS9cXEQvLjExKG1bM10pJiYiOHErIittWzNd
fHxtWzNdKSwzbz0oMTFbMV0rKDExWzJdfHwxKSktMCxkPTExWzNdLTA7UihKIGk9
MCwzaT1yLks7aTwzaTtpKyspe0ogaj1yW2ldLDFkPWouMWQsMnY9RC5MKDFkKTtH
KCFlWzJ2XSl7SiBjPTE7UihKIG49MWQuMXg7bjtuPW4uMkgpRyhuLjE2PT0xKW4u
NHE9YysrO2VbMnZdPU19SiBiPVE7Rygzbz09MCl7RyhqLjRxPT1kKWI9TX1OIEco
KGouNHEtZCklM289PTAmJihqLjRxLWQpLzNvPj0wKWI9TTtHKGJeaClnLjFwKGop
fXI9Z31Oe0ogZj1ELjZIW21bMV1dO0coMWogZj09IjQ5IilmPWZbbVsyXV07Rygx
aiBmPT0iMjMiKWY9NnUoIlF8fEgoYSxpKXtJICIrZisiO30iKTtyPUQuM0MocixI
KGEsaSl7SSBmKGEsaSxtLHIpfSxoKX19SXtyOnIsdDp0fX0sNFM6SChiLGMpe0og
YT1bXSwxdD1iW2NdOzFCKDF0JiYxdCE9Uyl7RygxdC4xNj09MSlhLjFwKDF0KTsx
dD0xdFtjXX1JIGF9LDNhOkgoYSxlLGMsYil7ZT1lfHwxO0ogZD0wO1IoO2E7YT1h
W2NdKUcoYS4xNj09MSYmKytkPT1lKTFYO0kgYX0sNXY6SChuLGEpe0ogcj1bXTtS
KDtuO249bi4ySCl7RyhuLjE2PT0xJiZuIT1hKXIuMXAobil9SSByfX0pO0QuVz17
MWU6SChmLGksZyxlKXtHKGYuMTY9PTN8fGYuMTY9PTgpSTtHKEQuMTQuMWYmJmYu
NEkpZj0xYjtHKCFnLjI0KWcuMjQ9Ny4yNCsrO0coZSE9MTIpe0ogaD1nO2c9Ny4z
TShoLEgoKXtJIGguMXcoNywxOSl9KTtnLkw9ZX1KIGo9RC5MKGYsIjN3Iil8fEQu
TChmLCIzdyIse30pLDFIPUQuTChmLCIxSCIpfHxELkwoZiwiMUgiLEgoKXtHKDFq
IEQhPSIxMiImJiFELlcuNWspSSBELlcuMUguMXcoMTkuM0wuVCwxOSl9KTsxSC5U
PWY7RC5QKGkuMVIoL1xccysvKSxIKGMsYil7SiBhPWIuMVIoIi4iKTtiPWFbMF07
Zy5PPWFbMV07SiBkPWpbYl07RyghZCl7ZD1qW2JdPXt9O0coIUQuVy4ydFtiXXx8
RC5XLjJ0W2JdLjRwLjFrKGYpPT09USl7RyhmLjNLKWYuM0soYiwxSCxRKTtOIEco
Zi42dClmLjZ0KCI0byIrYiwxSCl9fWRbZy4yNF09ZztELlcuMjZbYl09TX0pO2Y9
VX0sMjQ6MSwyNjp7fSwyMTpIKGUsaCxmKXtHKGUuMTY9PTN8fGUuMTY9PTgpSTtK
IGk9RC5MKGUsIjN3IiksMUwsNWk7RyhpKXtHKGg9PTEyfHwoMWogaD09IjIzIiYm
aC44cCgwKT09Ii4iKSlSKEogZyAxbiBpKTcuMjEoZSxnKyhofHwiIikpO057Ryho
Lk8pe2Y9aC4yeTtoPWguT31ELlAoaC4xUigvXFxzKy8pLEgoYixhKXtKIGM9YS4x
UigiLiIpO2E9Y1swXTtHKGlbYV0pe0coZikyVSBpW2FdW2YuMjRdO04gUihmIDFu
IGlbYV0pRyghY1sxXXx8aVthXVtmXS5PPT1jWzFdKTJVIGlbYV1bZl07UigxTCAx
biBpW2FdKTFYO0coITFMKXtHKCFELlcuMnRbYV18fEQuVy4ydFthXS40QS4xayhl
KT09PVEpe0coZS42cCllLjZwKGEsRC5MKGUsIjFIIiksUSk7TiBHKGUuNm4pZS42
bigiNG8iK2EsRC5MKGUsIjFIIikpfTFMPVU7MlUgaVthXX19fSl9UigxTCAxbiBp
KTFYO0coITFMKXtKIGQ9RC5MKGUsIjFIIik7RyhkKWQuVD1VO0QuM2IoZSwiM3ci
KTtELjNiKGUsIjFIIil9fX0sMVA6SChoLGMsZixnLGkpe2M9RC4yZChjKTtHKGgu
MWgoIiEiKT49MCl7aD1oLjNzKDAsLTEpO0ogYT1NfUcoIWYpe0coNy4yNltoXSlE
KCIqIikuMWUoWzFiLFNdKS4xUChoLGMpfU57RyhmLjE2PT0zfHxmLjE2PT04KUkg
MTI7SiBiLDFMLDE3PUQuMUQoZltoXXx8VSksVz0hY1swXXx8IWNbMF0uMzI7RyhX
KXtjLjZoKHtPOmgsMko6ZiwzMjpIKCl7fSwzSjpIKCl7fSw0QzoxeigpfSk7Y1sw
XVtFXT1NfWNbMF0uTz1oO0coYSljWzBdLjZtPU07SiBkPUQuTChmLCIxSCIpO0co
ZCliPWQuMXcoZixjKTtHKCghMTd8fChELlkoZixcJ2FcJykmJmg9PSI0ViIpKSYm
ZlsiNG8iK2hdJiZmWyI0byIraF0uMXcoZixjKT09PVEpYj1RO0coVyljLjRzKCk7
RyhpJiZELjFEKGkpKXsxTD1pLjF3KGYsYj09VT9jOmMuN2QoYikpO0coMUwhPT0x
MiliPTFMfUcoMTcmJmchPT1RJiZiIT09USYmIShELlkoZixcJ2FcJykmJmg9PSI0
ViIpKXs3LjVrPU07MVV7ZltoXSgpfTFWKGUpe319Ny41az1RfUkgYn0sMUg6SChi
KXtKIGEsMUwsMzgsNWYsNG07Yj0xOVswXT1ELlcuNmwoYnx8MWIuVyk7Mzg9Yi5P
LjFSKCIuIik7Yi5PPTM4WzBdOzM4PTM4WzFdOzVmPSEzOCYmIWIuNm07NG09KEQu
TCg3LCIzdyIpfHx7fSlbYi5PXTtSKEogaiAxbiA0bSl7SiBjPTRtW2pdO0coNWZ8
fGMuTz09Mzgpe2IuMnk9YztiLkw9Yy5MOzFMPWMuMXcoNywxOSk7RyhhIT09USlh
PTFMO0coMUw9PT1RKXtiLjMyKCk7Yi4zSigpfX19SSBhfSw2bDpIKGIpe0coYltF
XT09TSlJIGI7SiBkPWI7Yj17OG86ZH07SiBjPSI4biA4bSA4bCA4ayAycyA4aiA0
NyA1ZCA2aiA1RSA4aSBMIDhoIDhnIDRLIDJ5IDVhIDU5IDhlIDhiIDU4IDZmIDhh
IDg4IDRrIDg3IDg2IDg0IDZkIDJKIDRDIDZjIE8gODIgODEgMzUiLjFSKCIgIik7
UihKIGk9Yy5LO2k7aS0tKWJbY1tpXV09ZFtjW2ldXTtiW0VdPU07Yi4zMj1IKCl7
RyhkLjMyKWQuMzIoKTtkLjgwPVF9O2IuM0o9SCgpe0coZC4zSilkLjNKKCk7ZC43
Wj1NfTtiLjRDPWIuNEN8fDF6KCk7RyghYi4ySiliLjJKPWIuNmR8fFM7RyhiLjJK
LjE2PT0zKWIuMko9Yi4ySi4xZDtHKCFiLjRrJiZiLjRLKWIuNGs9Yi40Sz09Yi4y
Sj9iLjZjOmIuNEs7RyhiLjU4PT1VJiZiLjVkIT1VKXtKIGE9Uy4xQywxYz1TLjFj
O2IuNTg9Yi41ZCsoYSYmYS4yZXx8MWMmJjFjLjJlfHwwKS0oYS42Ynx8MCk7Yi42
Zj1iLjZqKyhhJiZhLjJjfHwxYyYmMWMuMmN8fDApLShhLjZhfHwwKX1HKCFiLjM1
JiYoKGIuNDd8fGIuNDc9PT0wKT9iLjQ3OmIuNWEpKWIuMzU9Yi40N3x8Yi41YTtH
KCFiLjU5JiZiLjVFKWIuNTk9Yi41RTtHKCFiLjM1JiZiLjJzKWIuMzU9KGIuMnMm
MT8xOihiLjJzJjI/MzooYi4ycyY0PzI6MCkpKTtJIGJ9LDNNOkgoYSxiKXtiLjI0
PWEuMjQ9YS4yNHx8Yi4yNHx8Ny4yNCsrO0kgYn0sMnQ6ezI3Ons0cDpIKCl7NTUo
KTtJfSw0QTpIKCl7SX19LDNEOns0cDpIKCl7RyhELjE0LjFmKUkgUTtEKDcpLjJP
KCI1MyIsRC5XLjJ0LjNELjJ5KTtJIE19LDRBOkgoKXtHKEQuMTQuMWYpSSBRO0Qo
NykuNGUoIjUzIixELlcuMnQuM0QuMnkpO0kgTX0sMnk6SChhKXtHKEYoYSw3KSlJ
IE07YS5PPSIzRCI7SSBELlcuMUguMXcoNywxOSl9fSwzTjp7NHA6SCgpe0coRC4x
NC4xZilJIFE7RCg3KS4yTygiNTEiLEQuVy4ydC4zTi4yeSk7SSBNfSw0QTpIKCl7
RyhELjE0LjFmKUkgUTtEKDcpLjRlKCI1MSIsRC5XLjJ0LjNOLjJ5KTtJIE19LDJ5
OkgoYSl7RyhGKGEsNykpSSBNO2EuTz0iM04iO0kgRC5XLjFILjF3KDcsMTkpfX19
fTtELjE3LjFsKHsyTzpIKGMsYSxiKXtJIGM9PSI0WCI/Ny4yVihjLGEsYik6Ny5Q
KEgoKXtELlcuMWUoNyxjLGJ8fGEsYiYmYSl9KX0sMlY6SChkLGIsYyl7SiBlPUQu
Vy4zTShjfHxiLEgoYSl7RCg3KS40ZShhLGUpO0koY3x8YikuMXcoNywxOSl9KTtJ
IDcuUChIKCl7RC5XLjFlKDcsZCxlLGMmJmIpfSl9LDRlOkgoYSxiKXtJIDcuUChI
KCl7RC5XLjIxKDcsYSxiKX0pfSwxUDpIKGMsYSxiKXtJIDcuUChIKCl7RC5XLjFQ
KGMsYSw3LE0sYil9KX0sNUM6SChjLGEsYil7SSA3WzBdJiZELlcuMVAoYyxhLDdb
MF0sUSxiKX0sMm06SChiKXtKIGM9MTksaT0xOzFCKGk8Yy5LKUQuVy4zTShiLGNb
aSsrXSk7SSA3LjRWKEQuVy4zTShiLEgoYSl7Ny40Wj0oNy40Wnx8MCklaTthLjMy
KCk7SSBjWzcuNForK10uMXcoNywxOSl8fFF9KSl9LDdYOkgoYSxiKXtJIDcuMk8o
XCczRFwnLGEpLjJPKFwnM05cJyxiKX0sMjc6SChhKXs1NSgpO0coRC4yUSlhLjFr
KFMsRCk7TiBELjNBLjFwKEgoKXtJIGEuMWsoNyxEKX0pO0kgN319KTtELjFsKHsy
UTpRLDNBOltdLDI3OkgoKXtHKCFELjJRKXtELjJRPU07RyhELjNBKXtELlAoRC4z
QSxIKCl7Ny4xayhTKX0pO0QuM0E9VX1EKFMpLjVDKCIyNyIpfX19KTtKIHg9UTtI
IDU1KCl7Ryh4KUk7eD1NO0coUy4zSyYmIUQuMTQuMkcpUy4zSygiNjkiLEQuMjcs
USk7RyhELjE0LjFmJiYxYj09MVMpKEgoKXtHKEQuMlEpSTsxVXtTLjFDLjdWKCIx
QSIpfTFWKDNlKXszQigxOS4zTCwwKTtJfUQuMjcoKX0pKCk7RyhELjE0LjJHKVMu
M0soIjY5IixIKCl7RyhELjJRKUk7UihKIGk9MDtpPFMuNFcuSztpKyspRyhTLjRX
W2ldLjNSKXszQigxOS4zTCwwKTtJfUQuMjcoKX0sUSk7RyhELjE0LjJrKXtKIGE7
KEgoKXtHKEQuMlEpSTtHKFMuM2YhPSI2OCImJlMuM2YhPSIxSiIpezNCKDE5LjNM
LDApO0l9RyhhPT09MTIpYT1EKCJWLCA3QVs3VT03U10iKS5LO0coUy40Vy5LIT1h
KXszQigxOS4zTCwwKTtJfUQuMjcoKX0pKCl9RC5XLjFlKDFiLCI0MyIsRC4yNyl9
RC5QKCgiN1IsN1EsNDMsODUsNHksNFgsNFYsN1AsIisiN08sN04sODksNTMsNTEs
N00sMkEsIisiNW8sN0wsN0ssOGQsM2UiKS4xUigiLCIpLEgoaSxiKXtELjE3W2Jd
PUgoYSl7SSBhPzcuMk8oYixhKTo3LjFQKGIpfX0pO0ogRj1IKGEsYyl7SiBiPWEu
NGs7MUIoYiYmYiE9YykxVXtiPWIuMWR9MVYoM2Upe2I9Y31JIGI9PWN9O0QoMWIp
LjJPKCI0WCIsSCgpe0QoIioiKS4xZShTKS40ZSgpfSk7RC4xNy4xbCh7Njc6RC4x
Ny40Myw0MzpIKGcsZCxjKXtHKDFqIGchPVwnMjNcJylJIDcuNjcoZyk7SiBlPWcu
MWgoIiAiKTtHKGU+PTApe0ogaT1nLjNzKGUsZy5LKTtnPWcuM3MoMCxlKX1jPWN8
fEgoKXt9O0ogZj0iMlAiO0coZClHKEQuMUQoZCkpe2M9ZDtkPVV9TntkPUQuM24o
ZCk7Zj0iNmcifUogaD03O0QuM1koezFhOmcsTzpmLDFPOiIySyIsTDpkLDFKOkgo
YSxiKXtHKGI9PSIxVyJ8fGI9PSI3SiIpaC4ySyhpP0QoIjwxdi8+IikuM3YoYS40
VS4xbygvPDFtKC58XFxzKSo/XFwvMW0+L2csIiIpKS4ycShpKTphLjRVKTtoLlAo
YyxbYS40VSxiLGFdKX19KTtJIDd9LGFMOkgoKXtJIEQuM24oNy43SSgpKX0sN0k6
SCgpe0kgNy4ybChIKCl7SSBELlkoNywiM1YiKT9ELjJkKDcuYUgpOjd9KS4xRShI
KCl7SSA3LjM0JiYhNy4zUiYmKDcuNEp8fC8yQXw2eS9pLjExKDcuWSl8fC8xcnwx
R3wzUS9pLjExKDcuTykpfSkuMmwoSChpLGMpe0ogYj1EKDcpLjZlKCk7SSBiPT1V
P1U6Yi4xcT09MnA/RC4ybChiLEgoYSxpKXtJezM0OmMuMzQsMng6YX19KTp7MzQ6
Yy4zNCwyeDpifX0pLjNwKCl9fSk7RC5QKCI3SCw3Ryw3Riw3RCw3Qyw3QiIuMVIo
IiwiKSxIKGksbyl7RC4xN1tvXT1IKGYpe0kgNy4yTyhvLGYpfX0pO0ogQj0xeigp
O0QuMWwoezNwOkgoZCxiLGEsYyl7RyhELjFEKGIpKXthPWI7Yj1VfUkgRC4zWSh7
TzoiMlAiLDFhOmQsTDpiLDFXOmEsMU86Y30pfSxhRTpIKGIsYSl7SSBELjNwKGIs
VSxhLCIxbSIpfSxhRDpIKGMsYixhKXtJIEQuM3AoYyxiLGEsIjN6Iil9LGFDOkgo
ZCxiLGEsYyl7RyhELjFEKGIpKXthPWI7Yj17fX1JIEQuM1koe086IjZnIiwxYTpk
LEw6YiwxVzphLDFPOmN9KX0sYUE6SChhKXtELjFsKEQuNjAsYSl9LDYwOnsxYTo1
Wi41USwyNjpNLE86IjJQIiwyVDowLDd6OiI0Ui94LWF4LTNWLWF3Iiw3eDpNLDMx
Ok0sTDpVLDVZOlUsM1E6VSw0UTp7Mk46IjRSLzJOLCAxci8yTiIsMks6IjFyLzJL
IiwxbToiMXIvNHQsIDRSLzR0IiwzejoiNFIvM3osIDFyLzR0IiwxcjoiMXIvYXMi
LDR3OiIqLyoifX0sNHo6e30sM1k6SChzKXtzPUQuMWwoTSxzLEQuMWwoTSx7fSxE
LjYwLHMpKTtKIGcsMlo9Lz1cXD8oJnwkKS9nLDF1LEwsTz1zLk8uMnIoKTtHKHMu
TCYmcy43eCYmMWogcy5MIT0iMjMiKXMuTD1ELjNuKHMuTCk7RyhzLjFPPT0iNFAi
KXtHKE89PSIyUCIpe0coIXMuMWEuMUkoMlopKXMuMWErPShzLjFhLjFJKC9cXD8v
KT8iJiI6Ij8iKSsocy40UHx8Ijd1IikrIj0/In1OIEcoIXMuTHx8IXMuTC4xSSgy
Wikpcy5MPShzLkw/cy5MKyImIjoiIikrKHMuNFB8fCI3dSIpKyI9PyI7cy4xTz0i
M3oifUcocy4xTz09IjN6IiYmKHMuTCYmcy5MLjFJKDJaKXx8cy4xYS4xSSgyWikp
KXtnPSI0UCIrQisrO0cocy5MKXMuTD0ocy5MKyIiKS4xbygyWiwiPSIrZysiJDEi
KTtzLjFhPXMuMWEuMW8oMlosIj0iK2crIiQxIik7cy4xTz0iMW0iOzFiW2ddPUgo
YSl7TD1hOzFXKCk7MUooKTsxYltnXT0xMjsxVXsyVSAxYltnXX0xVihlKXt9Ryhp
KWkuMzcoaCl9fUcocy4xTz09IjFtIiYmcy4xWT09VSlzLjFZPVE7RyhzLjFZPT09
USYmTz09IjJQIil7SiBqPTF6KCk7SiBrPXMuMWEuMW8oLyhcXD98JikzbT0uKj8o
JnwkKS8sIiRhcD0iK2orIiQyIik7cy4xYT1rKygoaz09cy4xYSk/KHMuMWEuMUko
L1xcPy8pPyImIjoiPyIpKyIzbT0iK2o6IiIpfUcocy5MJiZPPT0iMlAiKXtzLjFh
Kz0ocy4xYS4xSSgvXFw/Lyk/IiYiOiI/Iikrcy5MO3MuTD1VfUcocy4yNiYmIUQu
NE8rKylELlcuMVAoIjdIIik7SiBuPS9eKD86XFx3KzopP1xcL1xcLyhbXlxcLz8j
XSspLztHKHMuMU89PSIxbSImJk89PSIyUCImJm4uMTEocy4xYSkmJm4uMkQocy4x
YSlbMV0hPTVaLmFsKXtKIGk9Uy4zSCgiNnciKVswXTtKIGg9Uy4zaCgiMW0iKTto
LjRkPXMuMWE7RyhzLjd0KWguYWo9cy43dDtHKCFnKXtKIGw9UTtoLmFoPWguYWc9
SCgpe0coIWwmJighNy4zZnx8Ny4zZj09IjY4Inx8Ny4zZj09IjFKIikpe2w9TTsx
VygpOzFKKCk7aS4zNyhoKX19fWkuM1UoaCk7SSAxMn1KIG09UTtKIGM9MWIuN3M/
MkIgN3MoImFlLmFjIik6MkIgN3IoKTtHKHMuNVkpYy42UihPLHMuMWEscy4zMSxz
LjVZLHMuM1EpO04gYy42UihPLHMuMWEscy4zMSk7MVV7RyhzLkwpYy40QigiYWIt
YWEiLHMuN3opO0cocy41UyljLjRCKCJhOS01Ui1hOCIsRC40eltzLjFhXXx8ImE3
LCBhNiBhNSBhNCA1Tjo1Tjo1TiBhMiIpO2MuNEIoIlgtOVotOVkiLCI3ciIpO2Mu
NEIoIjlXIixzLjFPJiZzLjRRW3MuMU9dP3MuNFFbcy4xT10rIiwgKi8qIjpzLjRR
LjR3KX0xVihlKXt9RyhzLjdtJiZzLjdtKGMscyk9PT1RKXtzLjI2JiZELjRPLS07
Yy43bCgpO0kgUX1HKHMuMjYpRC5XLjFQKCI3QiIsW2Msc10pO0ogZD1IKGEpe0co
IW0mJmMmJihjLjNmPT00fHxhPT0iMlQiKSl7bT1NO0coZil7N2soZik7Zj1VfTF1
PWE9PSIyVCImJiIyVCJ8fCFELjdqKGMpJiYiM2UifHxzLjVTJiZELjdoKGMscy4x
YSkmJiI3SiJ8fCIxVyI7RygxdT09IjFXIil7MVV7TD1ELjZYKGMscy4xTyxzLjlT
KX0xVihlKXsxdT0iNUoifX1HKDF1PT0iMVciKXtKIGI7MVV7Yj1jLjVJKCI3Zy01
UiIpfTFWKGUpe31HKHMuNVMmJmIpRC40eltzLjFhXT1iO0coIWcpMVcoKX1OIEQu
NUgocyxjLDF1KTsxSigpO0cocy4zMSljPVV9fTtHKHMuMzEpe0ogZj00SShkLDEz
KTtHKHMuMlQ+MCkzQihIKCl7RyhjKXtjLjdsKCk7RyghbSlkKCIyVCIpfX0scy4y
VCl9MVV7Yy45UChzLkwpfTFWKGUpe0QuNUgocyxjLFUsZSl9Ryghcy4zMSlkKCk7
SCAxVygpe0cocy4xVylzLjFXKEwsMXUpO0cocy4yNilELlcuMVAoIjdDIixbYyxz
XSl9SCAxSigpe0cocy4xSilzLjFKKGMsMXUpO0cocy4yNilELlcuMVAoIjdGIixb
YyxzXSk7RyhzLjI2JiYhLS1ELjRPKUQuVy4xUCgiN0ciKX1JIGN9LDVIOkgocyxh
LGIsZSl7RyhzLjNlKXMuM2UoYSxiLGUpO0cocy4yNilELlcuMVAoIjdEIixbYSxz
LGVdKX0sNE86MCw3ajpIKGEpezFVe0khYS4xdSYmNVouOU89PSI1cDoifHwoYS4x
dT49N2UmJmEuMXU8OU4pfHxhLjF1PT03Y3x8YS4xdT09OUt8fEQuMTQuMmsmJmEu
MXU9PTEyfTFWKGUpe31JIFF9LDdoOkgoYSxjKXsxVXtKIGI9YS41SSgiN2ctNVIi
KTtJIGEuMXU9PTdjfHxiPT1ELjR6W2NdfHxELjE0LjJrJiZhLjF1PT0xMn0xVihl
KXt9SSBRfSw2WDpIKGEsYyxiKXtKIGQ9YS41SSgiOUotTyIpLDJOPWM9PSIyTiJ8
fCFjJiZkJiZkLjFoKCIyTiIpPj0wLEw9Mk4/YS45STphLjRVO0coMk4mJkwuMUMu
Mmo9PSI1SiIpN3AiNUoiO0coYilMPWIoTCxjKTtHKGM9PSIxbSIpRC41dShMKTtH
KGM9PSIzeiIpTD02dSgiKCIrTCsiKSIpO0kgTH0sM246SChhKXtKIHM9W107Ryhh
LjFxPT0ycHx8YS41dylELlAoYSxIKCl7cy4xcCgzdSg3LjM0KSsiPSIrM3UoNy4y
eCkpfSk7TiBSKEogaiAxbiBhKUcoYVtqXSYmYVtqXS4xcT09MnApRC5QKGFbal0s
SCgpe3MuMXAoM3UoaikrIj0iKzN1KDcpKX0pO04gcy4xcCgzdShqKSsiPSIrM3Uo
RC4xRChhW2pdKT9hW2pdKCk6YVtqXSkpO0kgcy42cygiJiIpLjFvKC8lMjAvZywi
KyIpfX0pO0QuMTcuMWwoezFOOkgoYyxiKXtJIGM/Ny4yZyh7MVo6IjFOIiwyaDoi
MU4iLDF5OiIxTiJ9LGMsYik6Ny4xRSgiOjFHIikuUChIKCl7Ny5WLjE4PTcuNUR8
fCIiO0coRC4xZyg3LCIxOCIpPT0iMkYiKXtKIGE9RCgiPCIrNy4yaisiIC8+Iiku
NlAoIjFjIik7Ny5WLjE4PWEuMWcoIjE4Iik7Ryg3LlYuMTg9PSIyRiIpNy5WLjE4
PSIzSSI7YS4yMSgpfX0pLjNsKCl9LDFNOkgoYixhKXtJIGI/Ny4yZyh7MVo6IjFN
IiwyaDoiMU0iLDF5OiIxTSJ9LGIsYSk6Ny4xRSgiOjRqIikuUChIKCl7Ny41RD03
LjVEfHxELjFnKDcsIjE4Iik7Ny5WLjE4PSIyRiJ9KS4zbCgpfSw3ODpELjE3LjJt
LDJtOkgoYSxiKXtJIEQuMUQoYSkmJkQuMUQoYik/Ny43OC4xdyg3LDE5KTphPzcu
MmcoezFaOiIybSIsMmg6IjJtIiwxeToiMm0ifSxhLGIpOjcuUChIKCl7RCg3KVtE
KDcpLjNGKCI6MUciKT8iMU4iOiIxTSJdKCl9KX0sOUc6SChiLGEpe0kgNy4yZyh7
MVo6IjFOIn0sYixhKX0sOUY6SChiLGEpe0kgNy4yZyh7MVo6IjFNIn0sYixhKX0s
OUU6SChiLGEpe0kgNy4yZyh7MVo6IjJtIn0sYixhKX0sOUQ6SChiLGEpe0kgNy4y
Zyh7MXk6IjFOIn0sYixhKX0sOU06SChiLGEpe0kgNy4yZyh7MXk6IjFNIn0sYixh
KX0sOUM6SChjLGEsYil7SSA3LjJnKHsxeTphfSxjLGIpfSwyZzpIKGssaixpLGcp
e0ogaD1ELjc3KGosaSxnKTtJIDdbaC4zNj09PVE/IlAiOiIzNiJdKEgoKXtHKDcu
MTYhPTEpSSBRO0ogZj1ELjFsKHt9LGgpLHAsMUc9RCg3KS4zRigiOjFHIiksNDY9
NztSKHAgMW4gayl7RyhrW3BdPT0iMU0iJiYxR3x8a1twXT09IjFOIiYmITFHKUkg
Zi4xSi4xayg3KTtHKHA9PSIxWiJ8fHA9PSIyaCIpe2YuMTg9RC4xZyg3LCIxOCIp
O2YuMzM9Ny5WLjMzfX1HKGYuMzMhPVUpNy5WLjMzPSIxRyI7Zi40NT1ELjFsKHt9
LGspO0QuUChrLEgoYyxhKXtKIGU9MkIgRC4yOCg0NixmLGMpO0coLzJtfDFOfDFN
Ly4xMShhKSllW2E9PSIybSI/MUc/IjFOIjoiMU0iOmFdKGspO057SiBiPWEuNnIo
KS4xSSgvXihbKy1dPSk/KFtcXGQrLS5dKykoLiopJC8pLDJiPWUuMXQoTSl8fDA7
RyhiKXtKIGQ9M2QoYlsyXSksMk09YlszXXx8IjJYIjtHKDJNIT0iMlgiKXs0Ni5W
W2NdPShkfHwxKSsyTTsyYj0oKGR8fDEpL2UuMXQoTSkpKjJiOzQ2LlZbY109MmIr
Mk19RyhiWzFdKWQ9KChiWzFdPT0iLT0iPy0xOjEpKmQpKzJiO2UuM0coMmIsZCwy
TSl9TiBlLjNHKDJiLGEsIiIpfX0pO0kgTX0pfSwzNjpIKGEsYil7RyhELjFEKGEp
fHwoYSYmYS4xcT09MnApKXtiPWE7YT0iMjgifUcoIWF8fCgxaiBhPT0iMjMiJiYh
YikpSSBBKDdbMF0sYSk7SSA3LlAoSCgpe0coYi4xcT09MnApQSg3LGEsYik7TntB
KDcsYSkuMXAoYik7RyhBKDcsYSkuSz09MSliLjFrKDcpfX0pfSw5WDpIKGIsYyl7
SiBhPUQuM087RyhiKTcuMzYoW10pOzcuUChIKCl7UihKIGk9YS5LLTE7aT49MDtp
LS0pRyhhW2ldLlQ9PTcpe0coYylhW2ldKE0pO2EuN24oaSwxKX19KTtHKCFjKTcu
NUEoKTtJIDd9fSk7SiBBPUgoYixjLGEpe0coYil7Yz1jfHwiMjgiO0ogcT1ELkwo
YixjKyIzNiIpO0coIXF8fGEpcT1ELkwoYixjKyIzNiIsRC4yZChhKSl9SSBxfTtE
LjE3LjVBPUgoYSl7YT1hfHwiMjgiO0kgNy5QKEgoKXtKIHE9QSg3LGEpO3EuNHMo
KTtHKHEuSylxWzBdLjFrKDcpfSl9O0QuMWwoezc3OkgoYixhLGMpe0ogZD1iJiZi
LjFxPT1hMD9iOnsxSjpjfHwhYyYmYXx8RC4xRChiKSYmYiwydTpiLDQxOmMmJmF8
fGEmJmEuMXEhPTl0JiZhfTtkLjJ1PShkLjJ1JiZkLjJ1LjFxPT00TD9kLjJ1OkQu
MjguNUtbZC4ydV0pfHxELjI4LjVLLjc0O2QuNU09ZC4xSjtkLjFKPUgoKXtHKGQu
MzYhPT1RKUQoNykuNUEoKTtHKEQuMUQoZC41TSkpZC41TS4xayg3KX07SSBkfSw0
MTp7NzM6SChwLG4sYixhKXtJIGIrYSpwfSw1UDpIKHAsbixiLGEpe0koKC0yOS45
cihwKjI5LjlxKS8yKSswLjUpKmErYn19LDNPOltdLDQ4OlUsMjg6SChiLGMsYSl7
Ny4xNT1jOzcuVD1iOzcuMWk9YTtHKCFjLjNaKWMuM1o9e319fSk7RC4yOC40ND17
NEQ6SCgpe0coNy4xNS4yWSk3LjE1LjJZLjFrKDcuVCw3LjF6LDcpOyhELjI4LjJZ
WzcuMWldfHxELjI4LjJZLjR3KSg3KTtHKDcuMWk9PSIxWiJ8fDcuMWk9PSIyaCIp
Ny5ULlYuMTg9IjNJIn0sMXQ6SChhKXtHKDcuVFs3LjFpXSE9VSYmNy5ULlZbNy4x
aV09PVUpSSA3LlRbNy4xaV07SiByPTNkKEQuMWcoNy5ULDcuMWksYSkpO0kgciYm
cj4tOXA/cjozZChELjJhKDcuVCw3LjFpKSl8fDB9LDNHOkgoYyxiLGQpezcuNVY9
MXooKTs3LjJiPWM7Ny4zbD1iOzcuMk09ZHx8Ny4yTXx8IjJYIjs3LjF6PTcuMmI7
Ny4yUz03LjROPTA7Ny40RCgpO0ogZT03O0ggdChhKXtJIGUuMlkoYSl9dC5UPTcu
VDtELjNPLjFwKHQpO0coRC40OD09VSl7RC40OD00SShIKCl7SiBhPUQuM087UihK
IGk9MDtpPGEuSztpKyspRyghYVtpXSgpKWEuN24oaS0tLDEpO0coIWEuSyl7N2so
RC40OCk7RC40OD1VfX0sMTMpfX0sMU46SCgpezcuMTUuM1pbNy4xaV09RC4xSyg3
LlQuViw3LjFpKTs3LjE1LjFOPU07Ny4zRygwLDcuMXQoKSk7Ryg3LjFpPT0iMmgi
fHw3LjFpPT0iMVoiKTcuVC5WWzcuMWldPSI5bSI7RCg3LlQpLjFOKCl9LDFNOkgo
KXs3LjE1LjNaWzcuMWldPUQuMUsoNy5ULlYsNy4xaSk7Ny4xNS4xTT1NOzcuM0co
Ny4xdCgpLDApfSwyWTpIKGEpe0ogdD0xeigpO0coYXx8dD43LjE1LjJ1KzcuNVYp
ezcuMXo9Ny4zbDs3LjJTPTcuNE49MTs3LjREKCk7Ny4xNS40NVs3LjFpXT1NO0og
Yj1NO1IoSiBpIDFuIDcuMTUuNDUpRyg3LjE1LjQ1W2ldIT09TSliPVE7RyhiKXtH
KDcuMTUuMTghPVUpezcuVC5WLjMzPTcuMTUuMzM7Ny5ULlYuMTg9Ny4xNS4xODtH
KEQuMWcoNy5ULCIxOCIpPT0iMkYiKTcuVC5WLjE4PSIzSSJ9Ryg3LjE1LjFNKTcu
VC5WLjE4PSIyRiI7Ryg3LjE1LjFNfHw3LjE1LjFOKVIoSiBwIDFuIDcuMTUuNDUp
RC4xSyg3LlQuVixwLDcuMTUuM1pbcF0pfUcoYik3LjE1LjFKLjFrKDcuVCk7SSBR
fU57SiBuPXQtNy41Vjs3LjROPW4vNy4xNS4ydTs3LjJTPUQuNDFbNy4xNS40MXx8
KEQuNDEuNVA/IjVQIjoiNzMiKV0oNy40TixuLDAsMSw3LjE1LjJ1KTs3LjF6PTcu
MmIrKCg3LjNsLTcuMmIpKjcuMlMpOzcuNEQoKX1JIE19fTtELjFsKEQuMjgsezVL
Ons5bDo5aiw5aTo3ZSw3NDo5Z30sMlk6ezJlOkgoYSl7YS5ULjJlPWEuMXp9LDJj
OkgoYSl7YS5ULjJjPWEuMXp9LDF5OkgoYSl7RC4xSyhhLlQuViwiMXkiLGEuMXop
fSw0dzpIKGEpe2EuVC5WW2EuMWldPWEuMXorYS4yTX19fSk7RC4xNy4yaT1IKCl7
SiBiPTAsMVM9MCxUPTdbMF0sM3E7RyhUKWFvKEQuMTQpe0ogZD1ULjFkLDRhPVQs
MXM9VC4xcywxUT1ULjJ6LDVVPTJrJiYzcig1Qik8OWMmJiEvOWEvaS4xMSh2KSwx
Zz1ELjJhLDNjPTFnKFQsIjMwIik9PSIzYyI7RyhULjd5KXtKIGM9VC43eSgpOzFl
KGMuMUErMjkuMmYoMVEuMUMuMmUsMVEuMWMuMmUpLGMuMVMrMjkuMmYoMVEuMUMu
MmMsMVEuMWMuMmMpKTsxZSgtMVEuMUMuNmIsLTFRLjFDLjZhKX1OezFlKFQuNVgs
VC41Vyk7MUIoMXMpezFlKDFzLjVYLDFzLjVXKTtHKDQyJiYhL150KDk4fGR8aCkk
L2kuMTEoMXMuMmopfHwyayYmITVVKTJDKDFzKTtHKCEzYyYmMWcoMXMsIjMwIik9
PSIzYyIpM2M9TTs0YT0vXjFjJC9pLjExKDFzLjJqKT80YToxczsxcz0xcy4xc30x
QihkJiZkLjJqJiYhL14xY3wySyQvaS4xMShkLjJqKSl7RyghL145NnwxVC4qJC9p
LjExKDFnKGQsIjE4IikpKTFlKC1kLjJlLC1kLjJjKTtHKDQyJiYxZyhkLCIzMyIp
IT0iNGoiKTJDKGQpO2Q9ZC4xZH1HKCg1VSYmKDNjfHwxZyg0YSwiMzAiKT09IjV4
IikpfHwoNDImJjFnKDRhLCIzMCIpIT0iNXgiKSkxZSgtMVEuMWMuNVgsLTFRLjFj
LjVXKTtHKDNjKTFlKDI5LjJmKDFRLjFDLjJlLDFRLjFjLjJlKSwyOS4yZigxUS4x
Qy4yYywxUS4xYy4yYykpfTNxPXsxUzoxUywxQTpifX1IIDJDKGEpezFlKEQuMmEo
YSwiNlYiLE0pLEQuMmEoYSwiNlUiLE0pKX1IIDFlKGwsdCl7Yis9M3IobCwxMCl8
fDA7MVMrPTNyKHQsMTApfHwwfUkgM3F9O0QuMTcuMWwoezMwOkgoKXtKIGE9MCwx
Uz0wLDNxO0coN1swXSl7SiBiPTcuMXMoKSwyaT03LjJpKCksNGM9L14xY3wySyQv
aS4xMShiWzBdLjJqKT97MVM6MCwxQTowfTpiLjJpKCk7MmkuMVMtPTI1KDcsXCc5
NFwnKTsyaS4xQS09MjUoNyxcJ2FGXCcpOzRjLjFTKz0yNShiLFwnNlVcJyk7NGMu
MUErPTI1KGIsXCc2VlwnKTszcT17MVM6MmkuMVMtNGMuMVMsMUE6MmkuMUEtNGMu
MUF9fUkgM3F9LDFzOkgoKXtKIGE9N1swXS4xczsxQihhJiYoIS9eMWN8MkskL2ku
MTEoYS4yaikmJkQuMWcoYSxcJzMwXCcpPT1cJzkzXCcpKWE9YS4xcztJIEQoYSl9
fSk7RC5QKFtcJzVlXCcsXCc1R1wnXSxIKGksYil7SiBjPVwnNHlcJytiO0QuMTdb
Y109SChhKXtHKCE3WzBdKUk7SSBhIT0xMj83LlAoSCgpezc9PTFifHw3PT1TPzFi
LjkyKCFpP2E6RCgxYikuMmUoKSxpP2E6RCgxYikuMmMoKSk6N1tjXT1hfSk6N1sw
XT09MWJ8fDdbMF09PVM/NDZbaT9cJ2FJXCc6XCdhSlwnXXx8RC43MSYmUy4xQ1tj
XXx8Uy4xY1tjXTo3WzBdW2NdfX0pO0QuUChbIjZOIiwiNGIiXSxIKGksYil7SiBj
PWk/IjVlIjoiNUciLDRmPWk/IjZrIjoiNmkiO0QuMTdbIjVzIitiXT1IKCl7SSA3
W2IuM3koKV0oKSsyNSg3LCI1NyIrYykrMjUoNywiNTciKzRmKX07RC4xN1siOTAi
K2JdPUgoYSl7SSA3WyI1cyIrYl0oKSsyNSg3LCIyQyIrYysiNGIiKSsyNSg3LCIy
QyIrNGYrIjRiIikrKGE/MjUoNywiNlMiK2MpKzI1KDcsIjZTIis0Zik6MCl9fSl9
KSgpOycsNjIsNjY5LCd8fHx8fHx8dGhpc3x8fHx8fHx8fHx8fHx8fHx8fHx8fHx8
fHx8fHx8fHx8fHx8aWZ8ZnVuY3Rpb258cmV0dXJufHZhcnxsZW5ndGh8ZGF0YXx0
cnVlfGVsc2V8dHlwZXxlYWNofGZhbHNlfGZvcnxkb2N1bWVudHxlbGVtfG51bGx8
c3R5bGV8ZXZlbnR8fG5vZGVOYW1lfHx8dGVzdHx1bmRlZmluZWR8fGJyb3dzZXJ8
b3B0aW9uc3xub2RlVHlwZXxmbnxkaXNwbGF5fGFyZ3VtZW50c3x1cmx8d2luZG93
fGJvZHl8cGFyZW50Tm9kZXxhZGR8bXNpZXxjc3N8aW5kZXhPZnxwcm9wfHR5cGVv
ZnxjYWxsfGV4dGVuZHxzY3JpcHR8aW58cmVwbGFjZXxwdXNofGNvbnN0cnVjdG9y
fHRleHR8b2Zmc2V0UGFyZW50fGN1cnxzdGF0dXN8ZGl2fGFwcGx5fGZpcnN0Q2hp
bGR8b3BhY2l0eXxub3d8bGVmdHx3aGlsZXxkb2N1bWVudEVsZW1lbnR8aXNGdW5j
dGlvbnxmaWx0ZXJ8Y2xhc3NOYW1lfGhpZGRlbnxoYW5kbGV8bWF0Y2h8Y29tcGxl
dGV8YXR0cnxyZXR8aGlkZXxzaG93fGRhdGFUeXBlfHRyaWdnZXJ8ZG9jfHNwbGl0
fHRvcHx0YWJsZXx0cnl8Y2F0Y2h8c3VjY2Vzc3xicmVha3xjYWNoZXxoZWlnaHR8
fHJlbW92ZXx0Ym9keXxzdHJpbmd8Z3VpZHxudW18Z2xvYmFsfHJlYWR5fGZ4fE1h
dGh8Y3VyQ1NTfHN0YXJ0fHNjcm9sbFRvcHxtYWtlQXJyYXl8c2Nyb2xsTGVmdHxt
YXh8YW5pbWF0ZXx3aWR0aHxvZmZzZXR8dGFnTmFtZXxzYWZhcml8bWFwfHRvZ2ds
ZXx8ZG9uZXxBcnJheXxmaW5kfHRvVXBwZXJDYXNlfGJ1dHRvbnxzcGVjaWFsfGR1
cmF0aW9ufGlkfGNvcHl8dmFsdWV8aGFuZGxlcnxvd25lckRvY3VtZW50fHNlbGVj
dHxuZXd8Ym9yZGVyfGV4ZWN8c3RhY2t8bm9uZXxvcGVyYXxuZXh0U2libGluZ3xw
dXNoU3RhY2t8dGFyZ2V0fGh0bWx8aW5BcnJheXx1bml0fHhtbHxiaW5kfEdFVHxp
c1JlYWR5fG1lcmdlfHBvc3x0aW1lb3V0fGRlbGV0ZXxvbmV8c2VsZWN0ZWR8cHh8
c3RlcHxqc3JlfHBvc2l0aW9ufGFzeW5jfHByZXZlbnREZWZhdWx0fG92ZXJmbG93
fG5hbWV8d2hpY2h8cXVldWV8cmVtb3ZlQ2hpbGR8bmFtZXNwYWNlfGluc2VydEJl
Zm9yZXxudGh8cmVtb3ZlRGF0YXxmaXhlZHxwYXJzZUZsb2F0fGVycm9yfHJlYWR5
U3RhdGV8bXVsdGlGaWx0ZXJ8Y3JlYXRlRWxlbWVudHxybHxyZXx0cmltfGVuZHxf
fHBhcmFtfGZpcnN0fGdldHxyZXN1bHRzfHBhcnNlSW50fHNsaWNlfGNoaWxkTm9k
ZXN8ZW5jb2RlVVJJQ29tcG9uZW50fGFwcGVuZHxldmVudHN8ZWxlbXN8dG9Mb3dl
ckNhc2V8anNvbnxyZWFkeUxpc3R8c2V0VGltZW91dHxncmVwfG1vdXNlZW50ZXJ8
Y29sb3J8aXN8Y3VzdG9tfGdldEVsZW1lbnRzQnlUYWdOYW1lfGJsb2NrfHN0b3BQ
cm9wYWdhdGlvbnxhZGRFdmVudExpc3RlbmVyfGNhbGxlZXxwcm94eXxtb3VzZWxl
YXZlfHRpbWVyc3xkZWZhdWx0Vmlld3xwYXNzd29yZHxkaXNhYmxlZHxsYXN0fGhh
c3xhcHBlbmRDaGlsZHxmb3JtfGRvbU1hbmlwfHByb3BzfGFqYXh8b3JpZ3xzZXR8
ZWFzaW5nfG1vemlsbGF8bG9hZHxwcm90b3R5cGV8Y3VyQW5pbXxzZWxmfGNoYXJD
b2RlfHRpbWVySWR8b2JqZWN0fG9mZnNldENoaWxkfFdpZHRofHBhcmVudE9mZnNl
dHxzcmN8dW5iaW5kfGJyfGN1cnJlbnRTdHlsZXxjbGVhbnxmbG9hdHx2aXNpYmxl
fHJlbGF0ZWRUYXJnZXR8cHJldmlvdXNTaWJsaW5nfGhhbmRsZXJzfGlzWE1MRG9j
fG9ufHNldHVwfG5vZGVJbmRleHx1bmlxdWV8c2hpZnR8amF2YXNjcmlwdHxjaGls
ZHxSZWdFeHB8X2RlZmF1bHR8ZGVlcHxzY3JvbGx8bGFzdE1vZGlmaWVkfHRlYXJk
b3dufHNldFJlcXVlc3RIZWFkZXJ8dGltZVN0YW1wfHVwZGF0ZXxlbXB0eXx0cnxn
ZXRBdHRyaWJ1dGV8aW5uZXJIVE1MfHNldEludGVydmFsfGNoZWNrZWR8ZnJvbUVs
ZW1lbnR8TnVtYmVyfGpRdWVyeXxzdGF0ZXxhY3RpdmV8anNvbnB8YWNjZXB0c3xh
cHBsaWNhdGlvbnxkaXJ8aW5wdXR8cmVzcG9uc2VUZXh0fGNsaWNrfHN0eWxlU2hl
ZXRzfHVubG9hZHxub3R8bGFzdFRvZ2dsZXxvdXRsaW5lfG1vdXNlb3V0fGdldFBy
b3BlcnR5VmFsdWV8bW91c2VvdmVyfGdldENvbXB1dGVkU3R5bGV8YmluZFJlYWR5
fFN0cmluZ3xwYWRkaW5nfHBhZ2VYfG1ldGFLZXl8a2V5Q29kZXxnZXRXSHxhbmRT
ZWxmfGNsaWVudFh8TGVmdHxhbGx8dmlzaWJpbGl0eXxjb250YWluZXJ8aW5kZXh8
aW5pdHx0cmlnZ2VyZWR8cmVtb3ZlQXR0cmlidXRlfGNsYXNzRmlsdGVyfHByZXZP
YmplY3R8c3VibWl0fGZpbGV8YWZ0ZXJ8d2luZG93RGF0YXxpbm5lcnxjbGllbnR8
Z2xvYmFsRXZhbHxzaWJsaW5nfGpxdWVyeXxhYnNvbHV0ZXxjbG9uZXx3cmFwQWxs
fGRlcXVldWV8dmVyc2lvbnx0cmlnZ2VySGFuZGxlcnxvbGRibG9ja3xjdHJsS2V5
fGNyZWF0ZVRleHROb2RlfFRvcHxoYW5kbGVFcnJvcnxnZXRSZXNwb25zZUhlYWRl
cnxwYXJzZXJlcnJvcnxzcGVlZHN8Y2hlY2tib3h8b2xkfDAwfHJhZGlvfHN3aW5n
fGhyZWZ8TW9kaWZpZWR8aWZNb2RpZmllZHxsYXN0Q2hpbGR8c2FmYXJpMnxzdGFy
dFRpbWV8b2Zmc2V0VG9wfG9mZnNldExlZnR8dXNlcm5hbWV8bG9jYXRpb258YWph
eFNldHRpbmdzfGdldEVsZW1lbnRCeUlkfGlzU2ltcGxlfHZhbHVlc3xzZWxlY3Rl
ZEluZGV4fHJ1bnRpbWVTdHlsZXxyc0xlZnR8X2xvYWR8bG9hZGVkfERPTUNvbnRl
bnRMb2FkZWR8Y2xpZW50VG9wfGNsaWVudExlZnR8dG9FbGVtZW50fHNyY0VsZW1l
bnR8dmFsfHBhZ2VZfFBPU1R8dW5zaGlmdHxCb3R0b218Y2xpZW50WXxSaWdodHxm
aXh8ZXhjbHVzaXZlfGRldGFjaEV2ZW50fGNsb25lTm9kZXxyZW1vdmVFdmVudExp
c3RlbmVyfHN3YXB8dG9TdHJpbmd8am9pbnxhdHRhY2hFdmVudHxldmFsfHN1YnN0
cnxoZWFkfHBhcnNlfHRleHRhcmVhfHJlc2V0fGltYWdlfHpvb218b2RkfGV2ZW58
YmVmb3JlfHByZXBlbmR8ZXhjbHVkZXxleHByfHF1aWNrQ2xhc3N8cXVpY2tJRHx1
dWlkfHF1aWNrQ2hpbGR8Y29udGludWV8SGVpZ2h0fHRleHRDb250ZW50fGFwcGVu
ZFRvfGNvbnRlbnRzfG9wZW58bWFyZ2lufGV2YWxTY3JpcHR8Ym9yZGVyVG9wV2lk
dGh8Ym9yZGVyTGVmdFdpZHRofHBhcmVudHxodHRwRGF0YXxzZXRBcnJheXxDU1Mx
Q29tcGF0fGNvbXBhdE1vZGV8Ym94TW9kZWx8Y3NzRmxvYXR8bGluZWFyfGRlZnx3
ZWJraXR8bm9kZVZhbHVlfHNwZWVkfF90b2dnbGV8ZXF8MTAwfHJlcGxhY2VXaXRo
fDMwNHxjb25jYXR8MjAwfGFscGhhfExhc3R8aHR0cE5vdE1vZGlmaWVkfGdldEF0
dHJpYnV0ZU5vZGV8aHR0cFN1Y2Nlc3N8Y2xlYXJJbnRlcnZhbHxhYm9ydHxiZWZv
cmVTZW5kfHNwbGljZXxzdHlsZUZsb2F0fHRocm93fGNvbGdyb3VwfFhNTEh0dHBS
ZXF1ZXN0fEFjdGl2ZVhPYmplY3R8c2NyaXB0Q2hhcnNldHxjYWxsYmFja3xmaWVs
ZHNldHxtdWx0aXBsZXxwcm9jZXNzRGF0YXxnZXRCb3VuZGluZ0NsaWVudFJlY3R8
Y29udGVudFR5cGV8bGlua3xhamF4U2VuZHxhamF4U3VjY2Vzc3xhamF4RXJyb3J8
Y29sfGFqYXhDb21wbGV0ZXxhamF4U3RvcHxhamF4U3RhcnR8c2VyaWFsaXplQXJy
YXl8bm90bW9kaWZpZWR8a2V5cHJlc3N8a2V5ZG93bnxjaGFuZ2V8bW91c2V1cHxt
b3VzZWRvd258ZGJsY2xpY2t8Zm9jdXN8Ymx1cnxzdHlsZXNoZWV0fGhhc0NsYXNz
fHJlbHxkb1Njcm9sbHxibGFja3xob3Zlcnxzb2xpZHxjYW5jZWxCdWJibGV8cmV0
dXJuVmFsdWV8d2hlZWxEZWx0YXx2aWV3fHJvdW5kfHNoaWZ0S2V5fHJlc2l6ZXxz
Y3JlZW5ZfHNjcmVlblh8cmVsYXRlZE5vZGV8bW91c2Vtb3ZlfHByZXZWYWx1ZXxv
cmlnaW5hbFRhcmdldHxvZmZzZXRIZWlnaHR8a2V5dXB8bmV3VmFsdWV8b2Zmc2V0
V2lkdGh8ZXZlbnRQaGFzZXxkZXRhaWx8Y3VycmVudFRhcmdldHxjYW5jZWxhYmxl
fGJ1YmJsZXN8YXR0ck5hbWV8YXR0ckNoYW5nZXxhbHRLZXl8b3JpZ2luYWxFdmVu
dHxjaGFyQXR8MG58c3Vic3RyaW5nfGFuaW1hdGVkfGhlYWRlcnxub0NvbmZsaWN0
fGxpbmV8ZW5hYmxlZHxpbm5lclRleHR8Y29udGFpbnN8b25seXx3ZWlnaHR8Zm9u
dHxndHxsdHx1RkZGRnx1MDEyOHxzaXplfDQxN3xCb29sZWFufERhdGV8dG9nZ2xl
Q2xhc3N8cmVtb3ZlQ2xhc3N8YWRkQ2xhc3N8cmVtb3ZlQXR0cnxyZXBsYWNlQWxs
fGluc2VydEFmdGVyfHByZXBlbmRUb3x3cmFwfGNvbnRlbnRXaW5kb3d8Y29udGVu
dERvY3VtZW50fGlmcmFtZXxjaGlsZHJlbnxzaWJsaW5nc3xwcmV2QWxsfHdyYXBJ
bm5lcnxuZXh0QWxsfG91dGVyfHByZXZ8c2Nyb2xsVG98c3RhdGljfG1hcmdpblRv
cHxuZXh0fGlubGluZXxwYXJlbnRzfGFibGV8Y2VsbFNwYWNpbmd8YWRvYmVhaXJ8
Y2VsbHNwYWNpbmd8NTIyfG1heExlbmd0aHxtYXhsZW5ndGh8cmVhZE9ubHl8NDAw
fHJlYWRvbmx5fGZhc3R8NjAwfGNsYXNzfHNsb3d8MXB4fGh0bWxGb3J8cmV2ZXJz
ZXwxMDAwMHxQSXxjb3N8Y29tcGF0aWJsZXxGdW5jdGlvbnxzZXREYXRhfGllfHJh
fGl0fHJ2fGdldERhdGF8dXNlckFnZW50fG5hdmlnYXRvcnxmYWRlVG98ZmFkZUlu
fHNsaWRlVG9nZ2xlfHNsaWRlVXB8c2xpZGVEb3dufGlnfHJlc3BvbnNlWE1MfGNv
bnRlbnR8MTIyM3xOYU58ZmFkZU91dHwzMDB8cHJvdG9jb2x8c2VuZHxzZXRBdHRy
aWJ1dGV8b3B0aW9ufGRhdGFGaWx0ZXJ8Y3NzVGV4dHxjaGFuZ2VkfGJlfEFjY2Vw
dHxzdG9wfFdpdGh8UmVxdWVzdGVkfE9iamVjdHxjYW58R01UfHByb3BlcnR5fDE5
NzB8SmFufDAxfFRodXxTaW5jZXxJZnxUeXBlfENvbnRlbnR8WE1MSFRUUHx0aHxN
aWNyb3NvZnR8dGR8b25yZWFkeXN0YXRlY2hhbmdlfG9ubG9hZHxjYXB8Y2hhcnNl
dHxjb2xnfGhvc3R8dGZvb3R8c3BlY2lmaWVkfHdpdGh8MV98dGhlYWR8bGVnfHBs
YWlufGF0dHJpYnV0ZXN8b3B0fGVtYmVkfHVybGVuY29kZWR8d3d3fGFyZWF8aHJ8
YWpheFNldHVwfG1ldGF8cG9zdHxnZXRKU09OfGdldFNjcmlwdHxtYXJnaW5MZWZ0
fGltZ3xlbGVtZW50c3xwYWdlWU9mZnNldHxwYWdlWE9mZnNldHxhYmJyfHNlcmlh
bGl6ZXxwaXhlbExlZnQnLnNwbGl0KCd8JyksMCx7fSkp

------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=drupal.js
Content-Type: application/javascript; charset=utf-8; name=drupal.js
Content-Location: http://www.psychologytoday.com/misc/drupal.js?D
Content-Transfer-Encoding: Base64

Ly8gJElkOiBkcnVwYWwuanMsdiAxLjQxLjIuNCAyMDA5LzA3LzIxIDA4OjU5OjEw
IGdvYmEgRXhwICQKCnZhciBEcnVwYWwgPSBEcnVwYWwgfHwgeyAnc2V0dGluZ3Mn
OiB7fSwgJ2JlaGF2aW9ycyc6IHt9LCAndGhlbWVzJzoge30sICdsb2NhbGUnOiB7
fSB9OwoKLyoqCiAqIFNldCB0aGUgdmFyaWFibGUgdGhhdCBpbmRpY2F0ZXMgaWYg
SmF2YVNjcmlwdCBiZWhhdmlvcnMgc2hvdWxkIGJlIGFwcGxpZWQKICovCkRydXBh
bC5qc0VuYWJsZWQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSAmJiBk
b2N1bWVudC5jcmVhdGVFbGVtZW50ICYmIGRvY3VtZW50LmNyZWF0ZVRleHROb2Rl
ICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAmJiBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZDsKCi8qKgogKiBBdHRhY2ggYWxsIHJlZ2lzdGVyZWQgYmVoYXZpb3Jz
IHRvIGEgcGFnZSBlbGVtZW50LgogKgogKiBCZWhhdmlvcnMgYXJlIGV2ZW50LXRy
aWdnZXJlZCBhY3Rpb25zIHRoYXQgYXR0YWNoIHRvIHBhZ2UgZWxlbWVudHMsIGVu
aGFuY2luZwogKiBkZWZhdWx0IG5vbi1KYXZhc2NyaXB0IFVJcy4gQmVoYXZpb3Jz
IGFyZSByZWdpc3RlcmVkIGluIHRoZSBEcnVwYWwuYmVoYXZpb3JzCiAqIG9iamVj
dCBhcyBmb2xsb3dzOgogKiBAY29kZQogKiAgICBEcnVwYWwuYmVoYXZpb3JzLmJl
aGF2aW9yTmFtZSA9IGZ1bmN0aW9uICgpIHsKICogICAgICAuLi4KICogICAgfTsK
ICogQGVuZGNvZGUKICoKICogRHJ1cGFsLmF0dGFjaEJlaGF2aW9ycyBpcyBhZGRl
ZCBiZWxvdyB0byB0aGUgalF1ZXJ5IHJlYWR5IGV2ZW50IGFuZCBzbwogKiBydW5z
IG9uIGluaXRpYWwgcGFnZSBsb2FkLiBEZXZlbG9wZXJzIGltcGxlbWVudGluZyBB
SEFIL0FKQVggaW4gdGhlaXIKICogc29sdXRpb25zIHNob3VsZCBhbHNvIGNhbGwg
dGhpcyBmdW5jdGlvbiBhZnRlciBuZXcgcGFnZSBjb250ZW50IGhhcyBiZWVuCiAq
IGxvYWRlZCwgZmVlZGluZyBpbiBhbiBlbGVtZW50IHRvIGJlIHByb2Nlc3NlZCwg
aW4gb3JkZXIgdG8gYXR0YWNoIGFsbAogKiBiZWhhdmlvcnMgdG8gdGhlIG5ldyBj
b250ZW50LgogKgogKiBCZWhhdmlvcnMgc2hvdWxkIHVzZSBhIGNsYXNzIGluIHRo
ZSBmb3JtIGJlaGF2aW9yTmFtZS1wcm9jZXNzZWQgdG8gZW5zdXJlCiAqIHRoZSBi
ZWhhdmlvciBpcyBhdHRhY2hlZCBvbmx5IG9uY2UgdG8gYSBnaXZlbiBlbGVtZW50
LiAoRG9pbmcgc28gZW5hYmxlcwogKiB0aGUgcmVwcm9jZXNzaW5nIG9mIGdpdmVu
IGVsZW1lbnRzLCB3aGljaCBtYXkgYmUgbmVlZGVkIG9uIG9jY2FzaW9uIGRlc3Bp
dGUKICogdGhlIGFiaWxpdHkgdG8gbGltaXQgYmVoYXZpb3IgYXR0YWNobWVudCB0
byBhIHBhcnRpY3VsYXIgZWxlbWVudC4pCiAqCiAqIEBwYXJhbSBjb250ZXh0CiAq
ICAgQW4gZWxlbWVudCB0byBhdHRhY2ggYmVoYXZpb3JzIHRvLiBJZiBub25lIGlz
IGdpdmVuLCB0aGUgZG9jdW1lbnQgZWxlbWVudAogKiAgIGlzIHVzZWQuCiAqLwpE
cnVwYWwuYXR0YWNoQmVoYXZpb3JzID0gZnVuY3Rpb24oY29udGV4dCkgewogIGNv
bnRleHQgPSBjb250ZXh0IHx8IGRvY3VtZW50OwogIGlmIChEcnVwYWwuanNFbmFi
bGVkKSB7CiAgICAvLyBFeGVjdXRlIGFsbCBvZiB0aGVtLgogICAgalF1ZXJ5LmVh
Y2goRHJ1cGFsLmJlaGF2aW9ycywgZnVuY3Rpb24oKSB7CiAgICAgIHRoaXMoY29u
dGV4dCk7CiAgICB9KTsKICB9Cn07CgovKioKICogRW5jb2RlIHNwZWNpYWwgY2hh
cmFjdGVycyBpbiBhIHBsYWluLXRleHQgc3RyaW5nIGZvciBkaXNwbGF5IGFzIEhU
TUwuCiAqLwpEcnVwYWwuY2hlY2tQbGFpbiA9IGZ1bmN0aW9uKHN0cikgewogIHN0
ciA9IFN0cmluZyhzdHIpOwogIHZhciByZXBsYWNlID0geyAnJic6ICcmYW1wOycs
ICciJzogJyZxdW90OycsICc8JzogJyZsdDsnLCAnPic6ICcmZ3Q7JyB9OwogIGZv
ciAodmFyIGNoYXJhY3RlciBpbiByZXBsYWNlKSB7CiAgICB2YXIgcmVnZXggPSBu
ZXcgUmVnRXhwKGNoYXJhY3RlciwgJ2cnKTsKICAgIHN0ciA9IHN0ci5yZXBsYWNl
KHJlZ2V4LCByZXBsYWNlW2NoYXJhY3Rlcl0pOwogIH0KICByZXR1cm4gc3RyOwp9
OwoKLyoqCiAqIFRyYW5zbGF0ZSBzdHJpbmdzIHRvIHRoZSBwYWdlIGxhbmd1YWdl
IG9yIGEgZ2l2ZW4gbGFuZ3VhZ2UuCiAqCiAqIFNlZSB0aGUgZG9jdW1lbnRhdGlv
biBvZiB0aGUgc2VydmVyLXNpZGUgdCgpIGZ1bmN0aW9uIGZvciBmdXJ0aGVyIGRl
dGFpbHMuCiAqCiAqIEBwYXJhbSBzdHIKICogICBBIHN0cmluZyBjb250YWluaW5n
IHRoZSBFbmdsaXNoIHN0cmluZyB0byB0cmFuc2xhdGUuCiAqIEBwYXJhbSBhcmdz
CiAqICAgQW4gb2JqZWN0IG9mIHJlcGxhY2VtZW50cyBwYWlycyB0byBtYWtlIGFm
dGVyIHRyYW5zbGF0aW9uLiBJbmNpZGVuY2VzCiAqICAgb2YgYW55IGtleSBpbiB0
aGlzIGFycmF5IGFyZSByZXBsYWNlZCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIHZh
bHVlLgogKiAgIEJhc2VkIG9uIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgdGhlIGtl
eSwgdGhlIHZhbHVlIGlzIGVzY2FwZWQgYW5kL29yIHRoZW1lZDoKICogICAgLSAh
dmFyaWFibGU6IGluc2VydGVkIGFzIGlzCiAqICAgIC0gQHZhcmlhYmxlOiBlc2Nh
cGUgcGxhaW4gdGV4dCB0byBIVE1MIChEcnVwYWwuY2hlY2tQbGFpbikKICogICAg
LSAldmFyaWFibGU6IGVzY2FwZSB0ZXh0IGFuZCB0aGVtZSBhcyBhIHBsYWNlaG9s
ZGVyIGZvciB1c2VyLXN1Ym1pdHRlZAogKiAgICAgIGNvbnRlbnQgKGNoZWNrUGxh
aW4gKyBEcnVwYWwudGhlbWUoJ3BsYWNlaG9sZGVyJykpCiAqIEByZXR1cm4KICog
ICBUaGUgdHJhbnNsYXRlZCBzdHJpbmcuCiAqLwpEcnVwYWwudCA9IGZ1bmN0aW9u
KHN0ciwgYXJncykgewogIC8vIEZldGNoIHRoZSBsb2NhbGl6ZWQgdmVyc2lvbiBv
ZiB0aGUgc3RyaW5nLgogIGlmIChEcnVwYWwubG9jYWxlLnN0cmluZ3MgJiYgRHJ1
cGFsLmxvY2FsZS5zdHJpbmdzW3N0cl0pIHsKICAgIHN0ciA9IERydXBhbC5sb2Nh
bGUuc3RyaW5nc1tzdHJdOwogIH0KCiAgaWYgKGFyZ3MpIHsKICAgIC8vIFRyYW5z
Zm9ybSBhcmd1bWVudHMgYmVmb3JlIGluc2VydGluZyB0aGVtCiAgICBmb3IgKHZh
ciBrZXkgaW4gYXJncykgewogICAgICBzd2l0Y2ggKGtleS5jaGFyQXQoMCkpIHsK
ICAgICAgICAvLyBFc2NhcGVkIG9ubHkKICAgICAgICBjYXNlICdAJzoKICAgICAg
ICAgIGFyZ3Nba2V5XSA9IERydXBhbC5jaGVja1BsYWluKGFyZ3Nba2V5XSk7CiAg
ICAgICAgYnJlYWs7CiAgICAgICAgLy8gUGFzcy10aHJvdWdoCiAgICAgICAgY2Fz
ZSAnISc6CiAgICAgICAgICBicmVhazsKICAgICAgICAvLyBFc2NhcGVkIGFuZCBw
bGFjZWhvbGRlcgogICAgICAgIGNhc2UgJyUnOgogICAgICAgIGRlZmF1bHQ6CiAg
ICAgICAgICBhcmdzW2tleV0gPSBEcnVwYWwudGhlbWUoJ3BsYWNlaG9sZGVyJywg
YXJnc1trZXldKTsKICAgICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIHN0ciA9
IHN0ci5yZXBsYWNlKGtleSwgYXJnc1trZXldKTsKICAgIH0KICB9CiAgcmV0dXJu
IHN0cjsKfTsKCi8qKgogKiBGb3JtYXQgYSBzdHJpbmcgY29udGFpbmluZyBhIGNv
dW50IG9mIGl0ZW1zLgogKgogKiBUaGlzIGZ1bmN0aW9uIGVuc3VyZXMgdGhhdCB0
aGUgc3RyaW5nIGlzIHBsdXJhbGl6ZWQgY29ycmVjdGx5LiBTaW5jZSBEcnVwYWwu
dCgpIGlzCiAqIGNhbGxlZCBieSB0aGlzIGZ1bmN0aW9uLCBtYWtlIHN1cmUgbm90
IHRvIHBhc3MgYWxyZWFkeS1sb2NhbGl6ZWQgc3RyaW5ncyB0byBpdC4KICoKICog
U2VlIHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZSBzZXJ2ZXItc2lkZSBmb3JtYXRf
cGx1cmFsKCkgZnVuY3Rpb24gZm9yIGZ1cnRoZXIgZGV0YWlscy4KICoKICogQHBh
cmFtIGNvdW50CiAqICAgVGhlIGl0ZW0gY291bnQgdG8gZGlzcGxheS4KICogQHBh
cmFtIHNpbmd1bGFyCiAqICAgVGhlIHN0cmluZyBmb3IgdGhlIHNpbmd1bGFyIGNh
c2UuIFBsZWFzZSBtYWtlIHN1cmUgaXQgaXMgY2xlYXIgdGhpcyBpcwogKiAgIHNp
bmd1bGFyLCB0byBlYXNlIHRyYW5zbGF0aW9uIChlLmcuIHVzZSAiMSBuZXcgY29t
bWVudCIgaW5zdGVhZCBvZiAiMSBuZXciKS4KICogICBEbyBub3QgdXNlIEBjb3Vu
dCBpbiB0aGUgc2luZ3VsYXIgc3RyaW5nLgogKiBAcGFyYW0gcGx1cmFsCiAqICAg
VGhlIHN0cmluZyBmb3IgdGhlIHBsdXJhbCBjYXNlLiBQbGVhc2UgbWFrZSBzdXJl
IGl0IGlzIGNsZWFyIHRoaXMgaXMgcGx1cmFsLAogKiAgIHRvIGVhc2UgdHJhbnNs
YXRpb24uIFVzZSBAY291bnQgaW4gcGxhY2Ugb2YgdGhlIGl0ZW0gY291bnQsIGFz
IGluICJAY291bnQKICogICBuZXcgY29tbWVudHMiLgogKiBAcGFyYW0gYXJncwog
KiAgIEFuIG9iamVjdCBvZiByZXBsYWNlbWVudHMgcGFpcnMgdG8gbWFrZSBhZnRl
ciB0cmFuc2xhdGlvbi4gSW5jaWRlbmNlcwogKiAgIG9mIGFueSBrZXkgaW4gdGhp
cyBhcnJheSBhcmUgcmVwbGFjZWQgd2l0aCB0aGUgY29ycmVzcG9uZGluZyB2YWx1
ZS4KICogICBCYXNlZCBvbiB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIHRoZSBrZXks
IHRoZSB2YWx1ZSBpcyBlc2NhcGVkIGFuZC9vciB0aGVtZWQ6CiAqICAgIC0gIXZh
cmlhYmxlOiBpbnNlcnRlZCBhcyBpcwogKiAgICAtIEB2YXJpYWJsZTogZXNjYXBl
IHBsYWluIHRleHQgdG8gSFRNTCAoRHJ1cGFsLmNoZWNrUGxhaW4pCiAqICAgIC0g
JXZhcmlhYmxlOiBlc2NhcGUgdGV4dCBhbmQgdGhlbWUgYXMgYSBwbGFjZWhvbGRl
ciBmb3IgdXNlci1zdWJtaXR0ZWQKICogICAgICBjb250ZW50IChjaGVja1BsYWlu
ICsgRHJ1cGFsLnRoZW1lKCdwbGFjZWhvbGRlcicpKQogKiAgIE5vdGUgdGhhdCB5
b3UgZG8gbm90IG5lZWQgdG8gaW5jbHVkZSBAY291bnQgaW4gdGhpcyBhcnJheS4K
ICogICBUaGlzIHJlcGxhY2VtZW50IGlzIGRvbmUgYXV0b21hdGljYWxseSBmb3Ig
dGhlIHBsdXJhbCBjYXNlLgogKiBAcmV0dXJuCiAqICAgQSB0cmFuc2xhdGVkIHN0
cmluZy4KICovCkRydXBhbC5mb3JtYXRQbHVyYWwgPSBmdW5jdGlvbihjb3VudCwg
c2luZ3VsYXIsIHBsdXJhbCwgYXJncykgewogIHZhciBhcmdzID0gYXJncyB8fCB7
fTsKICBhcmdzWydAY291bnQnXSA9IGNvdW50OwogIC8vIERldGVybWluZSB0aGUg
aW5kZXggb2YgdGhlIHBsdXJhbCBmb3JtLgogIHZhciBpbmRleCA9IERydXBhbC5s
b2NhbGUucGx1cmFsRm9ybXVsYSA/IERydXBhbC5sb2NhbGUucGx1cmFsRm9ybXVs
YShhcmdzWydAY291bnQnXSkgOiAoKGFyZ3NbJ0Bjb3VudCddID09IDEpID8gMCA6
IDEpOwoKICBpZiAoaW5kZXggPT0gMCkgewogICAgcmV0dXJuIERydXBhbC50KHNp
bmd1bGFyLCBhcmdzKTsKICB9CiAgZWxzZSBpZiAoaW5kZXggPT0gMSkgewogICAg
cmV0dXJuIERydXBhbC50KHBsdXJhbCwgYXJncyk7CiAgfQogIGVsc2UgewogICAg
YXJnc1snQGNvdW50WycrIGluZGV4ICsnXSddID0gYXJnc1snQGNvdW50J107CiAg
ICBkZWxldGUgYXJnc1snQGNvdW50J107CiAgICByZXR1cm4gRHJ1cGFsLnQocGx1
cmFsLnJlcGxhY2UoJ0Bjb3VudCcsICdAY291bnRbJysgaW5kZXggKyddJykpOwog
IH0KfTsKCi8qKgogKiBHZW5lcmF0ZSB0aGUgdGhlbWVkIHJlcHJlc2VudGF0aW9u
IG9mIGEgRHJ1cGFsIG9iamVjdC4KICoKICogQWxsIHJlcXVlc3RzIGZvciB0aGVt
ZWQgb3V0cHV0IG11c3QgZ28gdGhyb3VnaCB0aGlzIGZ1bmN0aW9uLiBJdCBleGFt
aW5lcwogKiB0aGUgcmVxdWVzdCBhbmQgcm91dGVzIGl0IHRvIHRoZSBhcHByb3By
aWF0ZSB0aGVtZSBmdW5jdGlvbi4gSWYgdGhlIGN1cnJlbnQKICogdGhlbWUgZG9l
cyBub3QgcHJvdmlkZSBhbiBvdmVycmlkZSBmdW5jdGlvbiwgdGhlIGdlbmVyaWMg
dGhlbWUgZnVuY3Rpb24gaXMKICogY2FsbGVkLgogKgogKiBGb3IgZXhhbXBsZSwg
dG8gcmV0cmlldmUgdGhlIEhUTUwgdGhhdCBpcyBvdXRwdXQgYnkgdGhlbWVfcGxh
Y2Vob2xkZXIodGV4dCksCiAqIGNhbGwgRHJ1cGFsLnRoZW1lKCdwbGFjZWhvbGRl
cicsIHRleHQpLgogKgogKiBAcGFyYW0gZnVuYwogKiAgIFRoZSBuYW1lIG9mIHRo
ZSB0aGVtZSBmdW5jdGlvbiB0byBjYWxsLgogKiBAcGFyYW0gLi4uCiAqICAgQWRk
aXRpb25hbCBhcmd1bWVudHMgdG8gcGFzcyBhbG9uZyB0byB0aGUgdGhlbWUgZnVu
Y3Rpb24uCiAqIEByZXR1cm4KICogICBBbnkgZGF0YSB0aGUgdGhlbWUgZnVuY3Rp
b24gcmV0dXJucy4gVGhpcyBjb3VsZCBiZSBhIHBsYWluIEhUTUwgc3RyaW5nLAog
KiAgIGJ1dCBhbHNvIGEgY29tcGxleCBvYmplY3QuCiAqLwpEcnVwYWwudGhlbWUg
PSBmdW5jdGlvbihmdW5jKSB7CiAgZm9yICh2YXIgaSA9IDEsIGFyZ3MgPSBbXTsg
aSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgewogICAgYXJncy5wdXNoKGFyZ3Vt
ZW50c1tpXSk7CiAgfQoKICByZXR1cm4gKERydXBhbC50aGVtZVtmdW5jXSB8fCBE
cnVwYWwudGhlbWUucHJvdG90eXBlW2Z1bmNdKS5hcHBseSh0aGlzLCBhcmdzKTsK
fTsKCi8qKgogKiBQYXJzZSBhIEpTT04gcmVzcG9uc2UuCiAqCiAqIFRoZSByZXN1
bHQgaXMgZWl0aGVyIHRoZSBKU09OIG9iamVjdCwgb3IgYW4gb2JqZWN0IHdpdGgg
J3N0YXR1cycgMCBhbmQgJ2RhdGEnIGFuIGVycm9yIG1lc3NhZ2UuCiAqLwpEcnVw
YWwucGFyc2VKc29uID0gZnVuY3Rpb24gKGRhdGEpIHsKICBpZiAoKGRhdGEuc3Vi
c3RyaW5nKDAsIDEpICE9ICd7JykgJiYgKGRhdGEuc3Vic3RyaW5nKDAsIDEpICE9
ICdbJykpIHsKICAgIHJldHVybiB7IHN0YXR1czogMCwgZGF0YTogZGF0YS5sZW5n
dGggPyBkYXRhIDogRHJ1cGFsLnQoJ1Vuc3BlY2lmaWVkIGVycm9yJykgfTsKICB9
CiAgcmV0dXJuIGV2YWwoJygnICsgZGF0YSArICcpOycpOwp9OwoKLyoqCiAqIEZy
ZWV6ZSB0aGUgY3VycmVudCBib2R5IGhlaWdodCAoYXMgbWluaW11bSBoZWlnaHQp
LiBVc2VkIHRvIHByZXZlbnQKICogdW5uZWNlc3NhcnkgdXB3YXJkcyBzY3JvbGxp
bmcgd2hlbiBkb2luZyBET00gbWFuaXB1bGF0aW9ucy4KICovCkRydXBhbC5mcmVl
emVIZWlnaHQgPSBmdW5jdGlvbiAoKSB7CiAgRHJ1cGFsLnVuZnJlZXplSGVpZ2h0
KCk7CiAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwog
ICQoZGl2KS5jc3MoewogICAgcG9zaXRpb246ICdhYnNvbHV0ZScsCiAgICB0b3A6
ICcwcHgnLAogICAgbGVmdDogJzBweCcsCiAgICB3aWR0aDogJzFweCcsCiAgICBo
ZWlnaHQ6ICQoJ2JvZHknKS5jc3MoJ2hlaWdodCcpCiAgfSkuYXR0cignaWQnLCAn
ZnJlZXplLWhlaWdodCcpOwogICQoJ2JvZHknKS5hcHBlbmQoZGl2KTsKfTsKCi8q
KgogKiBVbmZyZWV6ZSB0aGUgYm9keSBoZWlnaHQKICovCkRydXBhbC51bmZyZWV6
ZUhlaWdodCA9IGZ1bmN0aW9uICgpIHsKICAkKCcjZnJlZXplLWhlaWdodCcpLnJl
bW92ZSgpOwp9OwoKLyoqCiAqIFdyYXBwZXIgYXJvdW5kIGVuY29kZVVSSUNvbXBv
bmVudCgpIHdoaWNoIGF2b2lkcyBBcGFjaGUgcXVpcmtzIChlcXVpdmFsZW50IG9m
CiAqIGRydXBhbF91cmxlbmNvZGUoKSBpbiBQSFApLiBUaGlzIGZ1bmN0aW9uIHNo
b3VsZCBvbmx5IGJlIHVzZWQgb24gcGF0aHMsIG5vdAogKiBvbiBxdWVyeSBzdHJp
bmcgYXJndW1lbnRzLgogKi8KRHJ1cGFsLmVuY29kZVVSSUNvbXBvbmVudCA9IGZ1
bmN0aW9uIChpdGVtLCB1cmkpIHsKICB1cmkgPSB1cmkgfHwgbG9jYXRpb24uaHJl
ZjsKICBpdGVtID0gZW5jb2RlVVJJQ29tcG9uZW50KGl0ZW0pLnJlcGxhY2UoLyUy
Ri9nLCAnLycpOwogIHJldHVybiAodXJpLmluZGV4T2YoJz9xPScpICE9IC0xKSA/
IGl0ZW0gOiBpdGVtLnJlcGxhY2UoLyUyNi9nLCAnJTI1MjYnKS5yZXBsYWNlKC8l
MjMvZywgJyUyNTIzJykucmVwbGFjZSgvXC9cLy9nLCAnLyUyNTJGJyk7Cn07Cgov
KioKICogR2V0IHRoZSB0ZXh0IHNlbGVjdGlvbiBpbiBhIHRleHRhcmVhLgogKi8K
RHJ1cGFsLmdldFNlbGVjdGlvbiA9IGZ1bmN0aW9uIChlbGVtZW50KSB7CiAgaWYg
KHR5cGVvZihlbGVtZW50LnNlbGVjdGlvblN0YXJ0KSAhPSAnbnVtYmVyJyAmJiBk
b2N1bWVudC5zZWxlY3Rpb24pIHsKICAgIC8vIFRoZSBjdXJyZW50IHNlbGVjdGlv
bgogICAgdmFyIHJhbmdlMSA9IGRvY3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5n
ZSgpOwogICAgdmFyIHJhbmdlMiA9IHJhbmdlMS5kdXBsaWNhdGUoKTsKICAgIC8v
IFNlbGVjdCBhbGwgdGV4dC4KICAgIHJhbmdlMi5tb3ZlVG9FbGVtZW50VGV4dChl
bGVtZW50KTsKICAgIC8vIE5vdyBtb3ZlICdkdW1teScgZW5kIHBvaW50IHRvIGVu
ZCBwb2ludCBvZiBvcmlnaW5hbCByYW5nZS4KICAgIHJhbmdlMi5zZXRFbmRQb2lu
dCgnRW5kVG9FbmQnLCByYW5nZTEpOwogICAgLy8gTm93IHdlIGNhbiBjYWxjdWxh
dGUgc3RhcnQgYW5kIGVuZCBwb2ludHMuCiAgICB2YXIgc3RhcnQgPSByYW5nZTIu
dGV4dC5sZW5ndGggLSByYW5nZTEudGV4dC5sZW5ndGg7CiAgICB2YXIgZW5kID0g
c3RhcnQgKyByYW5nZTEudGV4dC5sZW5ndGg7CiAgICByZXR1cm4geyAnc3RhcnQn
OiBzdGFydCwgJ2VuZCc6IGVuZCB9OwogIH0KICByZXR1cm4geyAnc3RhcnQnOiBl
bGVtZW50LnNlbGVjdGlvblN0YXJ0LCAnZW5kJzogZWxlbWVudC5zZWxlY3Rpb25F
bmQgfTsKfTsKCi8qKgogKiBCdWlsZCBhbiBlcnJvciBtZXNzYWdlIGZyb20gYWhh
aCByZXNwb25zZS4KICovCkRydXBhbC5haGFoRXJyb3IgPSBmdW5jdGlvbih4bWxo
dHRwLCB1cmkpIHsKICBpZiAoeG1saHR0cC5zdGF0dXMgPT0gMjAwKSB7CiAgICBp
ZiAoalF1ZXJ5LnRyaW0oJCh4bWxodHRwLnJlc3BvbnNlVGV4dCkudGV4dCgpKSkg
ewogICAgICB2YXIgbWVzc2FnZSA9IERydXBhbC50KCJBbiBlcnJvciBvY2N1cnJl
ZC4gXG5AdXJpXG5AdGV4dCIsIHsnQHVyaSc6IHVyaSwgJ0B0ZXh0JzogeG1saHR0
cC5yZXNwb25zZVRleHQgfSk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgdmFyIG1l
c3NhZ2UgPSBEcnVwYWwudCgiQW4gZXJyb3Igb2NjdXJyZWQuIFxuQHVyaVxuKG5v
IGluZm9ybWF0aW9uIGF2YWlsYWJsZSkuIiwgeydAdXJpJzogdXJpLCAnQHRleHQn
OiB4bWxodHRwLnJlc3BvbnNlVGV4dCB9KTsKICAgIH0KICB9CiAgZWxzZSB7CiAg
ICB2YXIgbWVzc2FnZSA9IERydXBhbC50KCJBbiBIVFRQIGVycm9yIEBzdGF0dXMg
b2NjdXJyZWQuIFxuQHVyaSIsIHsnQHVyaSc6IHVyaSwgJ0BzdGF0dXMnOiB4bWxo
dHRwLnN0YXR1cyB9KTsKICB9CiAgcmV0dXJuIG1lc3NhZ2U7Cn0KCi8vIEdsb2Jh
bCBLaWxsc3dpdGNoIG9uIHRoZSA8aHRtbD4gZWxlbWVudAppZiAoRHJ1cGFsLmpz
RW5hYmxlZCkgewogIC8vIEdsb2JhbCBLaWxsc3dpdGNoIG9uIHRoZSA8aHRtbD4g
ZWxlbWVudAogICQoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hZGRDbGFzcygn
anMnKTsKICAvLyAnanMgZW5hYmxlZCcgY29va2llCiAgZG9jdW1lbnQuY29va2ll
ID0gJ2hhc19qcz0xOyBwYXRoPS8nOwogIC8vIEF0dGFjaCBhbGwgYmVoYXZpb3Jz
LgogICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgewogICAgRHJ1cGFsLmF0
dGFjaEJlaGF2aW9ycyh0aGlzKTsKICB9KTsKfQoKLyoqCiAqIFRoZSBkZWZhdWx0
IHRoZW1lcy4KICovCkRydXBhbC50aGVtZS5wcm90b3R5cGUgPSB7CgogIC8qKgog
ICAqIEZvcm1hdHMgdGV4dCBmb3IgZW1waGFzaXplZCBkaXNwbGF5IGluIGEgcGxh
Y2Vob2xkZXIgaW5zaWRlIGEgc2VudGVuY2UuCiAgICoKICAgKiBAcGFyYW0gc3Ry
CiAgICogICBUaGUgdGV4dCB0byBmb3JtYXQgKHBsYWluLXRleHQpLgogICAqIEBy
ZXR1cm4KICAgKiAgIFRoZSBmb3JtYXR0ZWQgdGV4dCAoaHRtbCkuCiAgICovCiAg
cGxhY2Vob2xkZXI6IGZ1bmN0aW9uKHN0cikgewogICAgcmV0dXJuICc8ZW0+JyAr
IERydXBhbC5jaGVja1BsYWluKHN0cikgKyAnPC9lbT4nOwogIH0KfTsK

------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=lightbox.js
Content-Type: application/javascript; charset=utf-8; name=lightbox.js
Content-Location: http://www.psychologytoday.com/sites/all/modules/contrib/lightbox2/js/lightbox.js?D
Content-Transfer-Encoding: Base64

LyogJElkOiBsaWdodGJveC5qcyx2IDEuNS4yLjYuMi4xMTQgMjAwOS8wMS8wNSAx
NDoyMTo1MiBzbnBvd2VyIEV4cCAkICovCgovKioKICogalF1ZXJ5IExpZ2h0Ym94
CiAqIEBhdXRob3IKICogICBTdGVsbGEgUG93ZXIsIDxodHRwOi8vZHJ1cGFsLm9y
Zy91c2VyLzY2ODk0PgogKgogKiBCYXNlZCBvbiBMaWdodGJveCB2Mi4wMy4zIGJ5
IExva2VzaCBEaGFrYXIKICogPGh0dHA6Ly93d3cuaHVkZGxldG9nZXRoZXIuY29t
L3Byb2plY3RzL2xpZ2h0Ym94Mi8+CiAqIEFsc28gcGFydGlhbGx5IGJhc2VkIG9u
IHRoZSBqUXVlcnkgTGlnaHRib3ggYnkgV2FycmVuIEtyZXdlbmtpCiAqICAgPGh0
dHA6Ly93YXJyZW4ubWVzb3plbi5jb20+CiAqCiAqIFBlcm1pc3Npb24gaGFzIGJl
ZW4gZ3JhbnRlZCB0byBNYXJrIEFzaG1lYWQgJiBvdGhlciBEcnVwYWwgTGlnaHRi
b3gyIG1vZHVsZQogKiBtYWludGFpbmVycyB0byBkaXN0cmlidXRlIHRoaXMgZmls
ZSB2aWEgRHJ1cGFsLm9yZwogKiBVbmRlciBHUEwgbGljZW5zZS4KICoKICogU2xp
ZGVzaG93LCBpZnJhbWUgYW5kIHZpZGVvIGZ1bmN0aW9uYWxpdHkgYWRkZWQgYnkg
U3RlbGxhIFBvd2VyLgogKi8KCnZhciBMaWdodGJveCA9IHsKICBvdmVybGF5T3Bh
Y2l0eSA6IDAuOCwgLy8gQ29udHJvbHMgdHJhbnNwYXJlbmN5IG9mIHNoYWRvdyBv
dmVybGF5LgogIG92ZXJsYXlDb2xvciA6ICcwMDAnLCAvLyBDb250cm9scyBjb2xv
dXIgb2Ygc2hhZG93IG92ZXJsYXkuCiAgZGlzYWJsZUNsb3NlQ2xpY2sgOiB0cnVl
LAogIC8vIENvbnRyb2xzIHRoZSBvcmRlciBvZiB0aGUgbGlnaHRib3ggcmVzaXpp
bmcgYW5pbWF0aW9uIHNlcXVlbmNlLgogIHJlc2l6ZVNlcXVlbmNlOiAwLCAvLyAw
OiBzaW11bHRhbmVvdXMsIDE6IHdpZHRoIHRoZW4gaGVpZ2h0LCAyOiBoZWlnaHQg
dGhlbiB3aWR0aC4KICByZXNpemVTcGVlZDogJ25vcm1hbCcsIC8vIENvbnRyb2xz
IHRoZSBzcGVlZCBvZiB0aGUgbGlnaHRib3ggcmVzaXppbmcgYW5pbWF0aW9uLgog
IGZhZGVJblNwZWVkOiAnbm9ybWFsJywgLy8gQ29udHJvbHMgdGhlIHNwZWVkIG9m
IHRoZSBpbWFnZSBhcHBlYXJhbmNlLgogIHNsaWRlRG93blNwZWVkOiAnc2xvdycs
IC8vIENvbnRyb2xzIHRoZSBzcGVlZCBvZiB0aGUgaW1hZ2UgZGV0YWlscyBhcHBl
YXJhbmNlLgogIG1pbldpZHRoOiAyNDAsCiAgYm9yZGVyU2l6ZSA6IDEwLAogIGJv
eENvbG9yIDogJ2ZmZicsCiAgZm9udENvbG9yIDogJzAwMCcsCiAgdG9wUG9zaXRp
b24gOiAnJywKICBpbmZvSGVpZ2h0OiAyMCwKICBhbHRlcm5hdGl2ZV9sYXlvdXQg
OiBmYWxzZSwKICBpbWFnZUFycmF5IDogW10sCiAgaW1hZ2VOdW0gOiBudWxsLAog
IHRvdGFsIDogMCwKICBhY3RpdmVJbWFnZSA6IG51bGwsCiAgaW5wcm9ncmVzcyA6
IGZhbHNlLAogIGRpc2FibGVSZXNpemUgOiBmYWxzZSwKICBkaXNhYmxlWm9vbSA6
IGZhbHNlLAogIGlzWm9vbWVkSW4gOiBmYWxzZSwKICBydGwgOiBmYWxzZSwKICBs
b29wSXRlbXMgOiBmYWxzZSwKICBrZXlzQ2xvc2UgOiBbJ2MnLCAneCcsIDI3XSwK
ICBrZXlzUHJldmlvdXMgOiBbJ3AnLCAzN10sCiAga2V5c05leHQgOiBbJ24nLCAz
OV0sCiAga2V5c1pvb20gOiBbJ3onXSwKICBrZXlzUGxheVBhdXNlIDogWzMyXSwK
CiAgLy8gU2xpZGVzaG93IG9wdGlvbnMuCiAgc2xpZGVJbnRlcnZhbCA6IDUwMDAs
IC8vIEluIG1pbGxpc2Vjb25kcy4KICBzaG93UGxheVBhdXNlIDogdHJ1ZSwKICBh
dXRvU3RhcnQgOiB0cnVlLAogIGF1dG9FeGl0IDogdHJ1ZSwKICBwYXVzZU9uTmV4
dENsaWNrIDogZmFsc2UsIC8vIFRydWUgdG8gcGF1c2UgdGhlIHNsaWRlc2hvdyB3
aGVuIHRoZSAiTmV4dCIgYnV0dG9uIGlzIGNsaWNrZWQuCiAgcGF1c2VPblByZXZD
bGljayA6IHRydWUsIC8vIFRydWUgdG8gcGF1c2UgdGhlIHNsaWRlc2hvdyB3aGVu
IHRoZSAiUHJldiIgYnV0dG9uIGlzIGNsaWNrZWQuCiAgc2xpZGVJZEFycmF5IDog
W10sCiAgc2xpZGVJZENvdW50IDogMCwKICBpc1NsaWRlc2hvdyA6IGZhbHNlLAog
IGlzUGF1c2VkIDogZmFsc2UsCiAgbG9vcFNsaWRlcyA6IGZhbHNlLAoKICAvLyBJ
ZnJhbWUgb3B0aW9ucy4KICBpc0xpZ2h0ZnJhbWUgOiBmYWxzZSwKICBpZnJhbWVf
d2lkdGggOiA2MDAsCiAgaWZyYW1lX2hlaWdodCA6IDQwMCwKICBpZnJhbWVfYm9y
ZGVyIDogMSwKCiAgLy8gVmlkZW8gYW5kIG1vZGFsIG9wdGlvbnMuCiAgZW5hYmxl
VmlkZW8gOiBmYWxzZSwKICBmbHZQbGF5ZXIgOiAnL2ZsdnBsYXllci5zd2YnLAog
IGZsdkZsYXNodmFycyA6ICcnLAogIGlzTW9kYWwgOiBmYWxzZSwKICBpc1ZpZGVv
IDogZmFsc2UsCiAgdmlkZW9JZCA6IGZhbHNlLAogIG1vZGFsV2lkdGggOiA0MDAs
CiAgbW9kYWxIZWlnaHQgOiA0MDAsCiAgbW9kYWxIVE1MIDogbnVsbCwKCgogIC8v
IGluaXRpYWxpemUoKQogIC8vIENvbnN0cnVjdG9yIHJ1bnMgb24gY29tcGxldGlv
biBvZiB0aGUgRE9NIGxvYWRpbmcuCiAgLy8gVGhlIGZ1bmN0aW9uIGluc2VydHMg
aHRtbCBhdCB0aGUgYm90dG9tIG9mIHRoZSBwYWdlIHdoaWNoIGlzIHVzZWQKICAv
LyB0byBkaXNwbGF5IHRoZSBzaGFkb3cgb3ZlcmxheSBhbmQgdGhlIGltYWdlIGNv
bnRhaW5lci4KICBpbml0aWFsaXplOiBmdW5jdGlvbigpIHsKCiAgICB2YXIgcyA9
IERydXBhbC5zZXR0aW5ncy5saWdodGJveDI7CiAgICBMaWdodGJveC5vdmVybGF5
T3BhY2l0eSA9IHMub3ZlcmxheV9vcGFjaXR5OwogICAgTGlnaHRib3gub3Zlcmxh
eUNvbG9yID0gcy5vdmVybGF5X2NvbG9yOwogICAgTGlnaHRib3guZGlzYWJsZUNs
b3NlQ2xpY2sgPSBzLmRpc2FibGVfY2xvc2VfY2xpY2s7CiAgICBMaWdodGJveC5y
ZXNpemVTZXF1ZW5jZSA9IHMucmVzaXplX3NlcXVlbmNlOwogICAgTGlnaHRib3gu
cmVzaXplU3BlZWQgPSBzLnJlc2l6ZV9zcGVlZDsKICAgIExpZ2h0Ym94LmZhZGVJ
blNwZWVkID0gcy5mYWRlX2luX3NwZWVkOwogICAgTGlnaHRib3guc2xpZGVEb3du
U3BlZWQgPSBzLnNsaWRlX2Rvd25fc3BlZWQ7CiAgICBMaWdodGJveC5ib3JkZXJT
aXplID0gcy5ib3JkZXJfc2l6ZTsKICAgIExpZ2h0Ym94LmJveENvbG9yID0gcy5i
b3hfY29sb3I7CiAgICBMaWdodGJveC5mb250Q29sb3IgPSBzLmZvbnRfY29sb3I7
CiAgICBMaWdodGJveC50b3BQb3NpdGlvbiA9IHMudG9wX3Bvc2l0aW9uOwogICAg
TGlnaHRib3gucnRsID0gcy5ydGw7CiAgICBMaWdodGJveC5sb29wSXRlbXMgPSBz
Lmxvb3BfaXRlbXM7CiAgICBMaWdodGJveC5rZXlzQ2xvc2UgPSBzLmtleXNfY2xv
c2Uuc3BsaXQoIiAiKTsKICAgIExpZ2h0Ym94LmtleXNQcmV2aW91cyA9IHMua2V5
c19wcmV2aW91cy5zcGxpdCgiICIpOwogICAgTGlnaHRib3gua2V5c05leHQgPSBz
LmtleXNfbmV4dC5zcGxpdCgiICIpOwogICAgTGlnaHRib3gua2V5c1pvb20gPSBz
LmtleXNfem9vbS5zcGxpdCgiICIpOwogICAgTGlnaHRib3gua2V5c1BsYXlQYXVz
ZSA9IHMua2V5c19wbGF5X3BhdXNlLnNwbGl0KCIgIik7CiAgICBMaWdodGJveC5k
aXNhYmxlUmVzaXplID0gcy5kaXNhYmxlX3Jlc2l6ZTsKICAgIExpZ2h0Ym94LmRp
c2FibGVab29tID0gcy5kaXNhYmxlX3pvb207CiAgICBMaWdodGJveC5zbGlkZUlu
dGVydmFsID0gcy5zbGlkZXNob3dfaW50ZXJ2YWw7CiAgICBMaWdodGJveC5zaG93
UGxheVBhdXNlID0gcy5zaG93X3BsYXlfcGF1c2U7CiAgICBMaWdodGJveC5hdXRv
U3RhcnQgPSBzLnNsaWRlc2hvd19hdXRvbWF0aWNfc3RhcnQ7CiAgICBMaWdodGJv
eC5hdXRvRXhpdCA9IHMuc2xpZGVzaG93X2F1dG9tYXRpY19leGl0OwogICAgTGln
aHRib3gucGF1c2VPbk5leHRDbGljayA9IHMucGF1c2Vfb25fbmV4dF9jbGljazsK
ICAgIExpZ2h0Ym94LnBhdXNlT25QcmV2Q2xpY2sgPSBzLnBhdXNlX29uX3ByZXZp
b3VzX2NsaWNrOwogICAgTGlnaHRib3gubG9vcFNsaWRlcyA9IHMubG9vcF9zbGlk
ZXM7CiAgICBMaWdodGJveC5hbHRlcm5hdGl2ZV9sYXlvdXQgPSBzLnVzZV9hbHRf
bGF5b3V0OwogICAgTGlnaHRib3guaWZyYW1lX3dpZHRoID0gcy5pZnJhbWVfd2lk
dGg7CiAgICBMaWdodGJveC5pZnJhbWVfaGVpZ2h0ID0gcy5pZnJhbWVfaGVpZ2h0
OwogICAgTGlnaHRib3guaWZyYW1lX2JvcmRlciA9IHMuaWZyYW1lX2JvcmRlcjsK
ICAgIExpZ2h0Ym94LmVuYWJsZVZpZGVvID0gcy5lbmFibGVfdmlkZW87CiAgICBp
ZiAocy5lbmFibGVfdmlkZW8pIHsKICAgICAgTGlnaHRib3guZmx2UGxheWVyID0g
cy5mbHZQbGF5ZXI7CiAgICAgIExpZ2h0Ym94LmZsdkZsYXNodmFycyA9IHMuZmx2
Rmxhc2h2YXJzOwogICAgfQoKICAgIC8vIE1ha2UgdGhlIGxpZ2h0Ym94IGRpdnMu
CiAgICB2YXIgb3V0cHV0ID0gJzxkaXYgaWQ9Im92ZXJsYXkiIHN0eWxlPSJkaXNw
bGF5OiBub25lOyI+PC9kaXY+XAogICAgICA8ZGl2IGlkPSJsaWdodGJveCIgc3R5
bGU9ImRpc3BsYXk6IG5vbmU7Ij5cCiAgICAgICAgPGRpdiBpZD0ib3V0ZXJJbWFn
ZUNvbnRhaW5lciI+PC9kaXY+XAogICAgICAgIDxkaXYgaWQ9ImltYWdlRGF0YUNv
bnRhaW5lciIgY2xhc3M9ImNsZWFyZml4Ij5cCiAgICAgICAgICA8ZGl2IGlkPSJp
bWFnZURhdGEiPjwvZGl2PlwKICAgICAgICA8L2Rpdj5cCiAgICAgIDwvZGl2Pic7
CiAgICB2YXIgbG9hZGluZyA9ICc8ZGl2IGlkPSJsb2FkaW5nIj48YSBocmVmPSIj
IiBpZD0ibG9hZGluZ0xpbmsiPjwvYT48L2Rpdj4nOwogICAgdmFyIG1vZGFsID0g
JzxkaXYgaWQ9Im1vZGFsQ29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTogbm9uZTsi
PjwvZGl2Pic7CiAgICB2YXIgZnJhbWUgPSAnPGRpdiBpZD0iZnJhbWVDb250YWlu
ZXIiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+PC9kaXY+JzsKICAgIHZhciBpbWFn
ZUNvbnRhaW5lciA9ICc8ZGl2IGlkPSJpbWFnZUNvbnRhaW5lciIgc3R5bGU9ImRp
c3BsYXk6IG5vbmU7Ij48L2Rpdj4nOwogICAgdmFyIGRldGFpbHMgPSAnPGRpdiBp
ZD0iaW1hZ2VEZXRhaWxzIj48L2Rpdj4nOwogICAgdmFyIGJvdHRvbU5hdiA9ICc8
ZGl2IGlkPSJib3R0b21OYXYiPjwvZGl2Pic7CiAgICB2YXIgaW1hZ2UgPSAnPGlt
ZyBpZD0ibGlnaHRib3hJbWFnZSIgLz4nOwogICAgdmFyIGhvdmVyTmF2ID0gJzxk
aXYgaWQ9ImhvdmVyTmF2Ij48YSBpZD0icHJldkxpbmsiIGhyZWY9IiMiPjwvYT48
YSBpZD0ibmV4dExpbmsiIGhyZWY9IiMiPjwvYT48L2Rpdj4nOwogICAgdmFyIGZy
YW1lTmF2ID0gJzxkaXYgaWQ9ImZyYW1lSG92ZXJOYXYiPjxhIGlkPSJmcmFtZVBy
ZXZMaW5rIiBocmVmPSIjIj48L2E+PGEgaWQ9ImZyYW1lTmV4dExpbmsiIGhyZWY9
IiMiPjwvYT48L2Rpdj4nOwogICAgdmFyIGNhcHRpb24gPSAnPHNwYW4gaWQ9ImNh
cHRpb24iPjwvc3Bhbj4nOwogICAgdmFyIG51bWJlckRpc3BsYXkgPSAnPHNwYW4g
aWQ9Im51bWJlckRpc3BsYXkiPjwvc3Bhbj4nOwogICAgdmFyIGNsb3NlID0gJzxh
IGlkPSJib3R0b21OYXZDbG9zZSIgaHJlZj0iIyI+PC9hPic7CiAgICB2YXIgem9v
bSA9ICc8YSBpZD0iYm90dG9tTmF2Wm9vbSIgaHJlZj0iIyI+PC9hPic7CiAgICB2
YXIgem9vbU91dCA9ICc8YSBpZD0iYm90dG9tTmF2Wm9vbU91dCIgaHJlZj0iIyI+
PC9hPic7CiAgICB2YXIgcGF1c2UgPSAnPGEgaWQ9ImxpZ2h0c2hvd1BhdXNlIiBo
cmVmPSIjIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPjwvYT4nOwogICAgdmFyIHBs
YXkgPSAnPGEgaWQ9ImxpZ2h0c2hvd1BsYXkiIGhyZWY9IiMiIHN0eWxlPSJkaXNw
bGF5OiBub25lOyI+PC9hPic7CgogICAgJCgiYm9keSIpLmFwcGVuZChvdXRwdXQp
OwogICAgJCgnI291dGVySW1hZ2VDb250YWluZXInKS5hcHBlbmQobW9kYWwgKyBm
cmFtZSArIGltYWdlQ29udGFpbmVyICsgbG9hZGluZyk7CiAgICBpZiAoIXMudXNl
X2FsdF9sYXlvdXQpIHsKICAgICAgJCgnI2ltYWdlQ29udGFpbmVyJykuYXBwZW5k
KGltYWdlICsgaG92ZXJOYXYpOwogICAgICAkKCcjaW1hZ2VEYXRhJykuYXBwZW5k
KGZyYW1lTmF2ICsgZGV0YWlscyArIGJvdHRvbU5hdik7CiAgICAgICQoJyNpbWFn
ZURldGFpbHMnKS5hcHBlbmQoY2FwdGlvbiArIG51bWJlckRpc3BsYXkpOwogICAg
ICAkKCcjYm90dG9tTmF2JykuYXBwZW5kKGNsb3NlICsgem9vbSArIHpvb21PdXQg
KyBwYXVzZSArIHBsYXkpOwogICAgfQogICAgZWxzZSB7CiAgICAgICQoJyNvdXRl
ckltYWdlQ29udGFpbmVyJykuYXBwZW5kKGJvdHRvbU5hdik7CiAgICAgICQoJyNp
bWFnZUNvbnRhaW5lcicpLmFwcGVuZChpbWFnZSk7CiAgICAgICQoJyNib3R0b21O
YXYnKS5hcHBlbmQoY2xvc2UgKyB6b29tICsgem9vbU91dCk7CiAgICAgICQoJyNp
bWFnZURhdGEnKS5hcHBlbmQoaG92ZXJOYXYgKyBkZXRhaWxzKTsKICAgICAgJCgn
I2ltYWdlRGV0YWlscycpLmFwcGVuZChjYXB0aW9uICsgbnVtYmVyRGlzcGxheSAr
IHBhdXNlICsgcGxheSk7CiAgICB9CgogICAgLy8gU2V0dXAgb25jbGljayBoYW5k
bGVycy4KICAgIGlmIChMaWdodGJveC5kaXNhYmxlQ2xvc2VDbGljaykgewogICAg
ICAkKCcjb3ZlcmxheScpLmNsaWNrKGZ1bmN0aW9uKCkgeyBMaWdodGJveC5lbmQo
KTsgcmV0dXJuIGZhbHNlOyB9ICkuaGlkZSgpOwogICAgfQogICAgJCgnI2xvYWRp
bmdMaW5rLCAjYm90dG9tTmF2Q2xvc2UnKS5jbGljayhmdW5jdGlvbigpIHsgTGln
aHRib3guZW5kKCdmb3JjZUNsb3NlJyk7IHJldHVybiBmYWxzZTsgfSApOwogICAg
JCgnI3ByZXZMaW5rLCAjZnJhbWVQcmV2TGluaycpLmNsaWNrKGZ1bmN0aW9uKCkg
eyBMaWdodGJveC5jaGFuZ2VEYXRhKExpZ2h0Ym94LmFjdGl2ZUltYWdlIC0gMSk7
IHJldHVybiBmYWxzZTsgfSApOwogICAgJCgnI25leHRMaW5rLCAjZnJhbWVOZXh0
TGluaycpLmNsaWNrKGZ1bmN0aW9uKCkgeyBMaWdodGJveC5jaGFuZ2VEYXRhKExp
Z2h0Ym94LmFjdGl2ZUltYWdlICsgMSk7IHJldHVybiBmYWxzZTsgfSApOwogICAg
JCgnI2JvdHRvbU5hdlpvb20nKS5jbGljayhmdW5jdGlvbigpIHsgTGlnaHRib3gu
Y2hhbmdlRGF0YShMaWdodGJveC5hY3RpdmVJbWFnZSwgdHJ1ZSk7IHJldHVybiBm
YWxzZTsgfSApOwogICAgJCgnI2JvdHRvbU5hdlpvb21PdXQnKS5jbGljayhmdW5j
dGlvbigpIHsgTGlnaHRib3guY2hhbmdlRGF0YShMaWdodGJveC5hY3RpdmVJbWFn
ZSwgZmFsc2UpOyByZXR1cm4gZmFsc2U7IH0gKTsKICAgICQoJyNsaWdodHNob3dQ
YXVzZScpLmNsaWNrKGZ1bmN0aW9uKCkgeyBMaWdodGJveC50b2dnbGVQbGF5UGF1
c2UoImxpZ2h0c2hvd1BhdXNlIiwgImxpZ2h0c2hvd1BsYXkiKTsgcmV0dXJuIGZh
bHNlOyB9ICk7CiAgICAkKCcjbGlnaHRzaG93UGxheScpLmNsaWNrKGZ1bmN0aW9u
KCkgeyBMaWdodGJveC50b2dnbGVQbGF5UGF1c2UoImxpZ2h0c2hvd1BsYXkiLCAi
bGlnaHRzaG93UGF1c2UiKTsgcmV0dXJuIGZhbHNlOyB9ICk7CgogICAgLy8gRml4
IHBvc2l0aW9uaW5nLgogICAgJCgnI3ByZXZMaW5rLCAjbmV4dExpbmssICNmcmFt
ZVByZXZMaW5rLCAjZnJhbWVOZXh0TGluaycpLmNzcyh7ICdwYWRkaW5nVG9wJzog
TGlnaHRib3guYm9yZGVyU2l6ZSArICdweCd9KTsKICAgICQoJyNpbWFnZUNvbnRh
aW5lciwgI2ZyYW1lQ29udGFpbmVyLCAjbW9kYWxDb250YWluZXInKS5jc3MoeyAn
cGFkZGluZyc6IExpZ2h0Ym94LmJvcmRlclNpemUgKyAncHgnfSk7CiAgICAkKCcj
b3V0ZXJJbWFnZUNvbnRhaW5lciwgI2ltYWdlRGF0YUNvbnRhaW5lciwgI2JvdHRv
bU5hdkNsb3NlJykuY3NzKHsnYmFja2dyb3VuZENvbG9yJzogJyMnICsgTGlnaHRi
b3guYm94Q29sb3IsICdjb2xvcic6ICcjJytMaWdodGJveC5mb250Q29sb3J9KTsK
ICAgIGlmIChMaWdodGJveC5hbHRlcm5hdGl2ZV9sYXlvdXQpIHsKICAgICAgJCgn
I2JvdHRvbU5hdlpvb20sICNib3R0b21OYXZab29tT3V0JykuY3NzKHsnYm90dG9t
JzogTGlnaHRib3guYm9yZGVyU2l6ZSArICdweCcsICdyaWdodCc6IExpZ2h0Ym94
LmJvcmRlclNpemUgKyAncHgnfSk7CiAgICB9CiAgICBlbHNlIGlmIChMaWdodGJv
eC5ydGwgPT0gMSAmJiAkLmJyb3dzZXIubXNpZSkgewogICAgICAkKCcjYm90dG9t
TmF2Wm9vbSwgI2JvdHRvbU5hdlpvb21PdXQnKS5jc3MoeydsZWZ0JzogJzBweCd9
KTsKICAgIH0KCiAgICAvLyBGb3JjZSBuYXZpZ2F0aW9uIGxpbmtzIHRvIGFsd2F5
cyBiZSBkaXNwbGF5ZWQKICAgIGlmIChzLmZvcmNlX3Nob3dfbmF2KSB7CiAgICAg
ICQoJyNwcmV2TGluaywgI25leHRMaW5rJykuYWRkQ2xhc3MoImZvcmNlX3Nob3df
bmF2Iik7CiAgICB9CgogIH0sCgogIC8vIGluaXRMaXN0KCkKICAvLyBMb29wcyB0
aHJvdWdoIGFuY2hvciB0YWdzIGxvb2tpbmcgZm9yICdsaWdodGJveCcsICdsaWdo
dHNob3cnIGFuZAogIC8vICdsaWdodGZyYW1lJywgZXRjLCByZWZlcmVuY2VzIGFu
ZCBhcHBsaWVzIG9uY2xpY2sgZXZlbnRzIHRvIGFwcHJvcHJpYXRlCiAgLy8gbGlu
a3MuIFlvdSBjYW4gcmVydW4gYWZ0ZXIgZHluYW1pY2FsbHkgYWRkaW5nIGltYWdl
cyB3L2FqYXguCiAgaW5pdExpc3QgOiBmdW5jdGlvbigpIHsKCiAgICAvLyBBdHRh
Y2ggbGlnaHRib3ggdG8gYW55IGxpbmtzIHdpdGggcmVsICdsaWdodGJveCcsICds
aWdodHNob3cnIG9yCiAgICAvLyAnbGlnaHRmcmFtZScsIGV0Yy4KICAgICQoImFb
QHJlbF49J2xpZ2h0Ym94J106bm90KC5saWdodGJveC1wcm9jZXNzZWQpLCBhcmVh
W0ByZWxePSdsaWdodGJveCddOm5vdCgubGlnaHRib3gtcHJvY2Vzc2VkKSIpLmFk
ZENsYXNzKCdsaWdodGJveC1wcm9jZXNzZWQnKS5jbGljayhmdW5jdGlvbihlKSB7
CiAgICAgIGlmIChMaWdodGJveC5kaXNhYmxlQ2xvc2VDbGljaykgewogICAgICAg
ICQoJyNsaWdodGJveCcpLnVuYmluZCgnY2xpY2snKTsKICAgICAgICAkKCcjbGln
aHRib3gnKS5jbGljayhmdW5jdGlvbigpIHsgTGlnaHRib3guZW5kKCdmb3JjZUNs
b3NlJyk7IH0gKTsKICAgICAgfQogICAgICBMaWdodGJveC5zdGFydCh0aGlzLCBm
YWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7CiAgICAgIGlmIChlLnByZXZlbnRE
ZWZhdWx0KSB7IGUucHJldmVudERlZmF1bHQoKTsgfQogICAgICByZXR1cm4gZmFs
c2U7CiAgICB9KTsKICAgICQoImFbQHJlbF49J2xpZ2h0c2hvdyddOm5vdCgubGln
aHRib3gtcHJvY2Vzc2VkKSwgYXJlYVtAcmVsXj0nbGlnaHRzaG93J106bm90KC5s
aWdodGJveC1wcm9jZXNzZWQpIikuYWRkQ2xhc3MoJ2xpZ2h0Ym94LXByb2Nlc3Nl
ZCcpLmNsaWNrKGZ1bmN0aW9uKGUpIHsKICAgICAgaWYgKExpZ2h0Ym94LmRpc2Fi
bGVDbG9zZUNsaWNrKSB7CiAgICAgICAgJCgnI2xpZ2h0Ym94JykudW5iaW5kKCdj
bGljaycpOwogICAgICAgICQoJyNsaWdodGJveCcpLmNsaWNrKGZ1bmN0aW9uKCkg
eyBMaWdodGJveC5lbmQoJ2ZvcmNlQ2xvc2UnKTsgfSApOwogICAgICB9CiAgICAg
IExpZ2h0Ym94LnN0YXJ0KHRoaXMsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2Up
OwogICAgICBpZiAoZS5wcmV2ZW50RGVmYXVsdCkgeyBlLnByZXZlbnREZWZhdWx0
KCk7IH0KICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSk7CiAgICAkKCJhW0ByZWxe
PSdsaWdodGZyYW1lJ106bm90KC5saWdodGJveC1wcm9jZXNzZWQpLCBhcmVhW0By
ZWxePSdsaWdodGZyYW1lJ106bm90KC5saWdodGJveC1wcm9jZXNzZWQpIikuYWRk
Q2xhc3MoJ2xpZ2h0Ym94LXByb2Nlc3NlZCcpLmNsaWNrKGZ1bmN0aW9uKGUpIHsK
ICAgICAgaWYgKExpZ2h0Ym94LmRpc2FibGVDbG9zZUNsaWNrKSB7CiAgICAgICAg
JCgnI2xpZ2h0Ym94JykudW5iaW5kKCdjbGljaycpOwogICAgICAgICQoJyNsaWdo
dGJveCcpLmNsaWNrKGZ1bmN0aW9uKCkgeyBMaWdodGJveC5lbmQoJ2ZvcmNlQ2xv
c2UnKTsgfSApOwogICAgICB9CiAgICAgIExpZ2h0Ym94LnN0YXJ0KHRoaXMsIGZh
bHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UpOwogICAgICBpZiAoZS5wcmV2ZW50RGVm
YXVsdCkgeyBlLnByZXZlbnREZWZhdWx0KCk7IH0KICAgICAgcmV0dXJuIGZhbHNl
OwogICAgfSk7CiAgICBpZiAoTGlnaHRib3guZW5hYmxlVmlkZW8pIHsKICAgICAg
JCgiYVtAcmVsXj0nbGlnaHR2aWRlbyddOm5vdCgubGlnaHRib3gtcHJvY2Vzc2Vk
KSwgYXJlYVtAcmVsXj0nbGlnaHR2aWRlbyddOm5vdCgubGlnaHRib3gtcHJvY2Vz
c2VkKSIpLmFkZENsYXNzKCdsaWdodGJveC1wcm9jZXNzZWQnKS5jbGljayhmdW5j
dGlvbihlKSB7CiAgICAgICAgaWYgKExpZ2h0Ym94LmRpc2FibGVDbG9zZUNsaWNr
KSB7CiAgICAgICAgICAkKCcjbGlnaHRib3gnKS51bmJpbmQoJ2NsaWNrJyk7CiAg
ICAgICAgICAkKCcjbGlnaHRib3gnKS5jbGljayhmdW5jdGlvbigpIHsgTGlnaHRi
b3guZW5kKCdmb3JjZUNsb3NlJyk7IH0gKTsKICAgICAgICB9CiAgICAgICAgTGln
aHRib3guc3RhcnQodGhpcywgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSk7CiAg
ICAgICAgaWYgKGUucHJldmVudERlZmF1bHQpIHsgZS5wcmV2ZW50RGVmYXVsdCgp
OyB9CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9KTsKICAgIH0KICAgICQo
ImFbQHJlbF49J2xpZ2h0bW9kYWwnXTpub3QoLmxpZ2h0Ym94LXByb2Nlc3NlZCks
IGFyZWFbQHJlbF49J2xpZ2h0bW9kYWwnXTpub3QoLmxpZ2h0Ym94LXByb2Nlc3Nl
ZCkiKS5hZGRDbGFzcygnbGlnaHRib3gtcHJvY2Vzc2VkJykuY2xpY2soZnVuY3Rp
b24oZSkgewogICAgICAkKCcjbGlnaHRib3gnKS51bmJpbmQoJ2NsaWNrJyk7CiAg
ICAgIExpZ2h0Ym94LnN0YXJ0KHRoaXMsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRy
dWUpOwogICAgICBpZiAoZS5wcmV2ZW50RGVmYXVsdCkgeyBlLnByZXZlbnREZWZh
dWx0KCk7IH0KICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSk7CiAgfSwKCiAgLy8g
c3RhcnQoKQogIC8vIERpc3BsYXkgb3ZlcmxheSBhbmQgbGlnaHRib3guIElmIGlt
YWdlIGlzIHBhcnQgb2YgYSBzZXQsIGFkZCBzaWJsaW5ncyB0bwogIC8vIGltYWdl
QXJyYXkuCiAgc3RhcnQ6IGZ1bmN0aW9uKGltYWdlTGluaywgc2xpZGVzaG93LCBs
aWdodGZyYW1lLCBsaWdodHZpZGVvLCBsaWdodG1vZGFsKSB7CgogICAgTGlnaHRi
b3guaXNQYXVzZWQgPSAhTGlnaHRib3guYXV0b1N0YXJ0OwoKICAgIC8vIFJlcGxh
Y2VzIGhpZGVTZWxlY3RCb3hlcygpIGFuZCBoaWRlRmxhc2goKSBjYWxscyBpbiBv
cmlnaW5hbCBsaWdodGJveDIuCiAgICBMaWdodGJveC50b2dnbGVTZWxlY3RzRmxh
c2goJ2hpZGUnKTsKCiAgICAvLyBTdHJldGNoIG92ZXJsYXkgdG8gZmlsbCBwYWdl
IGFuZCBmYWRlIGluLgogICAgdmFyIGFycmF5UGFnZVNpemUgPSBMaWdodGJveC5n
ZXRQYWdlU2l6ZSgpOwogICAgJCgiI292ZXJsYXkiKS5oaWRlKCkuY3NzKHsKICAg
ICAgJ3dpZHRoJzogJzEwMCUnLAogICAgICAnekluZGV4JzogJzEwMDkwJywKICAg
ICAgJ2hlaWdodCc6IGFycmF5UGFnZVNpemVbMV0gKyAncHgnLAogICAgICAnYmFj
a2dyb3VuZENvbG9yJyA6ICcjJyArIExpZ2h0Ym94Lm92ZXJsYXlDb2xvcgogICAg
fSk7CiAgICAvLyBEZXRlY3QgT1MgWCBGRjIgb3BhY2l0eSArIGZsYXNoIGlzc3Vl
LgogICAgaWYgKGxpZ2h0dmlkZW8gJiYgdGhpcy5kZXRlY3RNYWNGRjIoKSkgewog
ICAgICAkKCIjb3ZlcmxheSIpLnJlbW92ZUNsYXNzKCJvdmVybGF5X2RlZmF1bHQi
KTsKICAgICAgJCgiI292ZXJsYXkiKS5hZGRDbGFzcygib3ZlcmxheV9tYWNmZjIi
KTsKICAgICAgJCgiI292ZXJsYXkiKS5jc3MoeydvcGFjaXR5JyA6IG51bGx9KTsK
ICAgIH0KICAgIGVsc2UgewogICAgICAkKCIjb3ZlcmxheSIpLnJlbW92ZUNsYXNz
KCJvdmVybGF5X21hY2ZmMiIpOwogICAgICAkKCIjb3ZlcmxheSIpLmFkZENsYXNz
KCJvdmVybGF5X2RlZmF1bHQiKTsKICAgICAgJCgiI292ZXJsYXkiKS5jc3Moeydv
cGFjaXR5JyA6IExpZ2h0Ym94Lm92ZXJsYXlPcGFjaXR5fSk7CiAgICB9CiAgICAk
KCIjb3ZlcmxheSIpLmZhZGVJbihMaWdodGJveC5mYWRlSW5TcGVlZCk7CgoKICAg
IExpZ2h0Ym94LmlzU2xpZGVzaG93ID0gc2xpZGVzaG93OwogICAgTGlnaHRib3gu
aXNMaWdodGZyYW1lID0gbGlnaHRmcmFtZTsKICAgIExpZ2h0Ym94LmlzVmlkZW8g
PSBsaWdodHZpZGVvOwogICAgTGlnaHRib3guaXNNb2RhbCA9IGxpZ2h0bW9kYWw7
CiAgICBMaWdodGJveC5pbWFnZUFycmF5ID0gW107CiAgICBMaWdodGJveC5pbWFn
ZU51bSA9IDA7CgogICAgdmFyIGFuY2hvcnMgPSAkKGltYWdlTGluay50YWdOYW1l
KTsKICAgIHZhciBhbmNob3IgPSBudWxsOwogICAgdmFyIHJlbF9wYXJ0cyA9IExp
Z2h0Ym94LnBhcnNlUmVsKGltYWdlTGluayk7CiAgICB2YXIgcmVsID0gcmVsX3Bh
cnRzWyJyZWwiXTsKICAgIHZhciByZWxfZ3JvdXAgPSByZWxfcGFydHNbImdyb3Vw
Il07CiAgICB2YXIgdGl0bGUgPSAocmVsX3BhcnRzWyJ0aXRsZSJdID8gcmVsX3Bh
cnRzWyJ0aXRsZSJdIDogaW1hZ2VMaW5rLnRpdGxlKTsKICAgIHZhciByZWxfc3R5
bGUgPSBudWxsOwogICAgdmFyIGkgPSAwOwoKCiAgICAvLyBTZXQgdGhlIHRpdGxl
IGZvciBpbWFnZSBhbHRlcm5hdGl2ZSB0ZXh0LgogICAgdmFyIGFsdCA9IGltYWdl
TGluay50aXRsZTsKICAgIGlmICghYWx0KSB7CiAgICAgIHZhciBpbWcgPSAkKGlt
YWdlTGluaykuZmluZCgiaW1nIik7CiAgICAgIGlmIChpbWcgJiYgJChpbWcpLmF0
dHIoImFsdCIpKSB7CiAgICAgICAgYWx0ID0gJChpbWcpLmF0dHIoImFsdCIpOwog
ICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIGFsdCA9IHRpdGxlOwogICAgICB9
CiAgICB9CgogICAgaWYgKCQoaW1hZ2VMaW5rKS5hdHRyKCdpZCcpID09ICdsaWdo
dGJveEF1dG9Nb2RhbCcpIHsKICAgICAgcmVsX3N0eWxlID0gcmVsX3BhcnRzWyJz
dHlsZSJdOwogICAgICBMaWdodGJveC5pbWFnZUFycmF5LnB1c2goWycjbGlnaHRi
b3hBdXRvTW9kYWwgPiAqJywgdGl0bGUsIGFsdCwgcmVsX3N0eWxlLCAxXSk7CiAg
ICB9CiAgICBlbHNlIHsKICAgICAgLy8gSGFuZGxlIGxpZ2h0Ym94IGltYWdlcyB3
aXRoIG5vIGdyb3VwaW5nLgogICAgICBpZiAoKHJlbCA9PSAnbGlnaHRib3gnIHx8
IHJlbCA9PSAnbGlnaHRzaG93JykgJiYgIXJlbF9ncm91cCkgewogICAgICAgIExp
Z2h0Ym94LmltYWdlQXJyYXkucHVzaChbaW1hZ2VMaW5rLmhyZWYsIHRpdGxlLCBh
bHRdKTsKICAgICAgfQoKICAgICAgLy8gSGFuZGxlIG90aGVyIGl0ZW1zIHdpdGgg
bm8gZ3JvdXBpbmcuCiAgICAgIGVsc2UgaWYgKCFyZWxfZ3JvdXApIHsKICAgICAg
ICByZWxfc3R5bGUgPSByZWxfcGFydHNbInN0eWxlIl07CiAgICAgICAgTGlnaHRi
b3guaW1hZ2VBcnJheS5wdXNoKFtpbWFnZUxpbmsuaHJlZiwgdGl0bGUsIGFsdCwg
cmVsX3N0eWxlXSk7CiAgICAgIH0KCiAgICAgIC8vIEhhbmRsZSBncm91cGVkIGl0
ZW1zLgogICAgICBlbHNlIHsKCiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIGFuY2hv
cnMgYW5kIGFkZCB0aGVtIHRvIGltYWdlQXJyYXkuCiAgICAgICAgZm9yIChpID0g
MDsgaSA8IGFuY2hvcnMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIGFuY2hvciA9
IGFuY2hvcnNbaV07CiAgICAgICAgICBpZiAoYW5jaG9yLmhyZWYgJiYgJChhbmNo
b3IpLmF0dHIoJ3JlbCcpKSB7CiAgICAgICAgICAgIHZhciByZWxfZGF0YSA9IExp
Z2h0Ym94LnBhcnNlUmVsKGFuY2hvcik7CiAgICAgICAgICAgIHZhciBhbmNob3Jf
dGl0bGUgPSAocmVsX2RhdGFbInRpdGxlIl0gPyByZWxfZGF0YVsidGl0bGUiXSA6
IGFuY2hvci50aXRsZSk7CiAgICAgICAgICAgIGlmIChyZWxfZGF0YVsicmVsIl0g
PT0gcmVsKSB7CiAgICAgICAgICAgICAgaWYgKHJlbF9kYXRhWyJncm91cCJdID09
IHJlbF9ncm91cCkgewogICAgICAgICAgICAgICAgaWYgKExpZ2h0Ym94LmlzTGln
aHRmcmFtZSB8fCBMaWdodGJveC5pc01vZGFsKSB7CiAgICAgICAgICAgICAgICAg
IHJlbF9zdHlsZSA9IHJlbF9kYXRhWyJzdHlsZSJdOwogICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgTGlnaHRib3guaW1hZ2VBcnJheS5wdXNoKFthbmNo
b3IuaHJlZiwgYW5jaG9yX3RpdGxlLCBhbHQsIHJlbF9zdHlsZV0pOwogICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KCiAg
ICAgICAgLy8gUmVtb3ZlIGR1cGxpY2F0ZXMuCiAgICAgICAgZm9yIChpID0gMDsg
aSA8IExpZ2h0Ym94LmltYWdlQXJyYXkubGVuZ3RoOyBpKyspIHsKICAgICAgICAg
IGZvciAoaiA9IExpZ2h0Ym94LmltYWdlQXJyYXkubGVuZ3RoLTE7IGogPiBpOyBq
LS0pIHsKICAgICAgICAgICAgaWYgKExpZ2h0Ym94LmltYWdlQXJyYXlbaV1bMF0g
PT0gTGlnaHRib3guaW1hZ2VBcnJheVtqXVswXSkgewogICAgICAgICAgICAgIExp
Z2h0Ym94LmltYWdlQXJyYXkuc3BsaWNlKGosMSk7CiAgICAgICAgICAgIH0KICAg
ICAgICAgIH0KICAgICAgICB9CiAgICAgICAgd2hpbGUgKExpZ2h0Ym94LmltYWdl
QXJyYXlbTGlnaHRib3guaW1hZ2VOdW1dWzBdICE9IGltYWdlTGluay5ocmVmKSB7
CiAgICAgICAgICBMaWdodGJveC5pbWFnZU51bSsrOwogICAgICAgIH0KICAgICAg
fQogICAgfQoKICAgIGlmIChMaWdodGJveC5pc1NsaWRlc2hvdyAmJiBMaWdodGJv
eC5zaG93UGxheVBhdXNlICYmIExpZ2h0Ym94LmlzUGF1c2VkKSB7CiAgICAgICQo
JyNsaWdodHNob3dQbGF5Jykuc2hvdygpOwogICAgICAkKCcjbGlnaHRzaG93UGF1
c2UnKS5oaWRlKCk7CiAgICB9CgogICAgLy8gQ2FsY3VsYXRlIHRvcCBhbmQgbGVm
dCBvZmZzZXQgZm9yIHRoZSBsaWdodGJveC4KICAgIHZhciBhcnJheVBhZ2VTY3Jv
bGwgPSBMaWdodGJveC5nZXRQYWdlU2Nyb2xsKCk7CiAgICB2YXIgbGlnaHRib3hU
b3AgPSBhcnJheVBhZ2VTY3JvbGxbMV0gKyAoTGlnaHRib3gudG9wUG9zaXRpb24g
PT0gJycgPyAoYXJyYXlQYWdlU2l6ZVszXSAvIDEwKSA6IExpZ2h0Ym94LnRvcFBv
c2l0aW9uKSAqIDE7CiAgICB2YXIgbGlnaHRib3hMZWZ0ID0gYXJyYXlQYWdlU2Ny
b2xsWzBdOwogICAgJCgnI2ZyYW1lQ29udGFpbmVyLCAjbW9kYWxDb250YWluZXIs
ICNsaWdodGJveEltYWdlJykuaGlkZSgpOwogICAgJCgnI2hvdmVyTmF2LCAjcHJl
dkxpbmssICNuZXh0TGluaywgI2ZyYW1lSG92ZXJOYXYsICNmcmFtZVByZXZMaW5r
LCAjZnJhbWVOZXh0TGluaycpLmhpZGUoKTsKICAgICQoJyNpbWFnZURhdGFDb250
YWluZXIsICNudW1iZXJEaXNwbGF5LCAjYm90dG9tTmF2Wm9vbSwgI2JvdHRvbU5h
dlpvb21PdXQnKS5oaWRlKCk7CiAgICAkKCcjb3V0ZXJJbWFnZUNvbnRhaW5lcicp
LmNzcyh7J3dpZHRoJzogJzI1MHB4JywgJ2hlaWdodCc6ICcyNTBweCd9KTsKICAg
ICQoJyNsaWdodGJveCcpLmNzcyh7CiAgICAgICd6SW5kZXgnOiAnMTA1MDAnLAog
ICAgICAndG9wJzogbGlnaHRib3hUb3AgKyAncHgnLAogICAgICAnbGVmdCc6IGxp
Z2h0Ym94TGVmdCArICdweCcKICAgIH0pLnNob3coKTsKCiAgICBMaWdodGJveC50
b3RhbCA9IExpZ2h0Ym94LmltYWdlQXJyYXkubGVuZ3RoOwogICAgTGlnaHRib3gu
Y2hhbmdlRGF0YShMaWdodGJveC5pbWFnZU51bSk7CiAgfSwKCiAgLy8gY2hhbmdl
RGF0YSgpCiAgLy8gSGlkZSBtb3N0IGVsZW1lbnRzIGFuZCBwcmVsb2FkIGltYWdl
IGluIHByZXBhcmF0aW9uIGZvciByZXNpemluZyBpbWFnZQogIC8vIGNvbnRhaW5l
ci4KICBjaGFuZ2VEYXRhOiBmdW5jdGlvbihpbWFnZU51bSwgem9vbUluKSB7Cgog
ICAgaWYgKExpZ2h0Ym94LmlucHJvZ3Jlc3MgPT09IGZhbHNlKSB7CiAgICAgIGlm
IChMaWdodGJveC50b3RhbCA+IDEgJiYgKChMaWdodGJveC5pc1NsaWRlc2hvdyAm
JiBMaWdodGJveC5sb29wU2xpZGVzKSB8fCAoIUxpZ2h0Ym94LmlzU2xpZGVzaG93
ICYmIExpZ2h0Ym94Lmxvb3BJdGVtcykpKSB7CiAgICAgICAgaWYgKGltYWdlTnVt
ID49IExpZ2h0Ym94LnRvdGFsKSBpbWFnZU51bSA9IDA7CiAgICAgICAgaWYgKGlt
YWdlTnVtIDwgMCkgaW1hZ2VOdW0gPSBMaWdodGJveC50b3RhbCAtIDE7CiAgICAg
IH0KCiAgICAgIGlmIChMaWdodGJveC5pc1NsaWRlc2hvdykgewogICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgTGlnaHRib3guc2xpZGVJZENvdW50OyBpKyspIHsK
ICAgICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQoTGlnaHRib3guc2xpZGVJZEFy
cmF5W2ldKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgTGlnaHRib3guaW5wcm9n
cmVzcyA9IHRydWU7CiAgICAgIExpZ2h0Ym94LmFjdGl2ZUltYWdlID0gaW1hZ2VO
dW07CgogICAgICBpZiAoTGlnaHRib3guZGlzYWJsZVJlc2l6ZSAmJiAhTGlnaHRi
b3guaXNTbGlkZXNob3cpIHsKICAgICAgICB6b29tSW4gPSB0cnVlOwogICAgICB9
CiAgICAgIExpZ2h0Ym94LmlzWm9vbWVkSW4gPSB6b29tSW47CgoKICAgICAgLy8g
SGlkZSBlbGVtZW50cyBkdXJpbmcgdHJhbnNpdGlvbi4KICAgICAgJCgnI2xvYWRp
bmcnKS5jc3Moeyd6SW5kZXgnOiAnMTA1MDAnfSkuc2hvdygpOwogICAgICBpZiAo
IUxpZ2h0Ym94LmFsdGVybmF0aXZlX2xheW91dCkgewogICAgICAgICQoJyNpbWFn
ZUNvbnRhaW5lcicpLmhpZGUoKTsKICAgICAgfQogICAgICAkKCcjZnJhbWVDb250
YWluZXIsICNtb2RhbENvbnRhaW5lciwgI2xpZ2h0Ym94SW1hZ2UnKS5oaWRlKCk7
CiAgICAgICQoJyNob3Zlck5hdiwgI3ByZXZMaW5rLCAjbmV4dExpbmssICNmcmFt
ZUhvdmVyTmF2LCAjZnJhbWVQcmV2TGluaywgI2ZyYW1lTmV4dExpbmsnKS5oaWRl
KCk7CiAgICAgICQoJyNpbWFnZURhdGFDb250YWluZXIsICNudW1iZXJEaXNwbGF5
LCAjYm90dG9tTmF2Wm9vbSwgI2JvdHRvbU5hdlpvb21PdXQnKS5oaWRlKCk7Cgog
ICAgICAvLyBQcmVsb2FkIGltYWdlIGNvbnRlbnQsIGJ1dCBub3QgaWZyYW1lIHBh
Z2VzLgogICAgICBpZiAoIUxpZ2h0Ym94LmlzTGlnaHRmcmFtZSAmJiAhTGlnaHRi
b3guaXNWaWRlbyAmJiAhTGlnaHRib3guaXNNb2RhbCkgewogICAgICAgIGltZ1By
ZWxvYWRlciA9IG5ldyBJbWFnZSgpOwogICAgICAgIGltZ1ByZWxvYWRlci5vbmVy
cm9yID0gZnVuY3Rpb24oKSB7IExpZ2h0Ym94LmltZ05vZGVMb2FkaW5nRXJyb3Io
dGhpcyk7IH07CgogICAgICAgIGltZ1ByZWxvYWRlci5vbmxvYWQgPSBmdW5jdGlv
bigpIHsKICAgICAgICAgIHZhciBwaG90byA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdsaWdodGJveEltYWdlJyk7CiAgICAgICAgICBwaG90by5zcmMgPSBMaWdo
dGJveC5pbWFnZUFycmF5W0xpZ2h0Ym94LmFjdGl2ZUltYWdlXVswXTsKICAgICAg
ICAgIHBob3RvLmFsdCA9IExpZ2h0Ym94LmltYWdlQXJyYXlbTGlnaHRib3guYWN0
aXZlSW1hZ2VdWzJdOwoKICAgICAgICAgIHZhciBpbWFnZVdpZHRoID0gaW1nUHJl
bG9hZGVyLndpZHRoOwogICAgICAgICAgdmFyIGltYWdlSGVpZ2h0ID0gaW1nUHJl
bG9hZGVyLmhlaWdodDsKCiAgICAgICAgICAvLyBSZXNpemUgY29kZS4KICAgICAg
ICAgIHZhciBhcnJheVBhZ2VTaXplID0gTGlnaHRib3guZ2V0UGFnZVNpemUoKTsK
ICAgICAgICAgIHZhciB0YXJnID0geyB3OmFycmF5UGFnZVNpemVbMl0gLSAoTGln
aHRib3guYm9yZGVyU2l6ZSAqIDIpLCBoOmFycmF5UGFnZVNpemVbM10gLSAoTGln
aHRib3guYm9yZGVyU2l6ZSAqIDYpIC0gKExpZ2h0Ym94LmluZm9IZWlnaHQgKiA0
KSAtIChhcnJheVBhZ2VTaXplWzNdIC8gMTApIH07CiAgICAgICAgICB2YXIgb3Jp
ZyA9IHsgdzppbWdQcmVsb2FkZXIud2lkdGgsIGg6aW1nUHJlbG9hZGVyLmhlaWdo
dCB9OwoKICAgICAgICAgIC8vIEltYWdlIGlzIHZlcnkgbGFyZ2UsIHNvIHNob3cg
YSBzbWFsbGVyIHZlcnNpb24gb2YgdGhlIGxhcmdlciBpbWFnZQogICAgICAgICAg
Ly8gd2l0aCB6b29tIGJ1dHRvbi4KICAgICAgICAgIGlmICh6b29tSW4gIT09IHRy
dWUpIHsKICAgICAgICAgICAgdmFyIHJhdGlvID0gMS4wOyAvLyBTaHJpbmsgaW1h
Z2Ugd2l0aCB0aGUgc2FtZSBhc3BlY3QuCiAgICAgICAgICAgICQoJyNib3R0b21O
YXZab29tT3V0LCAjYm90dG9tTmF2Wm9vbScpLmhpZGUoKTsKICAgICAgICAgICAg
aWYgKChvcmlnLncgPj0gdGFyZy53IHx8IG9yaWcuaCA+PSB0YXJnLmgpICYmIG9y
aWcuaCAmJiBvcmlnLncpIHsKICAgICAgICAgICAgICByYXRpbyA9ICgodGFyZy53
IC8gb3JpZy53KSA8ICh0YXJnLmggLyBvcmlnLmgpKSA/IHRhcmcudyAvIG9yaWcu
dyA6IHRhcmcuaCAvIG9yaWcuaDsKICAgICAgICAgICAgICBpZiAoIUxpZ2h0Ym94
LmRpc2FibGVab29tICYmICFMaWdodGJveC5pc1NsaWRlc2hvdykgewogICAgICAg
ICAgICAgICAgJCgnI2JvdHRvbU5hdlpvb20nKS5jc3Moeyd6SW5kZXgnOiAnMTA1
MDAnfSkuc2hvdygpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgaW1hZ2VXaWR0aCAgPSBNYXRoLmZsb29yKG9yaWcudyAqIHJhdGlv
KTsKICAgICAgICAgICAgaW1hZ2VIZWlnaHQgPSBNYXRoLmZsb29yKG9yaWcuaCAq
IHJhdGlvKTsKICAgICAgICAgIH0KCiAgICAgICAgICBlbHNlIHsKICAgICAgICAg
ICAgJCgnI2JvdHRvbU5hdlpvb20nKS5oaWRlKCk7CiAgICAgICAgICAgIC8vIE9u
bHkgZGlzcGxheSB6b29tIG91dCBidXR0b24gaWYgdGhlIGltYWdlIGlzIHpvb21l
ZCBpbiBhbHJlYWR5LgogICAgICAgICAgICBpZiAoKG9yaWcudyA+PSB0YXJnLncg
fHwgb3JpZy5oID49IHRhcmcuaCkgJiYgb3JpZy5oICYmIG9yaWcudykgewogICAg
ICAgICAgICAgIC8vIE9ubHkgZGlzcGxheSB6b29tIG91dCBidXR0b24gaWYgbm90
IGEgc2xpZGVzaG93IGFuZCBpZiB0aGUKICAgICAgICAgICAgICAvLyBidXR0b25z
IGFyZW4ndCBkaXNhYmxlZC4KICAgICAgICAgICAgICBpZiAoIUxpZ2h0Ym94LmRp
c2FibGVSZXNpemUgJiYgTGlnaHRib3guaXNTbGlkZXNob3cgPT09IGZhbHNlICYm
ICFMaWdodGJveC5kaXNhYmxlWm9vbSkgewogICAgICAgICAgICAgICAgJCgnI2Jv
dHRvbU5hdlpvb21PdXQnKS5jc3Moeyd6SW5kZXgnOiAnMTA1MDAnfSkuc2hvdygp
OwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQoKICAg
ICAgICAgIHBob3RvLnN0eWxlLndpZHRoID0gKGltYWdlV2lkdGgpICsgJ3B4JzsK
ICAgICAgICAgIHBob3RvLnN0eWxlLmhlaWdodCA9IChpbWFnZUhlaWdodCkgKyAn
cHgnOwogICAgICAgICAgTGlnaHRib3gucmVzaXplQ29udGFpbmVyKGltYWdlV2lk
dGgsIGltYWdlSGVpZ2h0KTsKCiAgICAgICAgICAvLyBDbGVhciBvbkxvYWQsIElF
IGJlaGF2ZXMgaXJyYXRpY2FsbHkgd2l0aCBhbmltYXRlZCBnaWZzIG90aGVyd2lz
ZS4KICAgICAgICAgIGltZ1ByZWxvYWRlci5vbmxvYWQgPSBmdW5jdGlvbigpIHt9
OwogICAgICAgIH07CgogICAgICAgIGltZ1ByZWxvYWRlci5zcmMgPSBMaWdodGJv
eC5pbWFnZUFycmF5W0xpZ2h0Ym94LmFjdGl2ZUltYWdlXVswXTsKICAgICAgICBp
bWdQcmVsb2FkZXIuYWx0ID0gTGlnaHRib3guaW1hZ2VBcnJheVtMaWdodGJveC5h
Y3RpdmVJbWFnZV1bMl07CiAgICAgIH0KCiAgICAgIC8vIFNldCB1cCBmcmFtZSBz
aXplLCBldGMuCiAgICAgIGVsc2UgaWYgKExpZ2h0Ym94LmlzTGlnaHRmcmFtZSkg
ewogICAgICAgIHZhciBzcmMgPSBMaWdodGJveC5pbWFnZUFycmF5W0xpZ2h0Ym94
LmFjdGl2ZUltYWdlXVswXTsKICAgICAgICAkKCcjZnJhbWVDb250YWluZXInKS5o
dG1sKCc8aWZyYW1lIGlkPSJsaWdodGJveEZyYW1lIiBzdHlsZT0iZGlzcGxheTog
bm9uZTsiIHNyYz0iJytzcmMrJyI+PC9pZnJhbWU+Jyk7CgogICAgICAgIC8vIEVu
YWJsZSBzd2Ygc3VwcG9ydCBpbiBHZWNrbyBicm93c2Vycy4KICAgICAgICBpZiAo
JC5icm93c2VyLm1vemlsbGEgJiYgc3JjLmluZGV4T2YoJy5zd2YnKSAhPSAtMSkg
ewogICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsaWdodGJveEZyYW1lIikuc3JjID0g
TGlnaHRib3guaW1hZ2VBcnJheVtMaWdodGJveC5hY3RpdmVJbWFnZV1bMF07CiAg
ICAgICAgICB9LCAxMDAwKTsKICAgICAgICB9CgogICAgICAgIGlmICghTGlnaHRi
b3guaWZyYW1lX2JvcmRlcikgewogICAgICAgICAgJCgnI2xpZ2h0Ym94RnJhbWUn
KS5jc3Moeydib3JkZXInOiAnbm9uZSd9KTsKICAgICAgICAgICQoJyNsaWdodGJv
eEZyYW1lJykuYXR0cignZnJhbWVib3JkZXInLCAnMCcpOwogICAgICAgIH0KICAg
ICAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xpZ2h0
Ym94RnJhbWUnKTsKICAgICAgICB2YXIgaWZyYW1lU3R5bGVzID0gTGlnaHRib3gu
aW1hZ2VBcnJheVtMaWdodGJveC5hY3RpdmVJbWFnZV1bM107CiAgICAgICAgaWZy
YW1lID0gTGlnaHRib3guc2V0U3R5bGVzKGlmcmFtZSwgaWZyYW1lU3R5bGVzKTsK
ICAgICAgICBMaWdodGJveC5yZXNpemVDb250YWluZXIocGFyc2VJbnQoaWZyYW1l
LndpZHRoLCAxMCksIHBhcnNlSW50KGlmcmFtZS5oZWlnaHQsIDEwKSk7CiAgICAg
IH0KICAgICAgZWxzZSBpZiAoTGlnaHRib3guaXNWaWRlbyB8fCBMaWdodGJveC5p
c01vZGFsKSB7CiAgICAgICAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdtb2RhbENvbnRhaW5lcicpOwogICAgICAgIHZhciBtb2RhbFN0
eWxlcyA9IExpZ2h0Ym94LmltYWdlQXJyYXlbTGlnaHRib3guYWN0aXZlSW1hZ2Vd
WzNdOwogICAgICAgIGNvbnRhaW5lciA9IExpZ2h0Ym94LnNldFN0eWxlcyhjb250
YWluZXIsIG1vZGFsU3R5bGVzKTsKICAgICAgICBpZiAoTGlnaHRib3guaXNWaWRl
bykgewogICAgICAgICAgTGlnaHRib3gubW9kYWxIZWlnaHQgPSAgcGFyc2VJbnQo
Y29udGFpbmVyLmhlaWdodCwgMTApOwogICAgICAgICAgTGlnaHRib3gubW9kYWxX
aWR0aCA9ICBwYXJzZUludChjb250YWluZXIud2lkdGgsIDEwKTsKICAgICAgICAg
IExpZ2h0dmlkZW8uc3RhcnRWaWRlbyhMaWdodGJveC5pbWFnZUFycmF5W0xpZ2h0
Ym94LmFjdGl2ZUltYWdlXVswXSk7CiAgICAgICAgfQogICAgICAgIExpZ2h0Ym94
LnJlc2l6ZUNvbnRhaW5lcihwYXJzZUludChjb250YWluZXIud2lkdGgsIDEwKSwg
cGFyc2VJbnQoY29udGFpbmVyLmhlaWdodCwgMTApKTsKICAgICAgfQogICAgfQog
IH0sCgogIC8vIGltZ05vZGVMb2FkaW5nRXJyb3IoKQogIGltZ05vZGVMb2FkaW5n
RXJyb3I6IGZ1bmN0aW9uKGltYWdlKSB7CiAgICB2YXIgcyA9IERydXBhbC5zZXR0
aW5ncy5saWdodGJveDI7CiAgICB2YXIgb3JpZ2luYWxfaW1hZ2UgPSBMaWdodGJv
eC5pbWFnZUFycmF5W0xpZ2h0Ym94LmFjdGl2ZUltYWdlXVswXTsKICAgIGlmIChz
LmRpc3BsYXlfaW1hZ2Vfc2l6ZSAhPT0gIiIpIHsKICAgICAgb3JpZ2luYWxfaW1h
Z2UgPSBvcmlnaW5hbF9pbWFnZS5yZXBsYWNlKG5ldyBSZWdFeHAoIi4iK3MuZGlz
cGxheV9pbWFnZV9zaXplKSwgIiIpOwogICAgfQogICAgTGlnaHRib3guaW1hZ2VB
cnJheVtMaWdodGJveC5hY3RpdmVJbWFnZV1bMF0gPSBvcmlnaW5hbF9pbWFnZTsK
ICAgIGltYWdlLm9uZXJyb3IgPSBmdW5jdGlvbigpIHsgTGlnaHRib3guaW1nTG9h
ZGluZ0Vycm9yKGltYWdlKTsgfTsKICAgIGltYWdlLnNyYyA9IG9yaWdpbmFsX2lt
YWdlOwogIH0sCgogIC8vIGltZ0xvYWRpbmdFcnJvcigpCiAgaW1nTG9hZGluZ0Vy
cm9yOiBmdW5jdGlvbihpbWFnZSkgewogICAgdmFyIHMgPSBEcnVwYWwuc2V0dGlu
Z3MubGlnaHRib3gyOwogICAgTGlnaHRib3guaW1hZ2VBcnJheVtMaWdodGJveC5h
Y3RpdmVJbWFnZV1bMF0gPSBzLmRlZmF1bHRfaW1hZ2U7CiAgICBpbWFnZS5zcmMg
PSBzLmRlZmF1bHRfaW1hZ2U7CiAgfSwKCiAgLy8gcmVzaXplQ29udGFpbmVyKCkK
ICByZXNpemVDb250YWluZXI6IGZ1bmN0aW9uKGltZ1dpZHRoLCBpbWdIZWlnaHQp
IHsKCiAgICBpbWdXaWR0aCA9IChpbWdXaWR0aCA8IExpZ2h0Ym94Lm1pbldpZHRo
ID8gTGlnaHRib3gubWluV2lkdGggOiBpbWdXaWR0aCk7CgogICAgdGhpcy53aWR0
aEN1cnJlbnQgPSAkKCcjb3V0ZXJJbWFnZUNvbnRhaW5lcicpLndpZHRoKCk7CiAg
ICB0aGlzLmhlaWdodEN1cnJlbnQgPSAkKCcjb3V0ZXJJbWFnZUNvbnRhaW5lcicp
LmhlaWdodCgpOwoKICAgIHZhciB3aWR0aE5ldyA9IChpbWdXaWR0aCAgKyAoTGln
aHRib3guYm9yZGVyU2l6ZSAqIDIpKTsKICAgIHZhciBoZWlnaHROZXcgPSAoaW1n
SGVpZ2h0ICArIChMaWdodGJveC5ib3JkZXJTaXplICogMikpOwoKICAgIC8vIFNj
YWxhcnMgYmFzZWQgb24gY2hhbmdlIGZyb20gb2xkIHRvIG5ldy4KICAgIHRoaXMu
eFNjYWxlID0gKCB3aWR0aE5ldyAvIHRoaXMud2lkdGhDdXJyZW50KSAqIDEwMDsK
ICAgIHRoaXMueVNjYWxlID0gKCBoZWlnaHROZXcgLyB0aGlzLmhlaWdodEN1cnJl
bnQpICogMTAwOwoKICAgIC8vIENhbGN1bGF0ZSBzaXplIGRpZmZlcmVuY2UgYmV0
d2VlbiBuZXcgYW5kIG9sZCBpbWFnZSwgYW5kIHJlc2l6ZSBpZgogICAgLy8gbmVj
ZXNzYXJ5LgogICAgd0RpZmYgPSB0aGlzLndpZHRoQ3VycmVudCAtIHdpZHRoTmV3
OwogICAgaERpZmYgPSB0aGlzLmhlaWdodEN1cnJlbnQgLSBoZWlnaHROZXc7Cgog
ICAgJCgnI21vZGFsQ29udGFpbmVyJykuY3NzKHsnd2lkdGgnOiBpbWdXaWR0aCwg
J2hlaWdodCc6IGltZ0hlaWdodH0pOwogICAgLy8gRGV0ZWN0IGFuaW1hdGlvbiBz
ZXF1ZW5jZS4KICAgIGlmIChMaWdodGJveC5yZXNpemVTZXF1ZW5jZSkgewogICAg
ICB2YXIgYW5pbWF0ZTEgPSB7d2lkdGg6IHdpZHRoTmV3fTsKICAgICAgdmFyIGFu
aW1hdGUyID0ge2hlaWdodDogaGVpZ2h0TmV3fTsKICAgICAgaWYgKExpZ2h0Ym94
LnJlc2l6ZVNlcXVlbmNlID09IDIpIHsKICAgICAgICBhbmltYXRlMSA9IHtoZWln
aHQ6IGhlaWdodE5ld307CiAgICAgICAgYW5pbWF0ZTIgPSB7d2lkdGg6IHdpZHRo
TmV3fTsKICAgICAgfQogICAgICAkKCcjb3V0ZXJJbWFnZUNvbnRhaW5lcicpLmFu
aW1hdGUoYW5pbWF0ZTEsIExpZ2h0Ym94LnJlc2l6ZVNwZWVkKS5hbmltYXRlKGFu
aW1hdGUyLCBMaWdodGJveC5yZXNpemVTcGVlZCwgJ2xpbmVhcicsIGZ1bmN0aW9u
KCkgeyBMaWdodGJveC5zaG93RGF0YSgpOyB9KTsKICAgIH0KICAgIC8vIFNpbXVs
dGFuZW91cy4KICAgIGVsc2UgewogICAgICAkKCcjb3V0ZXJJbWFnZUNvbnRhaW5l
cicpLmFuaW1hdGUoeyd3aWR0aCc6IHdpZHRoTmV3LCAnaGVpZ2h0JzogaGVpZ2h0
TmV3fSwgTGlnaHRib3gucmVzaXplU3BlZWQsICdsaW5lYXInLCBmdW5jdGlvbigp
IHsgTGlnaHRib3guc2hvd0RhdGEoKTsgfSk7CiAgICB9CgogICAgLy8gSWYgbmV3
IGFuZCBvbGQgaW1hZ2UgYXJlIHNhbWUgc2l6ZSBhbmQgbm8gc2NhbGluZyB0cmFu
c2l0aW9uIGlzIG5lY2Vzc2FyeQogICAgLy8gZG8gYSBxdWljayBwYXVzZSB0byBw
cmV2ZW50IGltYWdlIGZsaWNrZXIuCiAgICBpZiAoKGhEaWZmID09PSAwKSAmJiAo
d0RpZmYgPT09IDApKSB7CiAgICAgIGlmICgkLmJyb3dzZXIubXNpZSkgewogICAg
ICAgIExpZ2h0Ym94LnBhdXNlKDI1MCk7CiAgICAgIH0KICAgICAgZWxzZSB7CiAg
ICAgICAgTGlnaHRib3gucGF1c2UoMTAwKTsKICAgICAgfQogICAgfQoKICAgIHZh
ciBzID0gRHJ1cGFsLnNldHRpbmdzLmxpZ2h0Ym94MjsKICAgIGlmICghcy51c2Vf
YWx0X2xheW91dCkgewogICAgICAkKCcjcHJldkxpbmssICNuZXh0TGluaycpLmNz
cyh7J2hlaWdodCc6IGltZ0hlaWdodCArICdweCd9KTsKICAgIH0KICAgICQoJyNp
bWFnZURhdGFDb250YWluZXInKS5jc3Moeyd3aWR0aCc6IHdpZHRoTmV3ICsgJ3B4
J30pOwogIH0sCgogIC8vIHNob3dEYXRhKCkKICAvLyBEaXNwbGF5IGltYWdlIGFu
ZCBiZWdpbiBwcmVsb2FkaW5nIG5laWdoYm9ycy4KICBzaG93RGF0YTogZnVuY3Rp
b24oKSB7CiAgICAkKCcjbG9hZGluZycpLmhpZGUoKTsKCiAgICBpZiAoTGlnaHRi
b3guaXNMaWdodGZyYW1lIHx8IExpZ2h0Ym94LmlzVmlkZW8gfHwgTGlnaHRib3gu
aXNNb2RhbCkgewogICAgICBMaWdodGJveC51cGRhdGVEZXRhaWxzKCk7CiAgICAg
IGlmIChMaWdodGJveC5pc0xpZ2h0ZnJhbWUpIHsKICAgICAgICAkKCcjZnJhbWVD
b250YWluZXInKS5zaG93KCk7CiAgICAgICAgaWYgKCQuYnJvd3Nlci5zYWZhcmkp
IHsKICAgICAgICAgICQoJyNsaWdodGJveEZyYW1lJykuY3NzKHsnekluZGV4Jzog
JzEwNTAwJ30pLnNob3coKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAg
ICAgICAkKCcjbGlnaHRib3hGcmFtZScpLmNzcyh7J3pJbmRleCc6ICcxMDUwMCd9
KS5mYWRlSW4oTGlnaHRib3guZmFkZUluU3BlZWQpOwogICAgICAgIH0KICAgICAg
fQogICAgICBlbHNlIHsKICAgICAgICBpZiAoTGlnaHRib3guaXNWaWRlbykgewog
ICAgICAgICAgJCgiI21vZGFsQ29udGFpbmVyIikuaHRtbChMaWdodGJveC5tb2Rh
bEhUTUwpOwogICAgICAgICAgJCgiI21vZGFsQ29udGFpbmVyIikuY2xpY2soZnVu
Y3Rpb24oKSB7IHJldHVybiBmYWxzZTsgfSApOwogICAgICAgIH0KICAgICAgICBl
bHNlIHsKICAgICAgICAgIHZhciBzcmMgPSB1bmVzY2FwZShMaWdodGJveC5pbWFn
ZUFycmF5W0xpZ2h0Ym94LmFjdGl2ZUltYWdlXVswXSk7CiAgICAgICAgICBpZiAo
TGlnaHRib3guaW1hZ2VBcnJheVtMaWdodGJveC5hY3RpdmVJbWFnZV1bNF0pIHsK
ICAgICAgICAgICAgJChzcmMpLmFwcGVuZFRvKCIjbW9kYWxDb250YWluZXIiKTsK
ICAgICAgICAgIH0KICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAkKCIjbW9k
YWxDb250YWluZXIiKS5sb2FkKHNyYyk7CiAgICAgICAgICB9CiAgICAgICAgICAk
KCcjbW9kYWxDb250YWluZXInKS51bmJpbmQoJ2NsaWNrJyk7CiAgICAgICAgfQog
ICAgICAgICQoJyNtb2RhbENvbnRhaW5lcicpLmNzcyh7J3pJbmRleCc6ICcxMDUw
MCd9KS5zaG93KCk7CiAgICAgIH0KICAgIH0KCiAgICAvLyBIYW5kbGUgZGlzcGxh
eSBvZiBpbWFnZSBjb250ZW50LgogICAgZWxzZSB7CiAgICAgICQoJyNpbWFnZUNv
bnRhaW5lcicpLnNob3coKTsKICAgICAgaWYoJC5icm93c2VyLnNhZmFyaSkgewog
ICAgICAgICQoJyNsaWdodGJveEltYWdlJykuY3NzKHsnekluZGV4JzogJzEwNTAw
J30pLnNob3coKTsKICAgICAgfQogICAgICBlbHNlIHsKICAgICAgICAkKCcjbGln
aHRib3hJbWFnZScpLmNzcyh7J3pJbmRleCc6ICcxMDUwMCd9KS5mYWRlSW4oTGln
aHRib3guZmFkZUluU3BlZWQpOwogICAgICB9CiAgICAgIExpZ2h0Ym94LnVwZGF0
ZURldGFpbHMoKTsKICAgICAgdGhpcy5wcmVsb2FkTmVpZ2hib3JJbWFnZXMoKTsK
ICAgIH0KICAgIExpZ2h0Ym94LmlucHJvZ3Jlc3MgPSBmYWxzZTsKCiAgICAvLyBT
bGlkZXNob3cgc3BlY2lmaWMgc3R1ZmYuCiAgICBpZiAoTGlnaHRib3guaXNTbGlk
ZXNob3cpIHsKICAgICAgaWYgKCFMaWdodGJveC5sb29wU2xpZGVzICYmIExpZ2h0
Ym94LmFjdGl2ZUltYWdlID09IChMaWdodGJveC50b3RhbCAtIDEpKSB7CiAgICAg
ICAgaWYgKExpZ2h0Ym94LmF1dG9FeGl0KSB7CiAgICAgICAgICBMaWdodGJveC5z
bGlkZUlkQXJyYXlbTGlnaHRib3guc2xpZGVJZENvdW50KytdID0gc2V0VGltZW91
dChmdW5jdGlvbiAoKSB7TGlnaHRib3guZW5kKCdzbGlkZXNob3cnKTt9LCBMaWdo
dGJveC5zbGlkZUludGVydmFsKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgZWxz
ZSB7CiAgICAgICAgaWYgKCFMaWdodGJveC5pc1BhdXNlZCAmJiBMaWdodGJveC50
b3RhbCA+IDEpIHsKICAgICAgICAgIExpZ2h0Ym94LnNsaWRlSWRBcnJheVtMaWdo
dGJveC5zbGlkZUlkQ291bnQrK10gPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtM
aWdodGJveC5jaGFuZ2VEYXRhKExpZ2h0Ym94LmFjdGl2ZUltYWdlICsgMSk7fSwg
TGlnaHRib3guc2xpZGVJbnRlcnZhbCk7CiAgICAgICAgfQogICAgICB9CiAgICAg
IGlmIChMaWdodGJveC5zaG93UGxheVBhdXNlICYmIExpZ2h0Ym94LnRvdGFsID4g
MSAmJiAhTGlnaHRib3guaXNQYXVzZWQpIHsKICAgICAgICAkKCcjbGlnaHRzaG93
UGF1c2UnKS5zaG93KCk7CiAgICAgICAgJCgnI2xpZ2h0c2hvd1BsYXknKS5oaWRl
KCk7CiAgICAgIH0KICAgICAgZWxzZSBpZiAoTGlnaHRib3guc2hvd1BsYXlQYXVz
ZSAmJiBMaWdodGJveC50b3RhbCA+IDEpIHsKICAgICAgICAkKCcjbGlnaHRzaG93
UGF1c2UnKS5oaWRlKCk7CiAgICAgICAgJCgnI2xpZ2h0c2hvd1BsYXknKS5zaG93
KCk7CiAgICAgIH0KICAgIH0KCiAgICAvLyBBZGp1c3QgdGhlIHBhZ2Ugb3Zlcmxh
eSBzaXplLgogICAgdmFyIGFycmF5UGFnZVNpemUgPSBMaWdodGJveC5nZXRQYWdl
U2l6ZSgpOwogICAgdmFyIGFycmF5UGFnZVNjcm9sbCA9IExpZ2h0Ym94LmdldFBh
Z2VTY3JvbGwoKTsKICAgIHZhciBwYWdlSGVpZ2h0ID0gYXJyYXlQYWdlU2l6ZVsx
XTsKICAgIGlmIChMaWdodGJveC5pc1pvb21lZEluICYmIGFycmF5UGFnZVNpemVb
MV0gPiBhcnJheVBhZ2VTaXplWzNdKSB7CiAgICAgIHZhciBsaWdodGJveFRvcCA9
IChMaWdodGJveC50b3BQb3NpdGlvbiA9PSAnJyA/IChhcnJheVBhZ2VTaXplWzNd
IC8gMTApIDogTGlnaHRib3gudG9wUG9zaXRpb24pICogMTsKICAgICAgcGFnZUhl
aWdodCA9IHBhZ2VIZWlnaHQgKyBhcnJheVBhZ2VTY3JvbGxbMV0gKyBsaWdodGJv
eFRvcDsKICAgIH0KICAgICQoJyNvdmVybGF5JykuY3NzKHsnaGVpZ2h0JzogcGFn
ZUhlaWdodCArICdweCcsICd3aWR0aCc6IGFycmF5UGFnZVNpemVbMF0gKyAncHgn
fSk7CgogICAgLy8gR2Vja28gYnJvd3NlcnMgKGUuZy4gRmlyZWZveCwgU2VhTW9u
a2V5LCBldGMpIGRvbid0IGhhbmRsZSBwZGZzIGFzCiAgICAvLyBleHBlY3RlZC4K
ICAgIGlmICgkLmJyb3dzZXIubW96aWxsYSkgewogICAgICBpZiAoTGlnaHRib3gu
aW1hZ2VBcnJheVtMaWdodGJveC5hY3RpdmVJbWFnZV1bMF0uaW5kZXhPZigiLnBk
ZiIpICE9IC0xKSB7CiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAg
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGlnaHRib3hGcmFtZSIp
LnNyYyA9IExpZ2h0Ym94LmltYWdlQXJyYXlbTGlnaHRib3guYWN0aXZlSW1hZ2Vd
WzBdOwogICAgICAgIH0sIDEwMDApOwogICAgICB9CiAgICB9CiAgfSwKCiAgLy8g
dXBkYXRlRGV0YWlscygpCiAgLy8gRGlzcGxheSBjYXB0aW9uLCBpbWFnZSBudW1i
ZXIsIGFuZCBib3R0b20gbmF2LgogIHVwZGF0ZURldGFpbHM6IGZ1bmN0aW9uKCkg
ewoKICAgICQoIiNpbWFnZURhdGFDb250YWluZXIiKS5oaWRlKCk7CgogICAgdmFy
IGNhcHRpb24gPSBMaWdodGJveC5pbWFnZUFycmF5W0xpZ2h0Ym94LmFjdGl2ZUlt
YWdlXVsxXTsKICAgIGlmICghY2FwdGlvbikgY2FwdGlvbiA9ICcmbmJzcDsnOwog
ICAgJCgnI2NhcHRpb24nKS5odG1sKGNhcHRpb24pLmNzcyh7J3pJbmRleCc6ICcx
MDUwMCd9KS5zaG93KCk7CgogICAgLy8gSWYgaW1hZ2UgaXMgcGFydCBvZiBzZXQg
ZGlzcGxheSAnSW1hZ2UgeCBvZiB4Jy4KICAgIHZhciBzID0gRHJ1cGFsLnNldHRp
bmdzLmxpZ2h0Ym94MjsKICAgIHZhciBudW1iZXJEaXNwbGF5ID0gbnVsbDsKICAg
IGlmIChMaWdodGJveC50b3RhbCA+IDEpIHsKICAgICAgdmFyIGN1cnJlbnRJbWFn
ZSA9IExpZ2h0Ym94LmFjdGl2ZUltYWdlICsgMTsKICAgICAgaWYgKCFMaWdodGJv
eC5pc0xpZ2h0ZnJhbWUgJiYgIUxpZ2h0Ym94LmlzTW9kYWwgJiYgIUxpZ2h0Ym94
LmlzVmlkZW8pIHsKICAgICAgICBudW1iZXJEaXNwbGF5ID0gcy5pbWFnZV9jb3Vu
dC5yZXBsYWNlKC9cIWN1cnJlbnQvLCBjdXJyZW50SW1hZ2UpLnJlcGxhY2UoL1wh
dG90YWwvLCBMaWdodGJveC50b3RhbCk7CiAgICAgIH0KICAgICAgZWxzZSBpZiAo
TGlnaHRib3guaXNWaWRlbykgewogICAgICAgIG51bWJlckRpc3BsYXkgPSBzLnZp
ZGVvX2NvdW50LnJlcGxhY2UoL1whY3VycmVudC8sIGN1cnJlbnRJbWFnZSkucmVw
bGFjZSgvXCF0b3RhbC8sIExpZ2h0Ym94LnRvdGFsKTsKICAgICAgfQogICAgICBl
bHNlIHsKICAgICAgICBudW1iZXJEaXNwbGF5ID0gcy5wYWdlX2NvdW50LnJlcGxh
Y2UoL1whY3VycmVudC8sIGN1cnJlbnRJbWFnZSkucmVwbGFjZSgvXCF0b3RhbC8s
IExpZ2h0Ym94LnRvdGFsKTsKICAgICAgfQogICAgICAkKCcjbnVtYmVyRGlzcGxh
eScpLmh0bWwobnVtYmVyRGlzcGxheSkuY3NzKHsnekluZGV4JzogJzEwNTAwJ30p
LnNob3coKTsKICAgIH0KCiAgICAkKCIjaW1hZ2VEYXRhQ29udGFpbmVyIikuaGlk
ZSgpLnNsaWRlRG93bihMaWdodGJveC5zbGlkZURvd25TcGVlZCwgZnVuY3Rpb24o
KSB7CiAgICAgICQoIiNib3R0b21OYXYiKS5zaG93KCk7CiAgICB9KTsKICAgIGlm
IChMaWdodGJveC5ydGwgPT0gMSkgewogICAgICAkKCIjYm90dG9tTmF2IikuY3Nz
KHsnZmxvYXQnOiAnbGVmdCd9KTsKICAgIH0KICAgIExpZ2h0Ym94LnVwZGF0ZU5h
digpOwogIH0sCgogIC8vIHVwZGF0ZU5hdigpCiAgLy8gRGlzcGxheSBhcHByb3By
aWF0ZSBwcmV2aW91cyBhbmQgbmV4dCBob3ZlciBuYXZpZ2F0aW9uLgogIHVwZGF0
ZU5hdjogZnVuY3Rpb24oKSB7CgogICAgJCgnI2hvdmVyTmF2JykuY3NzKHsneklu
ZGV4JzogJzEwNTAwJ30pLnNob3coKTsKICAgIHZhciBwcmV2TGluayA9ICcjcHJl
dkxpbmsnOwogICAgdmFyIG5leHRMaW5rID0gJyNuZXh0TGluayc7CgogICAgLy8g
U2xpZGVzaG93IGlzIHNlcGFyYXRlZCBhcyB3ZSBuZWVkIHRvIHNob3cgcGxheSAv
IHBhdXNlIGJ1dHRvbi4KICAgIGlmIChMaWdodGJveC5pc1NsaWRlc2hvdykgewog
ICAgICBpZiAoKExpZ2h0Ym94LnRvdGFsID4gMSAmJiBMaWdodGJveC5sb29wU2xp
ZGVzKSB8fCBMaWdodGJveC5hY3RpdmVJbWFnZSAhPT0gMCkgewogICAgICAgICQo
cHJldkxpbmspLmNzcyh7J3pJbmRleCc6ICcxMDUwMCd9KS5zaG93KCkuY2xpY2so
ZnVuY3Rpb24oKSB7CiAgICAgICAgICBpZiAoTGlnaHRib3gucGF1c2VPblByZXZD
bGljaykgewogICAgICAgICAgICBMaWdodGJveC50b2dnbGVQbGF5UGF1c2UoImxp
Z2h0c2hvd1BhdXNlIiwgImxpZ2h0c2hvd1BsYXkiKTsKICAgICAgICAgIH0KICAg
ICAgICAgIExpZ2h0Ym94LmNoYW5nZURhdGEoTGlnaHRib3guYWN0aXZlSW1hZ2Ug
LSAxKTsgcmV0dXJuIGZhbHNlOwogICAgICAgIH0pOwogICAgICB9CiAgICAgIGVs
c2UgewogICAgICAgICQocHJldkxpbmspLmhpZGUoKTsKICAgICAgfQoKICAgICAg
Ly8gSWYgbm90IGxhc3QgaW1hZ2UgaW4gc2V0LCBkaXNwbGF5IG5leHQgaW1hZ2Ug
YnV0dG9uLgogICAgICBpZiAoKExpZ2h0Ym94LnRvdGFsID4gMSAmJiBMaWdodGJv
eC5sb29wU2xpZGVzKSB8fCBMaWdodGJveC5hY3RpdmVJbWFnZSAhPSAoTGlnaHRi
b3gudG90YWwgLSAxKSkgewogICAgICAgICQobmV4dExpbmspLmNzcyh7J3pJbmRl
eCc6ICcxMDUwMCd9KS5zaG93KCkuY2xpY2soZnVuY3Rpb24oKSB7CiAgICAgICAg
ICBpZiAoTGlnaHRib3gucGF1c2VPbk5leHRDbGljaykgewogICAgICAgICAgICBM
aWdodGJveC50b2dnbGVQbGF5UGF1c2UoImxpZ2h0c2hvd1BhdXNlIiwgImxpZ2h0
c2hvd1BsYXkiKTsKICAgICAgICAgIH0KICAgICAgICAgIExpZ2h0Ym94LmNoYW5n
ZURhdGEoTGlnaHRib3guYWN0aXZlSW1hZ2UgKyAxKTsgcmV0dXJuIGZhbHNlOwog
ICAgICAgIH0pOwogICAgICB9CiAgICAgIC8vIFNhZmFyaSBicm93c2VycyBuZWVk
IHRvIGhhdmUgaGlkZSgpIGNhbGxlZCBhZ2Fpbi4KICAgICAgZWxzZSB7CiAgICAg
ICAgJChuZXh0TGluaykuaGlkZSgpOwogICAgICB9CiAgICB9CgogICAgLy8gQWxs
IG90aGVyIHR5cGVzIG9mIGNvbnRlbnQuCiAgICBlbHNlIHsKCiAgICAgIGlmICgo
TGlnaHRib3guaXNMaWdodGZyYW1lIHx8IExpZ2h0Ym94LmlzTW9kYWwgfHwgTGln
aHRib3guaXNWaWRlbykgJiYgIUxpZ2h0Ym94LmFsdGVybmF0aXZlX2xheW91dCkg
ewogICAgICAgICQoJyNmcmFtZUhvdmVyTmF2JykuY3NzKHsnekluZGV4JzogJzEw
NTAwJ30pLnNob3coKTsKICAgICAgICAkKCcjaG92ZXJOYXYnKS5jc3Moeyd6SW5k
ZXgnOiAnMTA1MDAnfSkuaGlkZSgpOwogICAgICAgIHByZXZMaW5rID0gJyNmcmFt
ZVByZXZMaW5rJzsKICAgICAgICBuZXh0TGluayA9ICcjZnJhbWVOZXh0TGluayc7
CiAgICAgIH0KCiAgICAgIC8vIElmIG5vdCBmaXJzdCBpbWFnZSBpbiBzZXQsIGRp
c3BsYXkgcHJldiBpbWFnZSBidXR0b24uCiAgICAgIGlmICgoTGlnaHRib3gudG90
YWwgPiAxICYmIExpZ2h0Ym94Lmxvb3BJdGVtcykgfHwgTGlnaHRib3guYWN0aXZl
SW1hZ2UgIT09IDApIHsKICAgICAgICAkKHByZXZMaW5rKS5jc3Moeyd6SW5kZXgn
OiAnMTA1MDAnfSkuc2hvdygpLmNsaWNrKGZ1bmN0aW9uKCkgewogICAgICAgICAg
TGlnaHRib3guY2hhbmdlRGF0YShMaWdodGJveC5hY3RpdmVJbWFnZSAtIDEpOyBy
ZXR1cm4gZmFsc2U7CiAgICAgICAgfSk7CiAgICAgIH0KICAgICAgLy8gU2FmYXJp
IGJyb3dzZXJzIG5lZWQgdG8gaGF2ZSBoaWRlKCkgY2FsbGVkIGFnYWluLgogICAg
ICBlbHNlIHsKICAgICAgICAkKHByZXZMaW5rKS5oaWRlKCk7CiAgICAgIH0KCiAg
ICAgIC8vIElmIG5vdCBsYXN0IGltYWdlIGluIHNldCwgZGlzcGxheSBuZXh0IGlt
YWdlIGJ1dHRvbi4KICAgICAgaWYgKChMaWdodGJveC50b3RhbCA+IDEgJiYgTGln
aHRib3gubG9vcEl0ZW1zKSB8fCBMaWdodGJveC5hY3RpdmVJbWFnZSAhPSAoTGln
aHRib3gudG90YWwgLSAxKSkgewogICAgICAgICQobmV4dExpbmspLmNzcyh7J3pJ
bmRleCc6ICcxMDUwMCd9KS5zaG93KCkuY2xpY2soZnVuY3Rpb24oKSB7CiAgICAg
ICAgICBMaWdodGJveC5jaGFuZ2VEYXRhKExpZ2h0Ym94LmFjdGl2ZUltYWdlICsg
MSk7IHJldHVybiBmYWxzZTsKICAgICAgICB9KTsKICAgICAgfQogICAgICAvLyBT
YWZhcmkgYnJvd3NlcnMgbmVlZCB0byBoYXZlIGhpZGUoKSBjYWxsZWQgYWdhaW4u
CiAgICAgIGVsc2UgewogICAgICAgICQobmV4dExpbmspLmhpZGUoKTsKICAgICAg
fQogICAgfQoKICAgIC8vIERvbid0IGVuYWJsZSBrZXlib2FyZCBzaG9ydGN1dHMg
c28gZm9ybXMgd2lsbCB3b3JrLgogICAgaWYgKCFMaWdodGJveC5pc01vZGFsKSB7
CiAgICAgIHRoaXMuZW5hYmxlS2V5Ym9hcmROYXYoKTsKICAgIH0KICB9LAoKCiAg
Ly8gZW5hYmxlS2V5Ym9hcmROYXYoKQogIGVuYWJsZUtleWJvYXJkTmF2OiBmdW5j
dGlvbigpIHsKICAgICQoZG9jdW1lbnQpLmJpbmQoImtleWRvd24iLCB0aGlzLmtl
eWJvYXJkQWN0aW9uKTsKICB9LAoKICAvLyBkaXNhYmxlS2V5Ym9hcmROYXYoKQog
IGRpc2FibGVLZXlib2FyZE5hdjogZnVuY3Rpb24oKSB7CiAgICAkKGRvY3VtZW50
KS51bmJpbmQoImtleWRvd24iLCB0aGlzLmtleWJvYXJkQWN0aW9uKTsKICB9LAoK
ICAvLyBrZXlib2FyZEFjdGlvbigpCiAga2V5Ym9hcmRBY3Rpb246IGZ1bmN0aW9u
KGUpIHsKICAgIGlmIChlID09PSBudWxsKSB7IC8vIElFLgogICAgICBrZXljb2Rl
ID0gZXZlbnQua2V5Q29kZTsKICAgICAgZXNjYXBlS2V5ID0gMjc7CiAgICB9CiAg
ICBlbHNlIHsgLy8gTW96aWxsYS4KICAgICAga2V5Y29kZSA9IGUua2V5Q29kZTsK
ICAgICAgZXNjYXBlS2V5ID0gZS5ET01fVktfRVNDQVBFOwogICAgfQoKICAgIGtl
eSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoa2V5Y29kZSkudG9Mb3dlckNhc2UoKTsK
CiAgICAvLyBDbG9zZSBsaWdodGJveC4KICAgIGlmIChMaWdodGJveC5jaGVja0tl
eShMaWdodGJveC5rZXlzQ2xvc2UsIGtleSwga2V5Y29kZSkpIHsKICAgICAgTGln
aHRib3guZW5kKCdmb3JjZUNsb3NlJyk7CiAgICB9CiAgICAvLyBEaXNwbGF5IHBy
ZXZpb3VzIGltYWdlIChwLCA8LSkuCiAgICBlbHNlIGlmIChMaWdodGJveC5jaGVj
a0tleShMaWdodGJveC5rZXlzUHJldmlvdXMsIGtleSwga2V5Y29kZSkpIHsKICAg
ICAgaWYgKChMaWdodGJveC50b3RhbCA+IDEgJiYgKChMaWdodGJveC5pc1NsaWRl
c2hvdyAmJiBMaWdodGJveC5sb29wU2xpZGVzKSB8fCAoIUxpZ2h0Ym94LmlzU2xp
ZGVzaG93ICYmIExpZ2h0Ym94Lmxvb3BJdGVtcykpKSB8fCBMaWdodGJveC5hY3Rp
dmVJbWFnZSAhPT0gMCkgewogICAgICAgIExpZ2h0Ym94LmNoYW5nZURhdGEoTGln
aHRib3guYWN0aXZlSW1hZ2UgLSAxKTsKICAgICAgfQoKICAgIH0KICAgIC8vIERp
c3BsYXkgbmV4dCBpbWFnZSAobiwgLT4pLgogICAgZWxzZSBpZiAoTGlnaHRib3gu
Y2hlY2tLZXkoTGlnaHRib3gua2V5c05leHQsIGtleSwga2V5Y29kZSkpIHsKICAg
ICAgaWYgKChMaWdodGJveC50b3RhbCA+IDEgJiYgKChMaWdodGJveC5pc1NsaWRl
c2hvdyAmJiBMaWdodGJveC5sb29wU2xpZGVzKSB8fCAoIUxpZ2h0Ym94LmlzU2xp
ZGVzaG93ICYmIExpZ2h0Ym94Lmxvb3BJdGVtcykpKSB8fCBMaWdodGJveC5hY3Rp
dmVJbWFnZSAhPSAoTGlnaHRib3gudG90YWwgLSAxKSkgewogICAgICAgIExpZ2h0
Ym94LmNoYW5nZURhdGEoTGlnaHRib3guYWN0aXZlSW1hZ2UgKyAxKTsKICAgICAg
fQogICAgfQogICAgLy8gWm9vbSBpbi4KICAgIGVsc2UgaWYgKExpZ2h0Ym94LmNo
ZWNrS2V5KExpZ2h0Ym94LmtleXNab29tLCBrZXksIGtleWNvZGUpICYmICFMaWdo
dGJveC5kaXNhYmxlUmVzaXplICYmICFMaWdodGJveC5kaXNhYmxlWm9vbSAmJiAh
TGlnaHRib3guaXNTbGlkZXNob3cgJiYgIUxpZ2h0Ym94LmlzTGlnaHRmcmFtZSkg
ewogICAgICBpZiAoTGlnaHRib3guaXNab29tZWRJbikgewogICAgICAgIExpZ2h0
Ym94LmNoYW5nZURhdGEoTGlnaHRib3guYWN0aXZlSW1hZ2UsIGZhbHNlKTsKICAg
ICAgfQogICAgICBlbHNlIGlmICghTGlnaHRib3guaXNab29tZWRJbikgewogICAg
ICAgIExpZ2h0Ym94LmNoYW5nZURhdGEoTGlnaHRib3guYWN0aXZlSW1hZ2UsIHRy
dWUpOwogICAgICB9CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIC8vIFRv
Z2dsZSBwbGF5IC8gcGF1c2UgKHNwYWNlKS4KICAgIGVsc2UgaWYgKExpZ2h0Ym94
LmNoZWNrS2V5KExpZ2h0Ym94LmtleXNQbGF5UGF1c2UsIGtleSwga2V5Y29kZSkg
JiYgTGlnaHRib3guaXNTbGlkZXNob3cpIHsKCiAgICAgIGlmIChMaWdodGJveC5p
c1BhdXNlZCkgewogICAgICAgIExpZ2h0Ym94LnRvZ2dsZVBsYXlQYXVzZSgibGln
aHRzaG93UGxheSIsICJsaWdodHNob3dQYXVzZSIpOwogICAgICB9CiAgICAgIGVs
c2UgewogICAgICAgIExpZ2h0Ym94LnRvZ2dsZVBsYXlQYXVzZSgibGlnaHRzaG93
UGF1c2UiLCAibGlnaHRzaG93UGxheSIpOwogICAgICB9CiAgICAgIHJldHVybiBm
YWxzZTsKICAgIH0KICB9LAoKICBwcmVsb2FkTmVpZ2hib3JJbWFnZXM6IGZ1bmN0
aW9uKCkgewoKICAgIGlmICgoTGlnaHRib3gudG90YWwgLSAxKSA+IExpZ2h0Ym94
LmFjdGl2ZUltYWdlKSB7CiAgICAgIHByZWxvYWROZXh0SW1hZ2UgPSBuZXcgSW1h
Z2UoKTsKICAgICAgcHJlbG9hZE5leHRJbWFnZS5zcmMgPSBMaWdodGJveC5pbWFn
ZUFycmF5W0xpZ2h0Ym94LmFjdGl2ZUltYWdlICsgMV1bMF07CiAgICB9CiAgICBp
ZiAoTGlnaHRib3guYWN0aXZlSW1hZ2UgPiAwKSB7CiAgICAgIHByZWxvYWRQcmV2
SW1hZ2UgPSBuZXcgSW1hZ2UoKTsKICAgICAgcHJlbG9hZFByZXZJbWFnZS5zcmMg
PSBMaWdodGJveC5pbWFnZUFycmF5W0xpZ2h0Ym94LmFjdGl2ZUltYWdlIC0gMV1b
MF07CiAgICB9CgogIH0sCgogIGVuZDogZnVuY3Rpb24oY2FsbGVyKSB7CiAgICB2
YXIgY2xvc2VDbGljayA9IChjYWxsZXIgPT0gJ3NsaWRlc2hvdycgPyBmYWxzZSA6
IHRydWUpOwogICAgaWYgKExpZ2h0Ym94LmlzU2xpZGVzaG93ICYmIExpZ2h0Ym94
LmlzUGF1c2VkICYmICFjbG9zZUNsaWNrKSB7CiAgICAgIHJldHVybjsKICAgIH0K
ICAgIC8vIFRvIHByZXZlbnQgZG91YmxlIGNsaWNrcyBvbiBuYXZpZ2F0aW9uIGxp
bmtzLgogICAgaWYgKExpZ2h0Ym94LmlucHJvZ3Jlc3MgPT09IHRydWUgJiYgY2Fs
bGVyICE9ICdmb3JjZUNsb3NlJykgewogICAgICByZXR1cm47CiAgICB9CiAgICBM
aWdodGJveC5kaXNhYmxlS2V5Ym9hcmROYXYoKTsKICAgICQoJyNsaWdodGJveCcp
LmhpZGUoKTsKICAgICQoIiNvdmVybGF5IikuZmFkZU91dCgpOwogICAgTGlnaHRi
b3guaXNQYXVzZWQgPSB0cnVlOwogICAgTGlnaHRib3guaW5wcm9ncmVzcyA9IGZh
bHNlOwogICAgLy8gUmVwbGFjZXMgY2FsbHMgdG8gc2hvd1NlbGVjdEJveGVzKCkg
YW5kIHNob3dGbGFzaCgpIGluIG9yaWdpbmFsCiAgICAvLyBsaWdodGJveDIuCiAg
ICBMaWdodGJveC50b2dnbGVTZWxlY3RzRmxhc2goJ3Zpc2libGUnKTsKICAgIGlm
IChMaWdodGJveC5pc1NsaWRlc2hvdykgewogICAgICBmb3IgKHZhciBpID0gMDsg
aSA8IExpZ2h0Ym94LnNsaWRlSWRDb3VudDsgaSsrKSB7CiAgICAgICAgd2luZG93
LmNsZWFyVGltZW91dChMaWdodGJveC5zbGlkZUlkQXJyYXlbaV0pOwogICAgICB9
CiAgICAgICQoJyNsaWdodHNob3dQYXVzZSwgI2xpZ2h0c2hvd1BsYXknKS5oaWRl
KCk7CiAgICB9CiAgICBlbHNlIGlmIChMaWdodGJveC5pc0xpZ2h0ZnJhbWUpIHsK
ICAgICAgJCgnI2ZyYW1lQ29udGFpbmVyJykuZW1wdHkoKS5oaWRlKCk7CiAgICB9
CiAgICBlbHNlIGlmIChMaWdodGJveC5pc1ZpZGVvIHx8IExpZ2h0Ym94LmlzTW9k
YWwpIHsKICAgICAgJCgnI21vZGFsQ29udGFpbmVyJykuaGlkZSgpLmh0bWwoIiIp
OwogICAgfQogIH0sCgoKICAvLyBnZXRQYWdlU2Nyb2xsKCkKICAvLyBSZXR1cm5z
IGFycmF5IHdpdGggeCx5IHBhZ2Ugc2Nyb2xsIHZhbHVlcy4KICAvLyBDb3JlIGNv
ZGUgZnJvbSAtIHF1aXJrc21vZGUuY29tLgogIGdldFBhZ2VTY3JvbGwgOiBmdW5j
dGlvbigpIHsKCiAgICB2YXIgeFNjcm9sbCwgeVNjcm9sbDsKCiAgICBpZiAoc2Vs
Zi5wYWdlWU9mZnNldCkgewogICAgICB5U2Nyb2xsID0gc2VsZi5wYWdlWU9mZnNl
dDsKICAgICAgeFNjcm9sbCA9IHNlbGYucGFnZVhPZmZzZXQ7CiAgICB9CiAgICBl
bHNlIGlmIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgZG9jdW1lbnQuZG9j
dW1lbnRFbGVtZW50LnNjcm9sbFRvcCkgeyAgLy8gRXhwbG9yZXIgNiBTdHJpY3Qu
CiAgICAgIHlTY3JvbGwgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xs
VG9wOwogICAgICB4U2Nyb2xsID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNj
cm9sbExlZnQ7CiAgICB9CiAgICBlbHNlIGlmIChkb2N1bWVudC5ib2R5KSB7Ly8g
QWxsIG90aGVyIEV4cGxvcmVycy4KICAgICAgeVNjcm9sbCA9IGRvY3VtZW50LmJv
ZHkuc2Nyb2xsVG9wOwogICAgICB4U2Nyb2xsID0gZG9jdW1lbnQuYm9keS5zY3Jv
bGxMZWZ0OwogICAgfQoKICAgIGFycmF5UGFnZVNjcm9sbCA9IFt4U2Nyb2xsLHlT
Y3JvbGxdOwogICAgcmV0dXJuIGFycmF5UGFnZVNjcm9sbDsKICB9LAoKICAvLyBn
ZXRQYWdlU2l6ZSgpCiAgLy8gUmV0dXJucyBhcnJheSB3aXRoIHBhZ2Ugd2lkdGgs
IGhlaWdodCBhbmQgd2luZG93IHdpZHRoLCBoZWlnaHQuCiAgLy8gQ29yZSBjb2Rl
IGZyb20gLSBxdWlya3Ntb2RlLmNvbS4KICAvLyBFZGl0IGZvciBGaXJlZm94IGJ5
IHBIYWV6LgogIGdldFBhZ2VTaXplIDogZnVuY3Rpb24oKSB7CgogICAgdmFyIHhT
Y3JvbGwsIHlTY3JvbGw7CgogICAgaWYgKGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVp
Z2h0ID4gZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQpIHsgLy8gYWxsIGJ1dCBF
eHBsb3JlciBNYWMKICAgICAgeFNjcm9sbCA9IGRvY3VtZW50LmJvZHkuc2Nyb2xs
V2lkdGg7CiAgICAgIHlTY3JvbGwgPSBkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdo
dDsKICAgIH0KICAgIGVsc2UgaWYgKHdpbmRvdy5pbm5lckhlaWdodCAmJiB3aW5k
b3cuc2Nyb2xsTWF4WSkgewogICAgICB4U2Nyb2xsID0gd2luZG93LmlubmVyV2lk
dGggKyB3aW5kb3cuc2Nyb2xsTWF4WDsKICAgICAgeVNjcm9sbCA9IHdpbmRvdy5p
bm5lckhlaWdodCArIHdpbmRvdy5zY3JvbGxNYXhZOwogICAgfQogICAgLy8gRXhw
bG9yZXIgTWFjLi4ud291bGQgYWxzbyB3b3JrIGluIEV4cGxvcmVyIDYgU3RyaWN0
LCBNb3ppbGxhIGFuZCBTYWZhcmkuCiAgICBlbHNlIHsKICAgICAgeFNjcm9sbCA9
IGRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGg7CiAgICAgIHlTY3JvbGwgPSBkb2N1
bWVudC5ib2R5Lm9mZnNldEhlaWdodDsKICAgIH0KCiAgICB2YXIgd2luZG93V2lk
dGgsIHdpbmRvd0hlaWdodDsKCiAgICBpZiAoc2VsZi5pbm5lckhlaWdodCkgeyAv
LyBBbGwgZXhjZXB0IEV4cGxvcmVyLgogICAgICBpZiAoZG9jdW1lbnQuZG9jdW1l
bnRFbGVtZW50LmNsaWVudFdpZHRoKSB7CiAgICAgICAgd2luZG93V2lkdGggPSBk
b2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7CiAgICAgIH0KICAg
ICAgZWxzZSB7CiAgICAgICAgd2luZG93V2lkdGggPSBzZWxmLmlubmVyV2lkdGg7
CiAgICAgIH0KICAgICAgd2luZG93SGVpZ2h0ID0gc2VsZi5pbm5lckhlaWdodDsK
ICAgIH0KICAgIC8vIEV4cGxvcmVyIDYgU3RyaWN0IE1vZGUuCiAgICBlbHNlIGlm
IChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LmNsaWVudEhlaWdodCkgewogICAgICB3aW5kb3dXaWR0aCA9IGRvY3Vt
ZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDsKICAgICAgd2luZG93SGVp
Z2h0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDsKICAg
IH0KICAgIGVsc2UgaWYgKGRvY3VtZW50LmJvZHkpIHsgLy8gT3RoZXIgRXhwbG9y
ZXJzLgogICAgICB3aW5kb3dXaWR0aCA9IGRvY3VtZW50LmJvZHkuY2xpZW50V2lk
dGg7CiAgICAgIHdpbmRvd0hlaWdodCA9IGRvY3VtZW50LmJvZHkuY2xpZW50SGVp
Z2h0OwogICAgfQoKCiAgICAvLyBGb3Igc21hbGwgcGFnZXMgd2l0aCB0b3RhbCBo
ZWlnaHQgbGVzcyB0aGVuIGhlaWdodCBvZiB0aGUgdmlld3BvcnQuCiAgICBpZiAo
eVNjcm9sbCA8IHdpbmRvd0hlaWdodCkgewogICAgICBwYWdlSGVpZ2h0ID0gd2lu
ZG93SGVpZ2h0OwogICAgfQogICAgZWxzZSB7CiAgICAgIHBhZ2VIZWlnaHQgPSB5
U2Nyb2xsOwogICAgfQoKCiAgICAvLyBGb3Igc21hbGwgcGFnZXMgd2l0aCB0b3Rh
bCB3aWR0aCBsZXNzIHRoZW4gd2lkdGggb2YgdGhlIHZpZXdwb3J0LgogICAgaWYg
KHhTY3JvbGwgPCB3aW5kb3dXaWR0aCkgewogICAgICBwYWdlV2lkdGggPSB3aW5k
b3dXaWR0aDsKICAgIH0KICAgIGVsc2UgewogICAgICBwYWdlV2lkdGggPSB4U2Ny
b2xsOwogICAgfQoKICAgIGFycmF5UGFnZVNpemUgPSBbcGFnZVdpZHRoLCBwYWdl
SGVpZ2h0LCB3aW5kb3dXaWR0aCwgd2luZG93SGVpZ2h0XTsKICAgIHJldHVybiBh
cnJheVBhZ2VTaXplOwogIH0sCgoKICAvLyBwYXVzZShudW1iZXJNaWxsaXMpCiAg
cGF1c2UgOiBmdW5jdGlvbihtcykgewogICAgdmFyIGRhdGUgPSBuZXcgRGF0ZSgp
OwogICAgdmFyIGN1ckRhdGUgPSBudWxsOwogICAgZG8geyBjdXJEYXRlID0gbmV3
IERhdGUoKTsgfQogICAgd2hpbGUgKGN1ckRhdGUgLSBkYXRlIDwgbXMpOwogIH0s
CgoKICAvLyB0b2dnbGVTZWxlY3RzRmxhc2goKQogIC8vIEhpZGUgLyB1bmhpZGUg
c2VsZWN0IGxpc3RzIGFuZCBmbGFzaCBvYmplY3RzIGFzIHRoZXkgYXBwZWFyIGFi
b3ZlIHRoZQogIC8vIGxpZ2h0Ym94IGluIHNvbWUgYnJvd3NlcnMuCiAgdG9nZ2xl
U2VsZWN0c0ZsYXNoOiBmdW5jdGlvbiAoc3RhdGUpIHsKICAgIGlmIChzdGF0ZSA9
PSAndmlzaWJsZScpIHsKICAgICAgJCgic2VsZWN0LmxpZ2h0Ym94X2hpZGRlbiwg
ZW1iZWQubGlnaHRib3hfaGlkZGVuLCBvYmplY3QubGlnaHRib3hfaGlkZGVuIiku
c2hvdygpOwogICAgfQogICAgZWxzZSBpZiAoc3RhdGUgPT0gJ2hpZGUnKSB7CiAg
ICAgICQoInNlbGVjdDp2aXNpYmxlLCBlbWJlZDp2aXNpYmxlLCBvYmplY3Q6dmlz
aWJsZSIpLmFkZENsYXNzKCJsaWdodGJveF9oaWRkZW4iKTsKICAgICAgJCgic2Vs
ZWN0LmxpZ2h0Ym94X2hpZGRlbiwgZW1iZWQubGlnaHRib3hfaGlkZGVuLCBvYmpl
Y3QubGlnaHRib3hfaGlkZGVuIikuaGlkZSgpOwogICAgfQogIH0sCgoKICAvLyBw
YXJzZVJlbCgpCiAgcGFyc2VSZWw6IGZ1bmN0aW9uIChsaW5rKSB7CiAgICB2YXIg
cGFydHMgPSBbXTsKICAgIHBhcnRzWyJyZWwiXSA9IHBhcnRzWyJ0aXRsZSJdID0g
cGFydHNbImdyb3VwIl0gPSBwYXJ0c1sic3R5bGUiXSA9IG51bGw7CiAgICBpZiAo
ISQobGluaykuYXR0cigncmVsJykpIHJldHVybiBwYXJ0czsKICAgIHBhcnRzWyJy
ZWwiXSA9ICQobGluaykuYXR0cigncmVsJykubWF0Y2goL1x3Ky8pWzBdOwoKICAg
IGlmICgkKGxpbmspLmF0dHIoJ3JlbCcpLm1hdGNoKC9cWyguKilcXS8pKSB7CiAg
ICAgIHZhciBpbmZvID0gJChsaW5rKS5hdHRyKCdyZWwnKS5tYXRjaCgvXFsoLio/
KVxdLylbMV0uc3BsaXQoJ3wnKTsKICAgICAgcGFydHNbImdyb3VwIl0gPSBpbmZv
WzBdOwogICAgICBwYXJ0c1sic3R5bGUiXSA9IGluZm9bMV07CiAgICB9CiAgICBp
ZiAoJChsaW5rKS5hdHRyKCdyZWwnKS5tYXRjaCgvXFsuKlxdXFsoLiopXF0vKSkg
ewogICAgICBwYXJ0c1sidGl0bGUiXSA9ICQobGluaykuYXR0cigncmVsJykubWF0
Y2goL1xbLipcXVxbKC4qKVxdLylbMV07CiAgICB9CiAgICByZXR1cm4gcGFydHM7
CiAgfSwKCiAgLy8gc2V0U3R5bGVzKCkKICBzZXRTdHlsZXM6IGZ1bmN0aW9uKGl0
ZW0sIHN0eWxlcykgewogICAgaXRlbS53aWR0aCA9IExpZ2h0Ym94LmlmcmFtZV93
aWR0aDsKICAgIGl0ZW0uaGVpZ2h0ID0gTGlnaHRib3guaWZyYW1lX2hlaWdodDsK
ICAgIGl0ZW0uc2Nyb2xsaW5nID0gImF1dG8iOwoKICAgIGlmICghc3R5bGVzKSBy
ZXR1cm4gaXRlbTsKICAgIHZhciBzdHlsZXNBcnJheSA9IHN0eWxlcy5zcGxpdCgn
OycpOwogICAgZm9yICh2YXIgaSA9IDA7IGk8IHN0eWxlc0FycmF5Lmxlbmd0aDsg
aSsrKSB7CiAgICAgIGlmIChzdHlsZXNBcnJheVtpXS5pbmRleE9mKCd3aWR0aDon
KSA+PSAwKSB7CiAgICAgICAgdmFyIHcgPSBzdHlsZXNBcnJheVtpXS5yZXBsYWNl
KCd3aWR0aDonLCAnJyk7CiAgICAgICAgaXRlbS53aWR0aCA9IGpRdWVyeS50cmlt
KHcpOwogICAgICB9CiAgICAgIGVsc2UgaWYgKHN0eWxlc0FycmF5W2ldLmluZGV4
T2YoJ2hlaWdodDonKSA+PSAwKSB7CiAgICAgICAgdmFyIGggPSBzdHlsZXNBcnJh
eVtpXS5yZXBsYWNlKCdoZWlnaHQ6JywgJycpOwogICAgICAgIGl0ZW0uaGVpZ2h0
ID0galF1ZXJ5LnRyaW0oaCk7CiAgICAgIH0KICAgICAgZWxzZSBpZiAoc3R5bGVz
QXJyYXlbaV0uaW5kZXhPZignc2Nyb2xsaW5nOicpID49IDApIHsKICAgICAgICB2
YXIgc2Nyb2xsaW5nID0gc3R5bGVzQXJyYXlbaV0ucmVwbGFjZSgnc2Nyb2xsaW5n
OicsICcnKTsKICAgICAgICBpdGVtLnNjcm9sbGluZyA9IGpRdWVyeS50cmltKHNj
cm9sbGluZyk7CiAgICAgIH0KICAgICAgZWxzZSBpZiAoc3R5bGVzQXJyYXlbaV0u
aW5kZXhPZignb3ZlcmZsb3c6JykgPj0gMCkgewogICAgICAgIHZhciBvdmVyZmxv
dyA9IHN0eWxlc0FycmF5W2ldLnJlcGxhY2UoJ292ZXJmbG93OicsICcnKTsKICAg
ICAgICBpdGVtLm92ZXJmbG93ID0galF1ZXJ5LnRyaW0ob3ZlcmZsb3cpOwogICAg
ICB9CiAgICB9CiAgICByZXR1cm4gaXRlbTsKICB9LAoKCiAgLy8gdG9nZ2xlUGxh
eVBhdXNlKCkKICAvLyBIaWRlIHRoZSBwYXVzZSAvIHBsYXkgYnV0dG9uIGFzIGFw
cHJvcHJpYXRlLiAgSWYgcGF1c2luZyB0aGUgc2xpZGVzaG93IGFsc28KICAvLyBj
bGVhciB0aGUgdGltZXJzLCBvdGhlcndpc2UgbW92ZSBvbnRvIHRoZSBuZXh0IGlt
YWdlLgogIHRvZ2dsZVBsYXlQYXVzZTogZnVuY3Rpb24oaGlkZUlkLCBzaG93SWQp
IHsKICAgIGlmIChMaWdodGJveC5pc1NsaWRlc2hvdyAmJiBoaWRlSWQgPT0gImxp
Z2h0c2hvd1BhdXNlIikgewogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IExpZ2h0
Ym94LnNsaWRlSWRDb3VudDsgaSsrKSB7CiAgICAgICAgd2luZG93LmNsZWFyVGlt
ZW91dChMaWdodGJveC5zbGlkZUlkQXJyYXlbaV0pOwogICAgICB9CiAgICB9CiAg
ICAkKCcjJyArIGhpZGVJZCkuaGlkZSgpOwogICAgJCgnIycgKyBzaG93SWQpLnNo
b3coKTsKCiAgICBpZiAoaGlkZUlkID09ICJsaWdodHNob3dQbGF5IikgewogICAg
ICBMaWdodGJveC5pc1BhdXNlZCA9IGZhbHNlOwogICAgICBpZiAoIUxpZ2h0Ym94
Lmxvb3BTbGlkZXMgJiYgTGlnaHRib3guYWN0aXZlSW1hZ2UgPT0gKExpZ2h0Ym94
LnRvdGFsIC0gMSkpIHsKICAgICAgICBMaWdodGJveC5lbmQoKTsKICAgICAgfQog
ICAgICBlbHNlIGlmIChMaWdodGJveC50b3RhbCA+IDEpIHsKICAgICAgICBMaWdo
dGJveC5jaGFuZ2VEYXRhKExpZ2h0Ym94LmFjdGl2ZUltYWdlICsgMSk7CiAgICAg
IH0KICAgIH0KICAgIGVsc2UgewogICAgICBMaWdodGJveC5pc1BhdXNlZCA9IHRy
dWU7CiAgICB9CiAgfSwKCiAgdHJpZ2dlckxpZ2h0Ym94OiBmdW5jdGlvbiAocmVs
X3R5cGUsIHJlbF9ncm91cCkgewogICAgaWYgKHJlbF90eXBlLmxlbmd0aCkgewog
ICAgICBpZiAocmVsX2dyb3VwICYmIHJlbF9ncm91cC5sZW5ndGgpIHsKICAgICAg
ICAkKCJhW0ByZWxePSciICsgcmVsX3R5cGUgKyJcWyIgKyByZWxfZ3JvdXAgKyAi
XF0nXSwgYXJlYVtAcmVsXj0nIiArIHJlbF90eXBlICsiXFsiICsgcmVsX2dyb3Vw
ICsgIlxdJ10iKS5lcSgwKS50cmlnZ2VyKCJjbGljayIpOwogICAgICB9CiAgICAg
IGVsc2UgewogICAgICAgICQoImFbQHJlbF49JyIgKyByZWxfdHlwZSArIiddLCBh
cmVhW0ByZWxePSciICsgcmVsX3R5cGUgKyInXSIpLmVxKDApLnRyaWdnZXIoImNs
aWNrIik7CiAgICAgIH0KICAgIH0KICB9LAoKICBkZXRlY3RNYWNGRjI6IGZ1bmN0
aW9uKCkgewogICAgdmFyIHVhID0gbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2Vy
Q2FzZSgpOwogICAgaWYgKC9maXJlZm94W1wvXHNdKFxkK1wuXGQrKS8udGVzdCh1
YSkpIHsKICAgICAgdmFyIGZmdmVyc2lvbiA9IG5ldyBOdW1iZXIoUmVnRXhwLiQx
KTsKICAgICAgaWYgKGZmdmVyc2lvbiA8IDMgJiYgdWEuaW5kZXhPZignbWFjJykg
IT0gLTEpIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgfQogICAg
cmV0dXJuIGZhbHNlOwogIH0sCgogIGNoZWNrS2V5OiBmdW5jdGlvbihrZXlzLCBr
ZXksIGNvZGUpIHsKICAgIHJldHVybiAoalF1ZXJ5LmluQXJyYXkoa2V5LCBrZXlz
KSAhPSAtMSB8fCBqUXVlcnkuaW5BcnJheShTdHJpbmcoY29kZSksIGtleXMpICE9
IC0xKTsKICB9CgoKfTsKCi8vIEluaXRpYWxpemUgdGhlIGxpZ2h0Ym94LgpEcnVw
YWwuYmVoYXZpb3JzLmluaXRMaWdodGJveCA9IGZ1bmN0aW9uIChjb250ZXh0KSB7
CiAgJCgnYm9keTpub3QoLmxpZ2h0Ym94LXByb2Nlc3NlZCknLCBjb250ZXh0KS5h
ZGRDbGFzcygnbGlnaHRib3gtcHJvY2Vzc2VkJykuZWFjaChmdW5jdGlvbigpIHsK
ICAgIExpZ2h0Ym94LmluaXRpYWxpemUoKTsKICAgICQoJyNsaWdodGJveEF1dG9N
b2RhbCcpLnRyaWdnZXJIYW5kbGVyKCdjbGljaycpOwogICAgcmV0dXJuIGZhbHNl
OyAvLyBCcmVhayB0aGUgZWFjaCBsb29wLgogIH0pOwoKICAvLyBBdHRhY2ggbGln
aHRib3ggdG8gYW55IGxpbmtzIHdpdGggbGlnaHRib3ggcmVscy4KICBMaWdodGJv
eC5pbml0TGlzdCgpOwp9OwoK

------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=nice_menus.js
Content-Type: application/javascript; charset=utf-8; name=nice_menus.js
Content-Location: http://www.psychologytoday.com/sites/all/modules/contrib/nice_menus/nice_menus.js?D
Content-Transfer-Encoding: Base64

Ly8gJElkOiBuaWNlX21lbnVzLmpzLHYgMS4xMC4yLjYgMjAwOC8wOC8wNCAyMzo0
NTo1MSBhZGQxc3VuIEV4cCAkCgovLyBXZSBuZWVkIHRvIGRvIHNvbWUgYnJvd3Nl
ciBzbmlmZmluZyB0byB3ZWVkIG91dCBJRSA2IG9ubHkKLy8gYmVjYXVzZSBvbmx5
IElFNiBuZWVkcyB0aGlzIGhvdmVyIGhhY2suCmlmIChkb2N1bWVudC5hbGwgJiYg
IXdpbmRvdy5vcGVyYSAmJiAobmF2aWdhdG9yLmFwcFZlcnNpb24uc2VhcmNoKCJN
U0lFIDYuMCIpICE9IC0xKSAmJiAkLmJyb3dzZXIubXNpZSkgewogIGZ1bmN0aW9u
IElFSG92ZXJQc2V1ZG8oKSB7CiAgICAgICQoInVsLm5pY2UtbWVudSBsaS5tZW51
cGFyZW50IikuaG92ZXIoZnVuY3Rpb24oKXsKICAgICAgICAgICQodGhpcykuYWRk
Q2xhc3MoIm92ZXIiKS5maW5kKCI+IHVsIikuc2hvdygpLmFkZFNoaW0oKTsKICAg
ICAgICB9LGZ1bmN0aW9uKCl7CiAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNz
KCJvdmVyIikuZmluZCgiPiB1bCIpLnJlbW92ZVNoaW0oKS5oaWRlKCk7CiAgICAg
ICAgfQogICAgICApOwogICAgICAvLyBBZGQgYSBob3ZlciBjbGFzcyB0byBhbGwg
bGkgZm9yIENTUyBzdHlsaW5nLiBTaWxseSBuYW1pbmcgaXMgZG9uZQogICAgICAv
LyBzbyB3ZSBkb24ndCBicmVhayBDU1MgY29tcGF0aWJpbGl0eSBmb3IgLm92ZXIg
Y2xhc3MgYWxyZWFkeSBpbiB1c2UKICAgICAgLy8gYW5kIGR1ZSB0byB0aGUgZmFj
dCB0aGF0IElFNiBkb2Vzbid0IHVuZGVyc3RhbmQgbXVsdGlwbGUgc2VsZWN0b3Jz
LgogICAgICAkKCJ1bC5uaWNlLW1lbnUgbGkiKS5ob3ZlcihmdW5jdGlvbigpewog
ICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygiaWUtb3ZlciIpOwogICAgICAgIH0s
ZnVuY3Rpb24oKXsKICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoImllLW92
ZXIiKTsKICAgICAgICB9CiAgICAgICk7CiAgICB9CgogICAgLy8gVGhpcyBpcyB0
aGUganF1ZXJ5IG1ldGhvZCBvZiBhZGRpbmcgYSBmdW5jdGlvbgogICAgLy8gdG8g
dGhlIEJPRFkgb25sb2FkIGV2ZW50LiAgKFNlZSBqcXVlcnkuY29tKQogICAgJChk
b2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsgSUVIb3ZlclBzZXVkbygpIH0pOwp9
CgokLmZuLmFkZFNoaW0gPSBmdW5jdGlvbigpIHsKICByZXR1cm4gdGhpcy5lYWNo
KGZ1bmN0aW9uKCl7CgkgIGlmKGRvY3VtZW50LmFsbCAmJiAkKCJzZWxlY3QiKS5z
aXplKCkgPiAwKSB7CgkgICAgdmFyIGlmU2hpbSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2lmcmFtZScpOwoJICAgIGlmU2hpbS5zcmMgPSAiamF2YXNjcmlwdDpm
YWxzZSI7CgkJCWlmU2hpbS5zdHlsZS53aWR0aD0kKHRoaXMpLndpZHRoKCkrMSsi
cHgiOwogICAgICBpZlNoaW0uc3R5bGUuaGVpZ2h0PSQodGhpcykuZmluZCgiPiBs
aSIpLnNpemUoKSoyMysyMCsicHgiOwoJCQlpZlNoaW0uc3R5bGUuZmlsdGVyPSJw
cm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoc3R5bGU9MCxv
cGFjaXR5PTApIjsKCQkgIGlmU2hpbS5zdHlsZS56SW5kZXg9IjAiOwogICAgJCh0
aGlzKS5wcmVwZW5kKGlmU2hpbSk7CiAgICAgICQodGhpcykuY3NzKCJ6SW5kZXgi
LCI5OSIpOwoJCX0KCX0pOwp9OwoKJC5mbi5yZW1vdmVTaGltID0gZnVuY3Rpb24o
KSB7CiAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpewoJICBpZiAoZG9jdW1l
bnQuYWxsKSAkKCJpZnJhbWUiLCB0aGlzKS5yZW1vdmUoKTsKCX0pOwp9Owo=

------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=jquery.pngFix.js
Content-Type: application/javascript; charset=utf-8; name=jquery.pngFix.js
Content-Location: http://www.psychologytoday.com/sites/all/modules/contrib/pngfix/jquery.pngFix.js?D
Content-Transfer-Encoding: Base64

LyoqCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIGpRdWVyeS1QbHVnaW4gInBu
Z0ZpeCIKICogVmVyc2lvbjogMS4xLCAxMS4wOS4yMDA3CiAqIGJ5IEFuZHJlYXMg
RWJlcmhhcmQsIGFuZHJlYXMuZWJlcmhhcmRAZ21haWwuY29tCiAqICAgICAgICAg
ICAgICAgICAgICAgIGh0dHA6Ly9qcXVlcnkuYW5kcmVhc2ViZXJoYXJkLmRlLwog
KgogKiBDb3B5cmlnaHQgKGMpIDIwMDcgQW5kcmVhcyBFYmVyaGFyZAogKiBMaWNl
bnNlZCB1bmRlciBHUEwgKGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5z
ZXMvZ3BsLWxpY2Vuc2UucGhwKQogKgogKiBDaGFuZ2Vsb2c6CiAqICAgIDExLjA5
LjIwMDcgVmVyc2lvbiAxLjEKICogICAgLSByZW1vdmVkIG5vQ29uZmxpY3QKICog
ICAgLSBhZGRlZCBwbmctc3VwcG9ydCBmb3IgaW5wdXQgdHlwZT1pbWFnZQogKiAg
ICAtIDAxLjA4LjIwMDcgQ1NTIGJhY2tncm91bmQtaW1hZ2Ugc3VwcG9ydCBleHRl
bnNpb24gYWRkZWQgYnkgU2NvdHQgSmVobCwgc2NvdHRAZmlsYW1lbnRncm91cC5j
b20sIGh0dHA6Ly93d3cuZmlsYW1lbnRncm91cC5jb20KICogICAgMzEuMDUuMjAw
NyBpbml0aWFsIFZlcnNpb24gMS4wCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAq
IEBleGFtcGxlICQoZnVuY3Rpb24oKXskKGRvY3VtZW50KS5wbmdGaXgoKTt9KTsK
ICogQGRlc2MgRml4ZXMgYWxsIFBORydzIGluIHRoZSBkb2N1bWVudCBvbiBkb2N1
bWVudC5yZWFkeQogKgogKiBqUXVlcnkoZnVuY3Rpb24oKXtqUXVlcnkoZG9jdW1l
bnQpLnBuZ0ZpeCgpO30pOwogKiBAZGVzYyBGaXhlcyBhbGwgUE5HJ3MgaW4gdGhl
IGRvY3VtZW50IG9uIGRvY3VtZW50LnJlYWR5IHdoZW4gdXNpbmcgbm9Db25mbGlj
dAogKgogKiBAZXhhbXBsZSAkKGZ1bmN0aW9uKCl7JCgnZGl2LmV4YW1wbGVzJyku
cG5nRml4KCk7fSk7CiAqIEBkZXNjIEZpeGVzIGFsbCBQTkcncyB3aXRoaW4gZGl2
IHdpdGggY2xhc3MgZXhhbXBsZXMKICoKICogQGV4YW1wbGUgJChmdW5jdGlvbigp
eyQoJ2Rpdi5leGFtcGxlcycpLnBuZ0ZpeCggeyBibGFua2dpZjonZXh0LmdpZicg
fSApO30pOwogKiBAZGVzYyBGaXhlcyBhbGwgUE5HJ3Mgd2l0aGluIGRpdiB3aXRo
IGNsYXNzIGV4YW1wbGVzLCBwcm92aWRlcyBibGFuayBnaWYgZm9yIGlucHV0IHdp
dGggcG5nCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqLwoKKGZ1bmN0aW9uKCQp
IHsKCmpRdWVyeS5mbi5wbmdGaXggPSBmdW5jdGlvbihzZXR0aW5ncykgewoKCS8v
IFNldHRpbmdzCglzZXR0aW5ncyA9IGpRdWVyeS5leHRlbmQoewoJCWJsYW5rZ2lm
OiAnYmxhbmsuZ2lmJwoJfSwgc2V0dGluZ3MpOwoKCXZhciBpZTU1ID0gKG5hdmln
YXRvci5hcHBOYW1lID09ICJNaWNyb3NvZnQgSW50ZXJuZXQgRXhwbG9yZXIiICYm
IHBhcnNlSW50KG5hdmlnYXRvci5hcHBWZXJzaW9uKSA9PSA0ICYmIG5hdmlnYXRv
ci5hcHBWZXJzaW9uLmluZGV4T2YoIk1TSUUgNS41IikgIT0gLTEpOwoJdmFyIGll
NiA9IChuYXZpZ2F0b3IuYXBwTmFtZSA9PSAiTWljcm9zb2Z0IEludGVybmV0IEV4
cGxvcmVyIiAmJiBwYXJzZUludChuYXZpZ2F0b3IuYXBwVmVyc2lvbikgPT0gNCAm
JiBuYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCJNU0lFIDYuMCIpICE9IC0x
KTsKCglpZiAoalF1ZXJ5LmJyb3dzZXIubXNpZSAmJiAoaWU1NSB8fCBpZTYpKSB7
CgoJCS8vZml4IGltYWdlcyB3aXRoIHBuZy1zb3VyY2UKCQlqUXVlcnkodGhpcyku
ZmluZCgiaW1nW0BzcmMkPS5wbmddIikuZWFjaChmdW5jdGlvbigpIHsKCgkJCWpR
dWVyeSh0aGlzKS5hdHRyKCd3aWR0aCcsalF1ZXJ5KHRoaXMpLndpZHRoKCkpOwoJ
CQlqUXVlcnkodGhpcykuYXR0cignaGVpZ2h0JyxqUXVlcnkodGhpcykuaGVpZ2h0
KCkpOwoKCQkJdmFyIHByZXZTdHlsZSA9ICcnOwoJCQl2YXIgc3RyTmV3SFRNTCA9
ICcnOwoJCQl2YXIgaW1nSWQgPSAoalF1ZXJ5KHRoaXMpLmF0dHIoJ2lkJykpID8g
J2lkPSInICsgalF1ZXJ5KHRoaXMpLmF0dHIoJ2lkJykgKyAnIiAnIDogJyc7CgkJ
CXZhciBpbWdDbGFzcyA9IChqUXVlcnkodGhpcykuYXR0cignY2xhc3MnKSkgPyAn
Y2xhc3M9IicgKyBqUXVlcnkodGhpcykuYXR0cignY2xhc3MnKSArICciICcgOiAn
JzsKCQkJdmFyIGltZ1RpdGxlID0gKGpRdWVyeSh0aGlzKS5hdHRyKCd0aXRsZScp
KSA/ICd0aXRsZT0iJyArIGpRdWVyeSh0aGlzKS5hdHRyKCd0aXRsZScpICsgJyIg
JyA6ICcnOwoJCQl2YXIgaW1nQWx0ID0gKGpRdWVyeSh0aGlzKS5hdHRyKCdhbHQn
KSkgPyAnYWx0PSInICsgalF1ZXJ5KHRoaXMpLmF0dHIoJ2FsdCcpICsgJyIgJyA6
ICcnOwoJCQl2YXIgaW1nQWxpZ24gPSAoalF1ZXJ5KHRoaXMpLmF0dHIoJ2FsaWdu
JykpID8gJ2Zsb2F0OicgKyBqUXVlcnkodGhpcykuYXR0cignYWxpZ24nKSArICc7
JyA6ICcnOwoJCQl2YXIgaW1nSGFuZCA9IChqUXVlcnkodGhpcykucGFyZW50KCku
YXR0cignaHJlZicpKSA/ICdjdXJzb3I6aGFuZDsnIDogJyc7CgkJCWlmICh0aGlz
LnN0eWxlLmJvcmRlcikgewoJCQkJcHJldlN0eWxlICs9ICdib3JkZXI6Jyt0aGlz
LnN0eWxlLmJvcmRlcisnOyc7CgkJCQl0aGlzLnN0eWxlLmJvcmRlciA9ICcnOwoJ
CQl9CgkJCWlmICh0aGlzLnN0eWxlLnBhZGRpbmcpIHsKCQkJCXByZXZTdHlsZSAr
PSAncGFkZGluZzonK3RoaXMuc3R5bGUucGFkZGluZysnOyc7CgkJCQl0aGlzLnN0
eWxlLnBhZGRpbmcgPSAnJzsKCQkJfQoJCQlpZiAodGhpcy5zdHlsZS5tYXJnaW4p
IHsKCQkJCXByZXZTdHlsZSArPSAnbWFyZ2luOicrdGhpcy5zdHlsZS5tYXJnaW4r
JzsnOwoJCQkJdGhpcy5zdHlsZS5tYXJnaW4gPSAnJzsKCQkJfQoJCQl2YXIgaW1n
U3R5bGUgPSAodGhpcy5zdHlsZS5jc3NUZXh0KTsKCgkJCXN0ck5ld0hUTUwgKz0g
JzxzcGFuICcraW1nSWQraW1nQ2xhc3MraW1nVGl0bGUraW1nQWx0OwoJCQlzdHJO
ZXdIVE1MICs9ICdzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7d2hpdGUtc3BhY2U6
cHJlLWxpbmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7YmFja2dyb3VuZDp0cmFuc3Bh
cmVudDsnK2ltZ0FsaWduK2ltZ0hhbmQ7CgkJCXN0ck5ld0hUTUwgKz0gJ3dpZHRo
OicgKyBqUXVlcnkodGhpcykud2lkdGgoKSArICdweDsnICsgJ2hlaWdodDonICsg
alF1ZXJ5KHRoaXMpLmhlaWdodCgpICsgJ3B4Oyc7CgkJCXN0ck5ld0hUTUwgKz0g
J2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJ
bWFnZUxvYWRlcicgKyAnKHNyYz1cJycgKyBqUXVlcnkodGhpcykuYXR0cignc3Jj
JykgKyAnXCcsIHNpemluZ01ldGhvZD1cJ3NjYWxlXCcpOyc7CgkJCXN0ck5ld0hU
TUwgKz0gaW1nU3R5bGUrJyI+PC9zcGFuPic7CgkJCWlmIChwcmV2U3R5bGUgIT0g
JycpewoJCQkJc3RyTmV3SFRNTCA9ICc8c3BhbiBzdHlsZT0icG9zaXRpb246cmVs
YXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7JytwcmV2U3R5bGUraW1nSGFuZCsn
d2lkdGg6JyArIGpRdWVyeSh0aGlzKS53aWR0aCgpICsgJ3B4OycgKyAnaGVpZ2h0
OicgKyBqUXVlcnkodGhpcykuaGVpZ2h0KCkgKyAncHg7JysnIj4nICsgc3RyTmV3
SFRNTCArICc8L3NwYW4+JzsKCQkJfQoKCQkJalF1ZXJ5KHRoaXMpLmhpZGUoKTsK
CQkJalF1ZXJ5KHRoaXMpLmFmdGVyKHN0ck5ld0hUTUwpOwoKCQl9KTsKCgkJLy8g
Zml4IGNzcyBiYWNrZ3JvdW5kIHBuZ3MKCQlqUXVlcnkodGhpcykuZmluZCgiKiIp
LmVhY2goZnVuY3Rpb24oKXsKCQkJdmFyIGJnSU1HID0galF1ZXJ5KHRoaXMpLmNz
cygnYmFja2dyb3VuZC1pbWFnZScpOwoJCQlpZihiZ0lNRy5pbmRleE9mKCIucG5n
IikhPS0xKXsKCQkJCXZhciBpZWJnID0gYmdJTUcuc3BsaXQoJ3VybCgiJylbMV0u
c3BsaXQoJyIpJylbMF07CgkJCQlqUXVlcnkodGhpcykuY3NzKCdiYWNrZ3JvdW5k
LWltYWdlJywgJ25vbmUnKTsKCQkJCWpRdWVyeSh0aGlzKS5nZXQoMCkucnVudGlt
ZVN0eWxlLmZpbHRlciA9ICJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3Nv
ZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9JyIgKyBpZWJnICsgIicsc2l6aW5nTWV0
aG9kPSdzY2FsZScpIjsKCQkJfQoJCX0pOwoJCQoJCS8vZml4IGlucHV0IHdpdGgg
cG5nLXNvdXJjZQoJCWpRdWVyeSh0aGlzKS5maW5kKCJpbnB1dFtAc3JjJD0ucG5n
XSIpLmVhY2goZnVuY3Rpb24oKSB7CgkJCXZhciBiZ0lNRyA9IGpRdWVyeSh0aGlz
KS5hdHRyKCdzcmMnKTsKCQkJalF1ZXJ5KHRoaXMpLmdldCgwKS5ydW50aW1lU3R5
bGUuZmlsdGVyID0gJ3Byb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5B
bHBoYUltYWdlTG9hZGVyJyArICcoc3JjPVwnJyArIGJnSU1HICsgJ1wnLCBzaXpp
bmdNZXRob2Q9XCdzY2FsZVwnKTsnOwogICAJCWpRdWVyeSh0aGlzKS5hdHRyKCdz
cmMnLCBzZXR0aW5ncy5ibGFua2dpZikKCQl9KTsKCQoJfQoJCglyZXR1cm4galF1
ZXJ5OwoKfTsKCn0pKGpRdWVyeSk7Cg==

------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=pt-conditions-widget.js
Content-Type: application/javascript; charset=utf-8; name=pt-conditions-widget.js
Content-Location: http://www.psychologytoday.com/sites/all/modules/pt/pt_content/pt-conditions-widget.js?D
Content-Transfer-Encoding: Base64

JChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7CiAgLy8gSW5pdGlhbGl6ZSBj
b25kaXRpb25zIGJveAogICQoJyNjb25kaXRpb25zLWluZGV4IGE6Zmlyc3QnKS5w
YXJlbnQoKS5wYXJlbnQoKS5wYXJlbnQoKS5hZGRDbGFzcygnc2VsZWN0ZWQnKTsK
ICAkKCcjY29uZGl0aW9ucy1pbmRleCBhJykuY2xpY2soZnVuY3Rpb24oKSB7CiAg
ICB2YXIgdXJsID0gJCh0aGlzKS5hdHRyKCdocmVmJykuc3BsaXQoJy8nKTsKICAg
IHZhciB0b0xvYWQgPSB1cmxbdXJsLmxlbmd0aC0xXTsKICAgICQoJyNjb25kaXRp
b25zLWluZGV4IC5zZWxlY3RlZCcpLnJlbW92ZUNsYXNzKCdzZWxlY3RlZCcpOwog
ICAgJCh0aGlzKS5wYXJlbnQoKS5wYXJlbnQoKS5wYXJlbnQoKS5hZGRDbGFzcygn
c2VsZWN0ZWQnKTsKICAgICQoJyNjb25kaXRpb25zLWxpc3QnKS5mYWRlT3V0KCJm
YXN0IiwgZnVuY3Rpb24oKSB7CiAgICAgICQoJyNjb25kaXRpb25zLWxpc3QnKS5s
b2FkKCcvY29uZGl0aW9ucy93aWRnZXQvZGlzb3JkZXIvJyt0b0xvYWQse3ZpZXc6
ICJkaXNvcmRlciIsIHNlbDogdG9Mb2FkIH0sZnVuY3Rpb24oKSB7CiAgICAgICAg
JCgnI2NvbmRpdGlvbnMtbGlzdCcpLmZhZGVJbigiZmFzdCIpOwogICAgICB9KTsK
ICAgIH0pOwoJCSAgcmV0dXJuIGZhbHNlOwoJCX0pOwp9KTs=

------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=extlink.js
Content-Type: application/javascript; charset=utf-8; name=extlink.js
Content-Location: http://www.psychologytoday.com/sites/all/modules/contrib/extlink/extlink.js?D
Content-Transfer-Encoding: Base64

Ly8gJElkOiBleHRsaW5rLmpzLHYgMS40LjIuOSAyMDA5LzEyLzIwIDAwOjIwOjI1
IHF1aWNrc2tldGNoIEV4cCAkCihmdW5jdGlvbiAoJCkgewoKZnVuY3Rpb24gZXh0
bGlua0F0dGFjaChjb250ZXh0KSB7CiAgLy8gU3RyaXAgdGhlIGhvc3QgbmFtZSBk
b3duLCByZW1vdmluZyBzdWJkb21haW5zIG9yIHd3dy4KICB2YXIgaG9zdCA9IHdp
bmRvdy5sb2NhdGlvbi5ob3N0LnJlcGxhY2UoL14oKFteXC9dKz9cLikqKShbXlwu
XXs0LH0pKChcLlthLXpdezEsNH0pKikkLywgJyQzJDQnKTsKICB2YXIgc3ViZG9t
YWluID0gd2luZG93LmxvY2F0aW9uLmhvc3QucmVwbGFjZSgvXigoW15cL10rP1wu
KSopKFteXC5dezQsfSkoKFwuW2Etel17MSw0fSkqKSQvLCAnJDEnKTsKCiAgLy8g
RGV0ZXJtaW5lIHdoYXQgc3ViZG9tYWlucyBhcmUgY29uc2lkZXJlZCBpbnRlcm5h
bC4KICBpZiAoRHJ1cGFsLnNldHRpbmdzLmV4dGxpbmsuZXh0U3ViZG9tYWlucykg
ewogICAgdmFyIHN1YmRvbWFpbnMgPSAiKFteL10qXFwuKT8iOwogIH0KICBlbHNl
IGlmIChzdWJkb21haW4gPT0gJ3d3dy4nIHx8IHN1YmRvbWFpbiA9PSAnJykgewog
ICAgdmFyIHN1YmRvbWFpbnMgPSAiKHd3d1xcLik/IjsKICB9CiAgZWxzZSB7CiAg
ICB2YXIgc3ViZG9tYWlucyA9IHN1YmRvbWFpbi5yZXBsYWNlKCIuIiwgIlxcLiIp
OwogIH0KCiAgLy8gQnVpbGQgcmVndWxhciBleHByZXNzaW9ucyB0aGF0IGRlZmlu
ZSBhbiBpbnRlcm5hbCBsaW5rLgogIHZhciBpbnRlcm5hbF9saW5rID0gbmV3IFJl
Z0V4cCgiXmh0dHBzPzovLyIgKyBzdWJkb21haW5zICsgaG9zdCwgImkiKTsKCiAg
Ly8gRXh0cmEgaW50ZXJuYWwgbGluayBtYXRjaGluZy4KICB2YXIgZXh0SW5jbHVk
ZSA9IGZhbHNlOwogIGlmIChEcnVwYWwuc2V0dGluZ3MuZXh0bGluay5leHRJbmNs
dWRlKSB7CiAgICBleHRJbmNsdWRlID0gbmV3IFJlZ0V4cChEcnVwYWwuc2V0dGlu
Z3MuZXh0bGluay5leHRJbmNsdWRlLnJlcGxhY2UoL1xcLywgJ1xcJykpOwogIH0K
CiAgLy8gRXh0cmEgZXh0ZXJuYWwgbGluayBtYXRjaGluZy4KICB2YXIgZXh0RXhj
bHVkZSA9IGZhbHNlOwogIGlmIChEcnVwYWwuc2V0dGluZ3MuZXh0bGluay5leHRF
eGNsdWRlKSB7CiAgICBleHRFeGNsdWRlID0gbmV3IFJlZ0V4cChEcnVwYWwuc2V0
dGluZ3MuZXh0bGluay5leHRFeGNsdWRlLnJlcGxhY2UoL1xcLywgJ1xcJykpOwog
IH0KCiAgLy8gRmluZCBhbGwgbGlua3Mgd2hpY2ggYXJlIE5PVCBpbnRlcm5hbCBh
bmQgYmVnaW4gd2l0aCBodHRwIChhcyBvcHBvc2VkCiAgLy8gdG8gZnRwOi8vLCBq
YXZhc2NyaXB0OiwgZXRjLiBvdGhlciBraW5kcyBvZiBsaW5rcy4KICAvLyBXaGVu
IG9wZXJhdGluZyBvbiB0aGUgJ3RoaXMnIHZhcmlhYmxlLCB0aGUgaG9zdCBoYXMg
YmVlbiBhcHBlbmRlZCB0bwogIC8vIGFsbCBsaW5rcyBieSB0aGUgYnJvd3Nlciwg
ZXZlbiBsb2NhbCBvbmVzLgogIC8vIEluIGpRdWVyeSAxLjEgYW5kIGhpZ2hlciwg
d2UnZCB1c2UgYSBmaWx0ZXIgbWV0aG9kIGhlcmUsIGJ1dCBpdCBpcyBub3QKICAv
LyBhdmFpbGFibGUgaW4galF1ZXJ5IDEuMCAoRHJ1cGFsIDUgZGVmYXVsdCkuCiAg
dmFyIGV4dGVybmFsX2xpbmtzID0gbmV3IEFycmF5KCk7CiAgdmFyIG1haWx0b19s
aW5rcyA9IG5ldyBBcnJheSgpOwogICQoImE6bm90KC4iICsgRHJ1cGFsLnNldHRp
bmdzLmV4dGxpbmsuZXh0Q2xhc3MgKyAiLCAuIiArIERydXBhbC5zZXR0aW5ncy5l
eHRsaW5rLm1haWx0b0NsYXNzICsgIikiLCBjb250ZXh0KS5lYWNoKGZ1bmN0aW9u
KGVsKSB7CiAgICB0cnkgewogICAgICB2YXIgdXJsID0gdGhpcy5ocmVmLnRvTG93
ZXJDYXNlKCk7CiAgICAgIGlmICh1cmwuaW5kZXhPZignaHR0cCcpID09IDAgJiYg
KCF1cmwubWF0Y2goaW50ZXJuYWxfbGluaykgfHwgKGV4dEluY2x1ZGUgJiYgdXJs
Lm1hdGNoKGV4dEluY2x1ZGUpKSkgJiYgIShleHRFeGNsdWRlICYmIHVybC5tYXRj
aChleHRFeGNsdWRlKSkpIHsKICAgICAgICBleHRlcm5hbF9saW5rcy5wdXNoKHRo
aXMpOwogICAgICB9CiAgICAgIGVsc2UgaWYgKHVybC5pbmRleE9mKCdtYWlsdG86
JykgPT0gMCkgewogICAgICAgIG1haWx0b19saW5rcy5wdXNoKHRoaXMpOwogICAg
ICB9CiAgICB9CiAgICAvLyBJRTcgdGhyb3dzIGVycm9ycyBvZnRlbiB3aGVuIGRl
YWxpbmcgd2l0aCBpcnJlZ3VsYXIgbGlua3MsIHN1Y2ggYXM6CiAgICAvLyA8YSBo
cmVmPSJub2RlLzEwIj48L2E+IEVtcHR5IHRhZ3MuCiAgICAvLyA8YSBocmVmPSJo
dHRwOi8vdXNlcjpwYXNzQGV4YW1wbGUuY29tIj5leGFtcGxlPC9hPiBVc2VyOnBh
c3Mgc3ludGF4LgogICAgY2F0Y2goZXJyb3IpIHsKICAgICAgcmV0dXJuIGZhbHNl
OwogICAgfQogIH0pOwoKICBpZiAoRHJ1cGFsLnNldHRpbmdzLmV4dGxpbmsuZXh0
Q2xhc3MpIHsKICAgIC8vIEFwcGx5IHRoZSAiZXh0IiBjbGFzcyB0byBhbGwgbGlu
a3Mgbm90IGNvbnRhaW5pbmcgaW1hZ2VzLgogICAgaWYgKHBhcnNlRmxvYXQoJCgp
LmpxdWVyeSkgPCAxLjIpIHsKICAgICAgJChleHRlcm5hbF9saW5rcykubm90KCdb
aW1nXScpLmFkZENsYXNzKERydXBhbC5zZXR0aW5ncy5leHRsaW5rLmV4dENsYXNz
KS5lYWNoKGZ1bmN0aW9uKCkgeyBpZiAoJCh0aGlzKS5jc3MoJ2Rpc3BsYXknKSA9
PSAnaW5saW5lJykgJCh0aGlzKS5hZnRlcignPHNwYW4gY2xhc3M9JyArIERydXBh
bC5zZXR0aW5ncy5leHRsaW5rLmV4dENsYXNzICsgJz48L3NwYW4+Jyk7IH0pOwog
ICAgfQogICAgZWxzZSB7CiAgICAgICQoZXh0ZXJuYWxfbGlua3MpLm5vdCgkKGV4
dGVybmFsX2xpbmtzKS5maW5kKCdpbWcnKS5wYXJlbnRzKCdhJykpLmFkZENsYXNz
KERydXBhbC5zZXR0aW5ncy5leHRsaW5rLmV4dENsYXNzKS5lYWNoKGZ1bmN0aW9u
KCkgeyBpZiAoJCh0aGlzKS5jc3MoJ2Rpc3BsYXknKSA9PSAnaW5saW5lJykgJCh0
aGlzKS5hZnRlcignPHNwYW4gY2xhc3M9JyArIERydXBhbC5zZXR0aW5ncy5leHRs
aW5rLmV4dENsYXNzICsgJz48L3NwYW4+Jyk7IH0pOwogICAgfQogIH0KCiAgaWYg
KERydXBhbC5zZXR0aW5ncy5leHRsaW5rLm1haWx0b0NsYXNzKSB7CiAgICAvLyBB
cHBseSB0aGUgIm1haWx0byIgY2xhc3MgdG8gYWxsIG1haWx0byBsaW5rcyBub3Qg
Y29udGFpbmluZyBpbWFnZXMuCiAgICBpZiAocGFyc2VGbG9hdCgkKCkuanF1ZXJ5
KSA8IDEuMikgewogICAgICAkKG1haWx0b19saW5rcykubm90KCdbaW1nXScpLmFk
ZENsYXNzKERydXBhbC5zZXR0aW5ncy5leHRsaW5rLm1haWx0b0NsYXNzKS5lYWNo
KGZ1bmN0aW9uKCkgeyBpZiAoJCh0aGlzKS5jc3MoJ2Rpc3BsYXknKSA9PSAnaW5s
aW5lJykgJCh0aGlzKS5hZnRlcignPHNwYW4gY2xhc3M9JyArIERydXBhbC5zZXR0
aW5ncy5leHRsaW5rLm1haWx0b0NsYXNzICsgJz48L3NwYW4+Jyk7IH0pOwogICAg
fQogICAgZWxzZSB7CiAgICAgICQobWFpbHRvX2xpbmtzKS5ub3QoJChtYWlsdG9f
bGlua3MpLmZpbmQoJ2ltZycpLnBhcmVudHMoJ2EnKSkuYWRkQ2xhc3MoRHJ1cGFs
LnNldHRpbmdzLmV4dGxpbmsubWFpbHRvQ2xhc3MpLmVhY2goZnVuY3Rpb24oKSB7
IGlmICgkKHRoaXMpLmNzcygnZGlzcGxheScpID09ICdpbmxpbmUnKSAkKHRoaXMp
LmFmdGVyKCc8c3BhbiBjbGFzcz0nICsgRHJ1cGFsLnNldHRpbmdzLmV4dGxpbmsu
bWFpbHRvQ2xhc3MgKyAnPjwvc3Bhbj4nKTsgfSk7CiAgICB9CiAgfQoKICBpZiAo
RHJ1cGFsLnNldHRpbmdzLmV4dGxpbmsuZXh0VGFyZ2V0KSB7CiAgICAvLyBBcHBs
eSB0aGUgdGFyZ2V0IGF0dHJpYnV0ZSB0byBhbGwgbGlua3MuCiAgICAkKGV4dGVy
bmFsX2xpbmtzKS5hdHRyKCd0YXJnZXQnLCBEcnVwYWwuc2V0dGluZ3MuZXh0bGlu
ay5leHRUYXJnZXQpOwogIH0KCiAgaWYgKERydXBhbC5zZXR0aW5ncy5leHRsaW5r
LmV4dEFsZXJ0KSB7CiAgICAvLyBBZGQgcG9wLXVwIGNsaWNrLXRocm91Z2ggZGlh
bG9nLgogICAgJChleHRlcm5hbF9saW5rcykuY2xpY2soZnVuY3Rpb24oZSkgewog
ICAgIHJldHVybiBjb25maXJtKERydXBhbC5zZXR0aW5ncy5leHRsaW5rLmV4dEFs
ZXJ0VGV4dCk7CiAgICB9KTsKICB9Cgp9CgpEcnVwYWwuYmVoYXZpb3JzLmV4dGxp
bmsgPSBmdW5jdGlvbihjb250ZXh0KSB7CiAgZXh0bGlua0F0dGFjaChjb250ZXh0
KTsKfQoKfSkoalF1ZXJ5KTsK

------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=pt_www.js
Content-Type: application/javascript; charset=utf-8; name=pt_www.js
Content-Location: http://www.psychologytoday.com/sites/all/themes/pt_www/pt_www.js?D
Content-Transfer-Encoding: Base64

alF1ZXJ5LnByZWxvYWRJbWFnZXMgPSBmdW5jdGlvbigpCnsKICBmb3IodmFyIGkg
PSAwOyBpPGFyZ3VtZW50cy5sZW5ndGg7IGkrKykKICB7CiAgICBqUXVlcnkoIjxp
bWc+IikuYXR0cigic3JjIiwgYXJndW1lbnRzW2ldKTsKICB9Cn0=

------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=pt_favicon.ico
Content-Type: image/x-icon; name=pt_favicon.ico
Content-Location: http://www.psychologytoday.com/files/pt_favicon.ico
Content-Transfer-Encoding: Base64

R0lGODdhEAAQAPIAANfl/+Hr/2ea/4K1/3+y/4G0/////2aZ/yH5BAAAAAAALAAA
AAAQABAAAANOOLXcPeTISWmJMpgABPiABE3GZhBAGYjYYXznAQQCSwJDPNfHmMGR
nU2y0dSEvZZqcKQNXaEJ0gelTJVRyfVmdSalA2vnWSkXFI70YpAAADs=

------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=book.css
Content-Type: text/css; charset=utf-8; name=book.css
Content-Location: http://www.psychologytoday.com/modules/book/book.css?D
Content-Transfer-Encoding: 8bit

/* $Id: book.css,v 1.6 2007/11/26 16:19:37 dries Exp $ */

.book-navigation .menu {
  border-top: 1px solid #888;
  padding: 1em 0 0 3em;
}
.book-navigation .page-links {
  border-top: 1px solid #888;
  border-bottom: 1px solid #888;
  text-align: center;
  padding: 0.5em;
}
.book-navigation .page-previous {
  text-align: left;
  width: 42%;
  display: block;
  float: left; /* LTR */
}
.book-navigation .page-up {
  margin: 0 5%;
  width: 4%;
  display: block;
  float: left; /* LTR */
}
.book-navigation .page-next {
  text-align: right;
  width: 42%;
  display: block;
  float: right;
}
#book-outline {
  min-width: 56em;
}
.book-outline-form .form-item {
  margin-top: 0;
  margin-bottom: 0;
}
#edit-book-bid-wrapper .description {
  clear: both;
}
#book-admin-edit select {
  margin-right: 24px;
}
#book-admin-edit select.progress-disabled {
  margin-right: 0;
}
#book-admin-edit tr.ahah-new-content {
  background-color: #ffd;
}
#book-admin-edit .form-item {
  float: left;
}
------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=node.css
Content-Type: text/css; charset=utf-8; name=node.css
Content-Location: http://www.psychologytoday.com/modules/node/node.css?D
Content-Transfer-Encoding: 8bit

/* $Id: node.css,v 1.5 2008/01/25 21:21:44 goba Exp $ */

.node-unpublished {
  background-color: #fff4f4;
}
.preview .node {
  background-color: #ffffea;
}
#node-admin-filter ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
  width: 100%;
}
#node-admin-buttons {
  float: left; /* LTR */
  margin-left: 0.5em; /* LTR */
  clear: right; /* LTR */
}
td.revision-current {
  background: #ffc;
}
.node-form .form-text {
  display: block;
  width: 95%;
}
.node-form .container-inline .form-text {
  display: inline;
  width: auto;
}
.node-form .standard {
  clear: both;
}
.node-form textarea {
  display: block;
  width: 95%;
}
.node-form .attachments fieldset {
  float: none;
  display: block;
}
.terms-inline {
  display: inline;
}

------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=poll.css
Content-Type: text/css; charset=utf-8; name=poll.css
Content-Location: http://www.psychologytoday.com/modules/poll/poll.css?D
Content-Transfer-Encoding: 8bit

/* $Id: poll.css,v 1.6 2008/01/22 07:47:57 goba Exp $ */

.poll .bar {
  height: 1em;
  margin: 1px 0;
  background-color: #ddd;
}
.poll .bar .foreground {
  background-color: #000;
  height: 1em;
  float: left; /* LTR */
}
.poll .links {
  text-align: center;
}
.poll .percent {
  text-align: right; /* LTR */
}
.poll .total {
  text-align: center;
}
.poll .vote-form {
  text-align: center;
}
.poll .vote-form .choices {
  text-align: left; /* LTR */
  margin: 0 auto;
  display: table;
}
.poll .vote-form .choices .title {
  font-weight: bold;
}
.node-form #edit-poll-more {
  margin: 0;
}
td.poll-chtext {
  width: 80%;
}
td.poll-chvotes .form-text {
  width: 85%;
}

------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=defaults.css
Content-Type: text/css; charset=utf-8; name=defaults.css
Content-Location: http://www.psychologytoday.com/modules/system/defaults.css?D
Content-Transfer-Encoding: 8bit

/* $Id: defaults.css,v 1.5 2007/10/02 12:10:40 dries Exp $ */

/*
** HTML elements
*/
fieldset {
  margin-bottom: 1em;
  padding: .5em;
}
form {
  margin: 0;
  padding: 0;
}
hr {
  height: 1px;
  border: 1px solid gray;
}
img {
  border: 0;
}
table {
  border-collapse: collapse;
}
th {
  text-align: left; /* LTR */
  padding-right: 1em; /* LTR */
  border-bottom: 3px solid #ccc;
}

/*
** Markup free clearing
** Details: http://www.positioniseverything.net/easyclearing.html
*/
.clear-block:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.clear-block {
  display: inline-block;
}

/* Hides from IE-mac \*/
* html .clear-block {
  height: 1%;
}
.clear-block {
  display: block;
}
/* End hide from IE-mac */

------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=system.css
Content-Type: text/css; charset=utf-8; name=system.css
Content-Location: http://www.psychologytoday.com/modules/system/system.css?D
Content-Transfer-Encoding: 8bit

/* $Id: system.css,v 1.48 2008/01/09 09:56:39 goba Exp $ */

/*
** HTML elements
*/
body.drag {
  cursor: move;
}
th.active img {
  display: inline;
}
tr.even, tr.odd {
  background-color: #eee;
  border-bottom: 1px solid #ccc;
  padding: 0.1em 0.6em;
}
tr.drag {
  background-color: #fffff0;
}
tr.drag-previous {
  background-color: #ffd;
}
td.active {
  background-color: #ddd;
}
td.checkbox, th.checkbox {
  text-align: center;
}
tbody {
  border-top: 1px solid #ccc;
}
tbody th {
  border-bottom: 1px solid #ccc;
}
thead th {
  text-align: left; /* LTR */
  padding-right: 1em; /* LTR */
  border-bottom: 3px solid #ccc;
}

/*
** Other common styles
*/
.breadcrumb {
  padding-bottom: .5em
}
div.indentation {
  width: 20px;
  height: 1.7em;
  margin: -0.4em 0.2em -0.4em -0.4em; /* LTR */
  padding: 0.42em 0 0.42em 0.6em; /* LTR */
  float: left; /* LTR */
}
div.tree-child {
  background: url(../../misc/tree.png) no-repeat 11px center; /* LTR */
}
div.tree-child-last {
  background: url(../../misc/tree-bottom.png) no-repeat 11px center; /* LTR */
}
div.tree-child-horizontal {
  background: url(../../misc/tree.png) no-repeat -11px center;
}
.error {
  color: #e55;
}
div.error {
  border: 1px solid #d77;
}
div.error, tr.error {
  background: #fcc;
  color: #200;
  padding: 2px;
}
.warning {
  color: #e09010;
}
div.warning {
  border: 1px solid #f0c020;
}
div.warning, tr.warning {
  background: #ffd;
  color: #220;
  padding: 2px;
}
.ok {
  color: #008000;
}
div.ok {
  border: 1px solid #00aa00;
}
div.ok, tr.ok {
  background: #dfd;
  color: #020;
  padding: 2px;
}
.item-list .icon {
  color: #555;
  float: right; /* LTR */
  padding-left: 0.25em; /* LTR */
  clear: right; /* LTR */
}
.item-list .title {
  font-weight: bold;
}
.item-list ul {
  margin: 0 0 0.75em 0;
  padding: 0;
}
.item-list ul li {
  margin: 0 0 0.25em 1.5em; /* LTR */
  padding: 0;
  list-style: disc;
}
ol.task-list li.active {
  font-weight: bold;
}
.form-item {
  margin-top: 1em;
  margin-bottom: 1em;
}
tr.odd .form-item, tr.even .form-item {
  margin-top: 0;
  margin-bottom: 0;
  white-space: nowrap;
}
tr.merge-down, tr.merge-down td, tr.merge-down th {
  border-bottom-width: 0 !important;
}
tr.merge-up, tr.merge-up td, tr.merge-up th {
  border-top-width: 0 !important;
}
.form-item input.error, .form-item textarea.error, .form-item select.error {
  border: 2px solid red;
}
.form-item .description {
  font-size: 0.85em;
}
.form-item label {
  display: block;
  font-weight: bold;
}
.form-item label.option {
  display: inline;
  font-weight: normal;
}
.form-checkboxes, .form-radios {
  margin: 1em 0;
}
.form-checkboxes .form-item, .form-radios .form-item {
  margin-top: 0.4em;
  margin-bottom: 0.4em;
}
.marker, .form-required {
  color: #f00;
}
.more-link {
  text-align: right; /* LTR */
}
.more-help-link {
  font-size: 0.85em;
  text-align: right; /* LTR */
}
.nowrap {
  white-space: nowrap;
}
.item-list .pager {
  clear: both;
  text-align: center;
}
.item-list .pager li {
  background-image:none;
  display:inline;
  list-style-type:none;
  padding: 0.5em;
}
.pager-current {
  font-weight:bold;
}
.tips {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 0.9em;
}
dl.multiselect dd.b, dl.multiselect dd.b .form-item, dl.multiselect dd.b select {
  font-family: inherit;
  font-size: inherit;
  width: 14em;
}
dl.multiselect dd.a, dl.multiselect dd.a .form-item {
  width: 8em;
}
dl.multiselect dt, dl.multiselect dd {
  float: left; /* LTR */
  line-height: 1.75em;
  padding: 0;
  margin: 0 1em 0 0; /* LTR */
}
dl.multiselect .form-item {
  height: 1.75em;
  margin: 0;
}

/*
** Inline items (need to override above)
*/
.container-inline div, .container-inline label {
  display: inline;
}

/*
** Tab navigation
*/
ul.primary {
  border-collapse: collapse;
  padding: 0 0 0 1em; /* LTR */
  white-space: nowrap;
  list-style: none;
  margin: 5px;
  height: auto;
  line-height: normal;
  border-bottom: 1px solid #bbb;
}
ul.primary li {
  display: inline;
}
ul.primary li a {
  background-color: #ddd;
  border-color: #bbb;
  border-width: 1px;
  border-style: solid solid none solid;
  height: auto;
  margin-right: 0.5em; /* LTR */
  padding: 0 1em;
  text-decoration: none;
}
ul.primary li.active a {
  background-color: #fff;
  border: 1px solid #bbb;
  border-bottom: #fff 1px solid;
}
ul.primary li a:hover {
  background-color: #eee;
  border-color: #ccc;
  border-bottom-color: #eee;
}
ul.secondary {
  border-bottom: 1px solid #bbb;
  padding: 0.5em 1em;
  margin: 5px;
}
ul.secondary li {
  display: inline;
  padding: 0 1em;
  border-right: 1px solid #ccc; /* LTR */
}
ul.secondary a {
  padding: 0;
  text-decoration: none;
}
ul.secondary a.active {
  border-bottom: 4px solid #999;
}

/*
** Autocomplete styles
*/
/* Suggestion list */
#autocomplete {
  position: absolute;
  border: 1px solid;
  overflow: hidden;
  z-index: 100;
}
#autocomplete ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
#autocomplete li {
  background: #fff;
  color: #000;
  white-space: pre;
  cursor: default;
}
#autocomplete li.selected {
  background: #0072b9;
  color: #fff;
}
/* Animated throbber */
html.js input.form-autocomplete {
  background-image: url(../../misc/throbber.gif);
  background-repeat: no-repeat;
  background-position: 100% 2px; /* LTR */
}
html.js input.throbbing {
  background-position: 100% -18px; /* LTR */
}

/*
** Collapsing fieldsets
*/
html.js fieldset.collapsed {
  border-bottom-width: 0;
  border-left-width: 0;
  border-right-width: 0;
  margin-bottom: 0;
  height: 1em;
}
html.js fieldset.collapsed * {
  display: none;
}
html.js fieldset.collapsed legend {
  display: block;
}
html.js fieldset.collapsible legend a {
  padding-left: 15px; /* LTR */
  background: url(../../misc/menu-expanded.png) 5px 75% no-repeat; /* LTR */
}
html.js fieldset.collapsed legend a {
  background-image: url(../../misc/menu-collapsed.png); /* LTR */
  background-position: 5px 50%; /* LTR */
}
/* Note: IE-only fix due to '* html' (breaks Konqueror otherwise). */
* html.js fieldset.collapsed legend,
* html.js fieldset.collapsed legend *,
* html.js fieldset.collapsed table * {
  display: inline;
}
/* For Safari 2 to prevent collapsible fieldsets containing tables from dissapearing due to tableheader.js. */
html.js fieldset.collapsible {
  position: relative;
}
html.js fieldset.collapsible legend a {
  display: block;
}
/* Avoid jumping around due to margins collapsing into collapsible fieldset border */
html.js fieldset.collapsible .fieldset-wrapper {
  overflow: auto;
}

/*
** Resizable text areas
*/
.resizable-textarea {
  width: 95%;
}
.resizable-textarea .grippie {
  height: 9px;
  overflow: hidden;
  background: #eee url(../../misc/grippie.png) no-repeat center 2px;
  border: 1px solid #ddd;
  border-top-width: 0;
  cursor: s-resize;
}
html.js .resizable-textarea textarea {
  margin-bottom: 0;
  width: 100%;
  display: block;
}

/*
** Table drag and drop.
*/
.draggable a.tabledrag-handle {
  cursor: move;
  float: left; /* LTR */
  height: 1.7em;
  margin: -0.4em 0 -0.4em -0.5em; /* LTR */
  padding: 0.42em 1.5em 0.42em 0.5em; /* LTR */
  text-decoration: none;
}
a.tabledrag-handle:hover {
  text-decoration: none;
}
a.tabledrag-handle .handle {
  margin-top: 4px;
  height: 13px;
  width: 13px;
  background: url(../../misc/draggable.png) no-repeat 0 0;
}
a.tabledrag-handle-hover .handle {
  background-position: 0 -20px;
}

/*
** Teaser splitter
*/
.joined + .grippie {
  height: 5px;
  background-position: center 1px;
  margin-bottom: -2px;
}
/* Keeps inner content contained in Opera 9. */
.teaser-checkbox {
  padding-top: 1px;
}
div.teaser-button-wrapper {
  float: right; /* LTR */
  padding-right: 5%; /* LTR */
  margin: 0;
}
.teaser-checkbox div.form-item {
  float: right; /* LTR */
  margin: 0 5% 0 0; /* LTR */
  padding: 0;
}
textarea.teaser {
  display: none;
}
html.js .no-js {
  display: none;
}

/*
** Progressbar styles
*/
.progress {
  font-weight: bold;
}
.progress .bar {
  background: #fff url(../../misc/progress.gif);
  border: 1px solid #00375a;
  height: 1.5em;
  margin: 0 0.2em;
}
.progress .filled {
  background: #0072b9;
  height: 1em;
  border-bottom: 0.5em solid #004a73;
  width: 0%;
}
.progress .percentage {
  float: right; /* LTR */
}
.progress-disabled {
  float: left; /* LTR */
}
.ahah-progress {
  float: left; /* LTR */
}
.ahah-progress .throbber {
  width: 15px;
  height: 15px;
  margin: 2px;
  background: transparent url(../../misc/throbber.gif) no-repeat 0px -18px;
  float: left; /* LTR */
}
tr .ahah-progress .throbber {
  margin: 0 2px;
}
.ahah-progress-bar {
  width: 16em;
}

/*
** Formatting for welcome page
*/
#first-time strong {
  display: block;
  padding: 1.5em 0 .5em;
}

/*
** To be used with tableselect.js
*/
tr.selected td {
  background: #ffc;
}

/*
** Floating header for tableheader.js
*/
table.sticky-header {
  margin-top: 0;
  background: #fff;
}

/*
** Installation clean URLs
*/
#clean-url.install {
  display: none;
}

/*
** For anything you want to hide on page load when JS is enabled, so
** that you can use the JS to control visibility and avoid flicker.
*/
html.js .js-hide {
  display: none;
}

/*
** Styles for the system modules page (admin/build/modules)
*/
#system-modules div.incompatible {
  font-weight: bold;
}

/*
** Styles for the system themes page (admin/build/themes)
*/
#system-themes-form div.incompatible {
  font-weight: bold;
}

/*
** Password strength indicator
*/
span.password-strength {
  visibility: hidden;
}
input.password-field {
  margin-right: 10px; /* LTR */
}
div.password-description {
  padding: 0 2px;
  margin: 4px 0 0 0;
  font-size: 0.85em;
  max-width: 500px;
}
div.password-description ul {
  margin-bottom: 0;
}
.password-parent {
  margin: 0 0 0 0;
}
/*
** Password confirmation checker
*/
input.password-confirm {
  margin-right: 10px; /* LTR */
}
.confirm-parent {
  margin: 5px 0 0 0;
}
span.password-confirm {
  visibility: hidden;
}
span.password-confirm span {
  font-weight: normal;
}

------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=system-menus.css
Content-Type: text/css; charset=utf-8; name=system-menus.css
Content-Location: http://www.psychologytoday.com/modules/system/system-menus.css?D
Content-Transfer-Encoding: 8bit

/* $Id: system-menus.css,v 1.1 2007/10/05 14:50:25 goba Exp $ */

ul.menu {
  list-style: none;
  border: none;
  text-align:left; /* LTR */
}
ul.menu li {
  margin: 0 0 0 0.5em; /* LTR */
}
li.expanded {
  list-style-type: circle;
  list-style-image: url(../../misc/menu-expanded.png);
  padding: 0.2em 0.5em 0 0; /* LTR */
  margin: 0;
}
li.collapsed {
  list-style-type: disc;
  list-style-image: url(../../misc/menu-collapsed.png); /* LTR */
  padding: 0.2em 0.5em 0 0; /* LTR */
  margin: 0;
}
li.leaf {
  list-style-type: square;
  list-style-image: url(../../misc/menu-leaf.png);
  padding: 0.2em 0.5em 0 0; /* LTR */
  margin: 0;
}
li a.active {
  color: #000;
}
td.menu-disabled {
  background: #ccc;
}
ul.links {
  margin: 0;
  padding: 0;
}
ul.links.inline {
  display: inline;
}
ul.links li {
  display: inline;
  list-style-type: none;
  padding: 0 0.5em;
}
.block ul {
  margin: 0;
  padding: 0 0 0.25em 1em; /* LTR */
}

------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=user.css
Content-Type: text/css; charset=utf-8; name=user.css
Content-Location: http://www.psychologytoday.com/modules/user/user.css?D
Content-Transfer-Encoding: 8bit

/* $Id: user.css,v 1.7 2007/06/21 04:38:41 unconed Exp $ */

#permissions td.module {
  font-weight: bold;
}
#permissions td.permission {
  padding-left: 1.5em; /* LTR */
}
#access-rules .access-type, #access-rules .rule-type {
  margin-right: 1em; /* LTR */
  float: left; /* LTR */
}
#access-rules .access-type .form-item, #access-rules .rule-type .form-item {
  margin-top: 0;
}
#access-rules .mask {
  clear: both;
}
#user-login-form {
  text-align: center;
}
#user-admin-filter ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
  width: 100%;
}
#user-admin-buttons {
  float: left; /* LTR */
  margin-left: 0.5em; /* LTR */
  clear: right; /* LTR */
}
#user-admin-settings fieldset .description {
  font-size: 0.85em;
  padding-bottom: .5em;
}

/* Generated by user.module but used by profile.module: */
.profile {
  clear: both;
  margin: 1em 0;
}
.profile .picture {
  float: right; /* LTR */
  margin: 0 1em 1em 0; /* LTR */
}
.profile h3 {
  border-bottom: 1px solid #ccc;
}
.profile dl {
  margin: 0 0 1.5em 0;
}
.profile dt {
  margin: 0 0 0.2em 0;
  font-weight: bold;
}
.profile dd {
  margin: 0 0 1em 0;
}

------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=amazon.css
Content-Type: text/css; charset=utf-8; name=amazon.css
Content-Location: http://www.psychologytoday.com/sites/all/modules/contrib/amazon/amazon.css?D
Content-Transfer-Encoding: 8bit


div.field-type-asin {
  display: block;
  clear: both;
  border-top: 2px solid #DDD;
  padding-top: 3px;
}
div.amazon-item {
  clear: both;
}
div.amazon-item img {
  float: left;
  padding-left: 3px;
  margin-bottom: 1em;
  margin-right: 1em;
}

div.amazon-item div {
  padding-left: 1em;
  margin-left: 100px;
  height: 4em;
}

------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=content-module.css
Content-Type: text/css; charset=utf-8; name=content-module.css
Content-Location: http://www.psychologytoday.com/sites/all/modules/contrib/cck/theme/content-module.css?D
Content-Transfer-Encoding: 8bit

/* $Id: content-module.css,v 1.1.2.6 2009/03/14 18:45:38 yched Exp $ */

/* Node display */
.field .field-label,
.field .field-label-inline,
.field .field-label-inline-first {
  font-weight:bold;
}
.field .field-label-inline,
.field .field-label-inline-first {
  display:inline;
}
.field .field-label-inline {
  visibility:hidden;
}

/* Node form display */
.node-form .content-multiple-table td.content-multiple-drag {
  width:30px;
  padding-right:0;/*LTR*/
}
.node-form .content-multiple-table td.content-multiple-drag a.tabledrag-handle{
  padding-right:.5em;/*LTR*/
}

.node-form .content-add-more .form-submit{
  margin:0;
}

.node-form .number {
  display:inline;
  width:auto;
}
.node-form .text {
  width:auto;
}

/* CSS overrides for Views-based autocomplete results.
  - #autocomplete uses "white-space:pre", which is no good with
    Views' template-based rendering
  - Field titles are rendered with <label> in default templates,
    but we don't want the 'form' styling it gets under .form-item
*/
.form-item #autocomplete .reference-autocomplete {
  white-space:normal;
}

.form-item #autocomplete .reference-autocomplete label {
  display:inline;
  font-weight:normal;
}

/* 'Manage fields' overview */
#content-field-overview-form .advanced-help-link,
#content-display-overview-form .advanced-help-link {
  margin: 4px 4px 0 0;/*LTR*/
}
#content-field-overview-form .label-group,
#content-display-overview-form .label-group,
#content-copy-export-form .label-group {
  font-weight: bold;
}
table#content-field-overview .label-add-new-field,
table#content-field-overview .label-add-existing-field,
table#content-field-overview .label-add-new-group {
  float: left;/*LTR*/
}
table#content-field-overview tr.content-add-new .tabledrag-changed {
  display: none;
}
table#content-field-overview tr.content-add-new .description {
  margin-bottom: 0;
}
table#content-field-overview .content-new {
  font-weight: bold;
  padding-bottom: .5em;
}

/* 'Advanced help' pages */
.advanced-help-topic h3,
.advanced-help-topic h4,
.advanced-help-topic h5,
.advanced-help-topic h6  {
  margin:1em 0 .5em 0;
}
.advanced-help-topic dd {
  margin-bottom: .5em;
}
.advanced-help-topic span.code {
  background-color:#EDF1F3;
  font-family:"Bitstream Vera Sans Mono",Monaco,"Lucida Console",monospace;
  font-size:0.9em;
  padding:1px;
}
.advanced-help-topic .content-border {
  border:1px solid #AAA
}
------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=date.css
Content-Type: text/css; charset=utf-8; name=date.css
Content-Location: http://www.psychologytoday.com/sites/all/modules/contrib/date/date.css?D
Content-Transfer-Encoding: 8bit

/* Force from/to dates to float using inline-block, where it works, otherwise inline. */
.container-inline-date {
  width:auto;
  clear:both;
  display: inline-block;
  vertical-align:top;
  margin-right: 0.5em; /* LTR */
}
.container-inline-date .form-item {
  float:none;
  padding:0;
  margin:0;
}
.container-inline-date .form-item .form-item {
  float: left; /* LTR */
}
.container-inline-date .form-item,
.container-inline-date .form-item input {
  width:auto;
}
.container-inline-date .description {
  clear: both;
}

.container-inline-date .form-item input,
.container-inline-date .form-item select,
.container-inline-date .form-item option {
  margin-right: 5px; /* LTR */
}

.container-inline-date .date-spacer {
  margin-left: -5px; /* LTR */
}
.views-right-60 .container-inline-date div {
  padding:0;
  margin:0;
}

.container-inline-date .date-timezone .form-item {
  float:none;
  width:auto;
  clear:both;
}

/* Fixes for date popup css so it will behave in Drupal */
#calendar_div, #calendar_div td, #calendar_div th {
  margin:0;
  padding:0;
}
#calendar_div,
.calendar_control,
.calendar_links,
.calendar_header,
.calendar {
  width: 185px;
  border-collapse: separate;
  margin: 0;
}
.calendar td {
  padding: 0;
}

/* formatting for from/to dates in nodes and views */
span.date-display-single {
}
span.date-display-start {
}
span.date-display-end {
}
span.date-display-separator {
}

.date-repeat-input {
  float: left; /* LTR */
  width:auto;
  margin-right: 5px; /* LTR */
}
.date-repeat-input select {
  min-width:7em;
}
.date-repeat fieldset {
  clear:both;
  float:none;
}

.date-views-filter-wrapper {
  min-width:250px;
}
.date-views-filter input {
  float: left !important; /* LTR */
  margin-right: 2px !important; /* LTR */
  padding:0 !important;
  width:12em;
  min-width:12em;
}

.date-nav {
  width:100%;
}
.date-nav div.date-prev {
  text-align: left; /* LTR */
  width:24%;
  float: left; /* LTR */
}
.date-nav div.date-next {
  text-align: right; /* LTR */
  width:24%;
  float: right; /* LTR */
}
.date-nav div.date-heading {
  text-align:center;
  width:50%;
  float: left; /* LTR */
}
.date-nav div.date-heading h3 {
  margin:0;
  padding:0;
}

.date-clear {
  float:none;
  clear:both;
  display:block;
}

.date-clear-block {
  float:none;
  width:auto;
  clear:both;
}

/* 	 
 ** Markup free clearing that fixes unwanted scrollbars 	 
 ** @see http://drupal.org/node/232959 	 
 */ 	 
 .date-clear-block:after { 	 
   content: " "; 	 
   display: block; 	 
   height: 0; 	 
   clear: both; 	 
   visibility: hidden; 	 
 } 	 
 .date-clear-block { 	 
   display: inline-block; 	 
 } 	 
 /* Hides from IE-mac \*/ 	 
 * html .date-clear-block { 	 
   height: 1%; 	 
 } 	 
 .date-clear-block { 	 
   display: block; 	 
 } 	 
 /* End hide from IE-mac */

.date-container .date-format-delete {
  margin-top: 1.8em;
  margin-left: 1.5em;
  float: left;
}
.date-container .date-format-name {
  float: left;
}
.date-container .date-format-type {
  float: left;
  padding-left: 10px;
}

.date-container .select-container {
  clear: left;
  float: left;
}

/* Calendar day css */
div.date-calendar-day {
  line-height: 1;
  width: 40px;
  float: left;
  margin: 6px 10px 0 0;
  background: #F3F3F3;
  border-top: 1px solid #eee;
  border-left: 1px solid #eee;
  border-right: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
  color: #999;
  text-align: center;
  font-family: Georgia, Arial, Verdana, sans;
}
div.date-calendar-day span {
  display: block;  
  text-align: center;
}
div.date-calendar-day span.month {
  font-size: .9em;
  background-color: #B5BEBE;
  color: white;
  padding: 2px;
  text-transform: uppercase;
}
div.date-calendar-day span.day {
  font-weight: bold;
  font-size: 2em;
}
div.date-calendar-day span.year {
  font-size: .9em;
  padding: 2px;
}

------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=datepicker.css
Content-Type: text/css; charset=utf-8; name=datepicker.css
Content-Location: http://www.psychologytoday.com/sites/all/modules/contrib/date/date_popup/themes/datepicker.css?D
Content-Transfer-Encoding: 8bit

/* Smoothness Theme for jQuery UI Datepicker */
#ui-datepicker-div table,
#ui-datepicker-div td,
#ui-datepicker-div th {
  margin: 0;
  padding: 0;
}
#ui-datepicker-div,
#ui-datepicker-div table,
.ui-datepicker-div,
.ui-datepicker-div table,
.ui-datepicker-inline,
.ui-datepicker-inline table {
  font-size: 12px !important;
}
.ui-datepicker-div, .ui-datepicker-inline, #ui-datepicker-div {
  /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;
  background: #ffffff;
  border: 2px solid #d3d3d3;
  font-family: Verdana, Arial, sans-serif;
  font-size: 1.1em;
  margin: 0;
  padding: 2.5em .5em .5em .5em;
  position: relative;
  width: 15.5em;
}
#ui-datepicker-div {
  background: #ffffff;
  display: none;
  z-index: 9999; /*must have*/
}
.ui-datepicker-inline {
  display: block;
  float: left; /* LTR */
}
.ui-datepicker-control {
  display: none;
}
.ui-datepicker-current {
  display: none;
}
.ui-datepicker-next, .ui-datepicker-prev {
  background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x; /* LTR */
  left: .5em; /* LTR */
  position: absolute;
  top: .5em;
}
.ui-datepicker-next {
  left: 14.6em;
}
.ui-datepicker-next:hover, .ui-datepicker-prev:hover {
  background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x; /* LTR */
}
.ui-datepicker-next a, .ui-datepicker-prev a {
  background: url(images/888888_7x7_arrow_left.gif) 50% 50% no-repeat; /* LTR */
  border: 1px solid #d3d3d3;
  cursor: pointer;
  display: block;
  font-size: 1em;
  height: 1.4em;
  text-indent: -999999px;
  width: 1.3em;
}
.ui-datepicker-next a {
  background: url(images/888888_7x7_arrow_right.gif) 50% 50% no-repeat; /* LTR */
}
.ui-datepicker-prev a:hover {
  background: url(images/454545_7x7_arrow_left.gif) 50% 50% no-repeat; /* LTR */
}
.ui-datepicker-next a:hover {
  background: url(images/454545_7x7_arrow_right.gif) 50% 50% no-repeat; /* LTR */
}
.ui-datepicker-prev a:active {
  background: url(images/222222_7x7_arrow_left.gif) 50% 50% no-repeat; /* LTR */
}
.ui-datepicker-next a:active {
  background: url(images/222222_7x7_arrow_right.gif) 50% 50% no-repeat; /* LTR */
}
.ui-datepicker-header select {
  background: #e6e6e6;
  border: 1px solid #d3d3d3;
  color: #555555;
  font-size: 1em;
  line-height: 1.4em;
  margin: 0 !important;
  padding: 0 !important;
  position: absolute;
  top: .5em;
}
.ui-datepicker-header select.ui-datepicker-new-month {
  left: 2.2em; /* LTR */
  width: 7em;
}
.ui-datepicker-header select.ui-datepicker-new-year {
  left: 9.4em; /* LTR */
  width: 5em;
}
table.ui-datepicker {
  text-align: right; /* LTR */
  width: 15.5em;
}
table.ui-datepicker td a {
  color: #555555;
  display: block;
  padding: .1em .3em .1em 0; /* LTR */
  text-decoration: none;
}
table.ui-datepicker tbody {
  border-top: none;
}
table.ui-datepicker tbody td a {
  background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x; /* LTR */
  border: 1px solid #ffffff;
  cursor: pointer;
}
table.ui-datepicker tbody td a:hover {
  background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x; /* LTR */
  border: 1px solid #999999;
  color: #212121;
}
table.ui-datepicker tbody td a:active {
  background: #ffffff url(images/ffffff_40x100_textures_02_glass_65.png) 0 50% repeat-x; /* LTR */
  border: 1px solid #dddddd;
  color: #222222;
}
table.ui-datepicker .ui-datepicker-title-row td {
  /*border-bottom: 1px solid #d3d3d3;*/
  color: #222222;
  font-size: .9em;
  padding: .3em 0;
  text-align: center;
  text-transform: uppercase;
}

table.ui-datepicker .ui-datepicker-title-row td a {
  color: #222222;
}
------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=timeentry.css
Content-Type: text/css; charset=utf-8; name=timeentry.css
Content-Location: http://www.psychologytoday.com/sites/all/modules/contrib/date/date_popup/themes/timeentry.css?D
Content-Transfer-Encoding: 8bit

/* timeEntry styles */
.timeEntry_control {
	vertical-align: middle;
	margin-left: 2px;
}
* html .timeEntry_control { /* IE only */
	margin-top: -4px;
}
/* Make sure background colors from other styles don't obscure the current element highlight */
.timeEntry {
  background-color:transparent !important;
}
/* This is to keep FF from offering a drop-down list of previous values. */
/* For some reason hiding the div where the image belongs keeps that from happening. */
.timeEntry_control {
  display:none;
}
------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=filefield.css
Content-Type: text/css; charset=utf-8; name=filefield.css
Content-Location: http://www.psychologytoday.com/sites/all/modules/contrib/filefield/filefield.css?D
Content-Transfer-Encoding: 8bit

/* $Id: filefield.css,v 1.21 2009/04/08 20:04:52 quicksketch Exp $ */

/**
 * Overall styles
 */


/**
 * Formatter styles
 */

.filefield-icon {
  float: left; /* RTL */
  margin-right: 0.4em; /* RTL */
}

/* End formatter styles. */

/**
 * General widget form styles (applicable to all widgets).
 */
.filefield-element {
  margin: 1em 0;
  white-space: normal;
}

.filefield-element .widget-preview {
  float: left; /* RTL */
  padding-right: 10px; /* RTL */
  border-right: 1px solid #CCC; /* RTL */
  margin-right: 10px; /* RTL */
  max-width: 30%;
}

.filefield-element .widget-edit {
  float: left; /* RTL */
  max-width: 70%;
}

.filefield-element .filefield-preview {
  width: 16em;
  overflow: hidden;
}

.filefield-element .widget-edit .form-item {
  margin: 0 0 1em 0;
}

.filefield-element input.form-submit,
.filefield-element input.form-file {
  margin: 0;
}

.filefield-element input.progress-disabled {
  float: none;
  display: inline;
}

.filefield-element div.ahah-progress,
.filefield-element div.throbber {
  display: inline;
  float: none;
  padding: 1px 13px 2px 3px; /* RTL */
}

.filefield-element div.ahah-progress-bar {
  display: none;
  margin-top: 4px;
  width: 28em;
  padding: 0;
}

.filefield-element div.ahah-progress-bar div.bar {
  margin: 0;
}

/* End general widget form styles. */

/**
 * Generic file edit widget styles. Not applicable to other widgets that
 * might hook into filefield (say, a widget with an image preview).
 */

.filefield-generic-edit .filefield-icon {
  float: left; /* RTL */
  margin-right: 0.7em; /* RTL */
  margin-top: 0.3em;
}

.filefield-generic-edit-description {
  margin-right: 6em; /* RTL */
}

/* The text field is made unnecessarily long by node.css - shorten it. */
.filefield-generic-edit .form-text {
  width: 99%;
}

.filefield-generic-edit .description {
  white-space: normal;
  margin-bottom: 0;
  overflow: auto; /* Indent on line wraps, don't float around the icon. */
}

/* End widget form styles. */

------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=lightbox.css
Content-Type: text/css; charset=utf-8; name=lightbox.css
Content-Location: http://www.psychologytoday.com/sites/all/modules/contrib/lightbox2/css/lightbox.css?D
Content-Transfer-Encoding: 8bit

/* $Id: lightbox.css,v 1.1.4.23 2009/01/01 14:05:58 snpower Exp $ */
#lightbox {
  position: absolute;
  top: 40px;
  left: 0;
  width: 100%;
  z-index: 100;
  text-align: center;
  line-height: 0;
}

#lightbox a img {
  border: none;
}

#outerImageContainer {
  position: relative;
  background-color: #fff;
  width: 250px;
  height: 250px;
  margin: 0 auto;
  min-width: 240px;
  overflow: hidden;
}

#imageContainer, #frameContainer, #modalContainer {
  padding: 10px;
}

#modalContainer {
  line-height: 1em;
  overflow: auto;
}

#loading {
  height: 25%;
  width: 100%;
  text-align: center;
  line-height: 0;
  position: absolute;
  top: 40%;
  left: 45%;
  *left: 0%;
}

#hoverNav {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10;
}

#imageContainer>#hoverNav {
  left: 0;
}

#frameHoverNav {
  z-index: 10;
  margin-left: auto;
  margin-right: auto;
  width: 20%;
  position: relative;
  top: -60px;
}

#imageData>#frameHoverNav {
  left: 0;
}

#hoverNav a, #frameHoverNav a {
  outline: none;
}

#prevLink, #nextLink {
  width: 49%;
  height: 100%;
  background: transparent url(../images/blank.gif) no-repeat; /* Trick IE into showing hover */
  display: block;
}

#prevLink, #framePrevLink {
  left: 0;
  float: left;
}

#nextLink, #frameNextLink {
  right: 0;
  float: right;
}

#prevLink:hover, #prevLink:visited:hover, #prevLink.force_show_nav, #framePrevLink {
  background: url(../images/prev.gif) left 15% no-repeat;
}

#nextLink:hover, #nextLink:visited:hover, #nextLink.force_show_nav, #frameNextLink {
  background: url(../images/next.gif) right 15% no-repeat;
}

#prevLink:hover.force_show_nav, #prevLink:visited:hover.force_show_nav,
#framePrevLink:hover, #framePrevLink:visited:hover {
  background: url(../images/prev_hover.gif) left 15% no-repeat;
}

#nextLink:hover.force_show_nav, #nextLink:visited:hover.force_show_nav,
#frameNextLink:hover, #frameNextLink:visited:hover {
  background: url(../images/next_hover.gif) right 15% no-repeat;
}

#framePrevLink, #frameNextLink {
  width: 45px;
  height: 45px;
  display: block;
  margin-bottom: -60px;
  position: relative;
  top: 60px;
}

#imageDataContainer {
  font: 10px Verdana, Helvetica, sans-serif;
  background-color: #fff;
  margin: 0 auto;
  line-height: 1.4em;
  min-width: 240px;
}

#imageData {
  padding: 0 10px;
}

#imageData #imageDetails {
  width: 70%;
  float: left;
  text-align: left;
}

#imageData #caption {
  font-weight: bold;
}

#imageData #numberDisplay {
  display: block;
  clear: left;
  padding-bottom: 1.0em;
}

#imageData #node_link_text {
  display: block;
  padding-bottom: 1.0em;
}

#imageData #bottomNav {
  height: 66px;
}

#overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 90;
  width: 100%;
  height: 500px;
  background-color: #000;
}

#overlay_default {
  opacity: 0.6;
}

#overlay_macff2 {
  background: transparent url(../images/overlay.png) repeat;
}

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

* html>body .clearfix {
  display: inline;
  width: 100%;
}

* html .clearfix {
  /* Hides from IE-mac \*/
  height: 1%;
  /* End hide from IE-mac */
}


/* Image location mod */
#bottomNavClose {
  display: block;
  background: url(../images/close.gif) left no-repeat;
  margin-top: 33px;
  float: right;
  padding-top: 0.7em;
  height: 26px;
  width: 26px;
}

#bottomNavClose:hover {
  background-position: right;
}

#loadingLink {
  display: block;
  background: url(../images/loading.gif) no-repeat;
  width: 32px;
  height: 32px;
}

#bottomNavZoom {
  display: none;
  background: url(../images/expand.gif) no-repeat;
  width: 34px;
  height: 34px;
  position: relative;
  left: 30px;
  float: right;
}

#bottomNavZoomOut {
  display: none;
  background: url(../images/contract.gif) no-repeat;
  width: 34px;
  height: 34px;
  position: relative;
  left: 30px;
  float: right;
}

#lightshowPlay {
  margin-top: 42px;
  float: right;
  margin-right: 5px;
  margin-bottom: 1px;
  height: 20px;
  width: 20px;
  background: url(../images/play.png) no-repeat;
}

#lightshowPause {
  margin-top: 42px;
  float: right;
  margin-right: 5px;
  margin-bottom: 1px;
  height: 20px;
  width: 20px;
  background: url(../images/pause.png) no-repeat;
}

.lightbox_hide_image {
  display: none;
}

------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=nice_menus.css
Content-Type: text/css; charset=utf-8; name=nice_menus.css
Content-Location: http://www.psychologytoday.com/sites/all/modules/contrib/nice_menus/nice_menus.css?D
Content-Transfer-Encoding: 8bit

/* $Id: nice_menus.css,v 1.27.2.1 2008/07/11 16:05:10 add1sun Exp $ */
/*
  This file contains the basic logic for nice menus, and should not be
  edited.  To customize the menus, it's recommended to create a custom CSS
  file using nice_menus_default.css as a template, then configure the module
  to use your custom CSS file (this is done in the global settings tab of
  the theme administration.)
*/

/* Below should fix menu being a few pixels away in some themes, and menus disappearing behind other stuff. */
.block-nice_menus {
  line-height: normal;
  z-index: 10;
}

ul.nice-menu,
ul.nice-menu ul {
  z-index: 5;
  position: relative;
}

ul.nice-menu li {
  position: relative;
}

ul.nice-menu a {
  display: block;
}

ul.nice-menu ul,
/* For Garland header. */
#header-region ul.nice-menu ul {
  position: absolute;
  visibility: hidden;
}

ul.nice-menu li.over ul {
  visibility: visible;
}

ul.nice-menu ul li {
  display: block;
}

ul.nice-menu:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

/* Show submenus when over their parents. */
ul.nice-menu li:hover ul,
ul.nice-menu li.menuparent li:hover ul,
ul.nice-menu li.menuparent li.menuparent li:hover ul,
ul.nice-menu li.menuparent li.menuparent li.menuparent li:hover ul,
ul.nice-menu li.over ul,
ul.nice-menu li.menuparent li.over ul,
ul.nice-menu li.menuparent li.menuparent li.over ul,
ul.nice-menu li.menuparent li.menuparent li.menuparent li.over ul,
/* Repeat all this stuff just for Garland headers. */
#header-region ul.nice-menu li:hover ul,
#header-region ul.nice-menu li.menuparent li:hover ul,
#header-region ul.nice-menu li.menuparent li.menuparent li:hover ul,
#header-region ul.nice-menu li.over ul,
#header-region ul.nice-menu li.menuparent li.over ul,
#header-region ul.nice-menu li.menuparent li.menuparent li.over ul {
  visibility: visible;
}

/* Hide sub-menus initially. */
ul.nice-menu li:hover ul ul,
ul.nice-menu li:hover ul ul ul,
ul.nice-menu li:hover li:hover ul ul,
ul.nice-menu li:hover li:hover ul ul ul,
ul.nice-menu li:hover li:hover li:hover ul ul,
ul.nice-menu li:hover li:hover li:hover ul ul ul,
ul.nice-menu li.over ul ul,
ul.nice-menu li.over ul ul ul,
ul.nice-menu li.over li.over ul ul,
ul.nice-menu li.over li.over ul ul ul,
ul.nice-menu li.over li.over li.over ul ul,
ul.nice-menu li.over li.over li.over ul ul ul,
/* Repeat all this stuff just for Garland headers. */
#header-region ul.nice-menu li:hover ul ul,
#header-region ul.nice-menu li:hover ul ul ul,
#header-region ul.nice-menu li:hover li:hover ul ul,
#header-region ul.nice-menu li:hover li:hover ul ul ul,
#header-region ul.nice-menu li:hover li:hover li:hover ul ul,
#header-region ul.nice-menu li:hover li:hover li:hover ul ul ul,
#header-region ul.nice-menu li.over ul ul,
#header-region ul.nice-menu li.over ul ul ul,
#header-region ul.nice-menu li.over li.over ul ul,
#header-region ul.nice-menu li.over li.over ul ul ul,
#header-region ul.nice-menu li.over li.over li.over ul ul,
#header-region ul.nice-menu li.over li.over li.over ul ul ul {
  visibility: hidden;
}

/***************
 IE 6 Fixes
***************/

/* Iframe to fix z-index bug when menu hovers over <select> fields. */
ul.nice-menu li.menuparent ul,
/* For Garland header. */
#header-region ul.nice-menu li.menuparent ul {
	overflow: visible !important;
	/* overflow: hidden; */
}

ul.nice-menu li.menuparent ul iframe,
/* For Garland header. */
#header-region ul.nice-menu li.menuparent ul iframe {
	display: none;
	display/**/: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	filter: mask();
	width: 20px;
	height: 20px;
}
------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=nice_menus_default.css
Content-Type: text/css; charset=utf-8; name=nice_menus_default.css
Content-Location: http://www.psychologytoday.com/sites/all/modules/contrib/nice_menus/nice_menus_default.css?D
Content-Transfer-Encoding: 8bit

/* $Id: nice_menus_default.css,v 1.6 2007/10/29 16:38:28 add1sun Exp $ */
/*
  This is the default layout template for nice menus, and will provide
  a starting point for the look of your menus. To customize, it's
  recommended to create a custom CSS file using this file as a template,
  then configure the module to use your custom CSS file
  (this is done in the global settings tab of the theme administration.)

  To help understand the CSS, the HTML looks like this, where
    x is a number;
    TYPE is down/left/right;
    PATH is the menu path such as node/343;
    MID is the menu id such as 33):
  <ul id='nice-menu-x' class='nice-menu nice-menu-TYPE'>
    <li id='menu-MID' class='menu-path-PATH'><a href='#'>This is a menu item</a></li>
    <li class='menuparent menu-path-PATH'><a href='#'>A submenu</a>
      <ul...><li...>...</li>
      </ul>
    </li>
    ...
  </ul>

  If you have more than one nice-menu and want to target a particular one,
  use its id (e.g. ul#nice-menu-2).

  See README.txt and the handbook page (http://drupal.org/node/185543)
  for some CSS customization examples.
*/

/******************************
 Global CSS for ALL menu types
******************************/

ul.nice-menu,
ul.nice-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid #ccc;
}

ul.nice-menu li {
  border: 1px solid #ccc;
  border-top: 0;
  float: left;
  background-color: #eee;
  /* Additional overrides to deal with Garland theme. */
  margin: 0;
  padding-left: 0;
  background-image: none;
}

/* Overrides for Garland header. */
#header-region ul.nice-menu li {
  margin: 0;
  /* Padding rules are needed to deal with Garland's header line-height. */
  padding-top: 0.1em;
  padding-bottom: 0.1em;
  background: #eee;
}

ul.nice-menu a {
  padding: 0.3em 5px 0.3em 5px;
}

ul.nice-menu ul,
/* Repeat for Garland header. */
#header-region ul.nice-menu ul {
  top: 1.8em;
  left: -1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin-right: 0;
}

/* Override for Garland header. */
#header-region ul.nice-menu ul {
  top: 1.7em;
}

ul.nice-menu ul li {
  width: 12.5em;
}

/******************************
 VERTICAL (left/right) menus
******************************/

/* This is the default width of all vertical menus. */
ul.nice-menu-right, ul.nice-menu-left,
ul.nice-menu-right li, ul.nice-menu-left li {
  width: 12.5em;
}

/* VERTICAL menus where submenus pop RIGHT (default). */
ul.nice-menu-right ul {
  width: 12.5em;
  left: 12.5em;
  top: -1px;
}

ul.nice-menu-right ul ul {
  width: 12.5em;
  left: 12.5em;
  top: -1px;
}

ul.nice-menu-right li.menuparent,
ul.nice-menu-right li li.menuparent {
  background: #eee url(arrow-right.png) right center no-repeat;
}

ul.nice-menu-right li.menuparent:hover,
ul.nice-menu-right li.over,
ul.nice-menu-right li li.menuparent:hover,
ul.nice-menu-right li li.over {
  background: #ccc url(arrow-right.png) right center no-repeat;
}

/* VERTICAL menus where submenus pop LEFT. */
ul.nice-menu-left li ul {
  width: 12.5em;
  left: -12.65em;
  top: -1px;
}

ul.nice-menu-left li ul li ul {
  width: 12.5em;
  left: -12.65em;
  top: -1px;
}

ul.nice-menu-left li.menuparent,
ul.nice-menu-left li li.menuparent {
  background: #eee url(arrow-left.png) left center no-repeat;
}

ul.nice-menu-left li.menuparent:hover,
ul.nice-menu-left li.over,
ul.nice-menu-left li li.menuparent:hover,
ul.nice-menu-left li li.over {
  background: #ccc url(arrow-left.png) left center no-repeat;
}

ul.nice-menu-left a, ul.nice-menu-left ul a {
  padding-left: 14px;
}

/******************************
 HORIZONTAL (down) menus
******************************/

ul.nice-menu-down {
  float: left;
  border: 0;
}

ul.nice-menu-down li {
  border-top: 1px solid #ccc;
}

ul.nice-menu-down li li {
  border-top: 0;
}

ul.nice-menu-down ul {
  left: 0;
}

ul.nice-menu-down ul li {
  clear: both;
}

ul.nice-menu-down li ul li ul,
/* Repeat for Garland header. */
#header-region ul.nice-menu-down li ul li ul {
  left: 12.5em;
  top: -1px;
}

ul.nice-menu-down .menuparent a {
  padding-right: 15px;
}

ul.nice-menu-down li.menuparent,
/* Repeat for Garland header. */
#header-region ul.nice-menu-down li.menuparent {
  background: #eee url(arrow-down.png) right center no-repeat;
}

ul.nice-menu-down li.menuparent:hover,
ul.nice-menu-down li.over,
/* Repeat for Garland header. */
#header-region ul.nice-menu-down li.menuparent:hover,
#header-region ul.nice-menu-down li.over {
  background: #ccc url(arrow-down.png) right center no-repeat;
}

ul.nice-menu-down li li.menuparent,
/* Repeat for Garland header. */
#header-region ul.nice-menu-down li li.menuparent {
  background: #eee url(arrow-right.png) right center no-repeat;
}

ul.nice-menu-down li li.menuparent:hover,
ul.nice-menu-down li li.over,
/* Repeat for Garland header. */
#header-region ul.nice-menu-down li li.menuparent:hover,
#header-region ul.nice-menu-down li li.over {
  background: #ccc url(arrow-right.png) right center no-repeat;
}
------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://www.psychologytoday.com/sites/all/modules/contrib/extlink/extlink.png
Content-Transfer-Encoding: Base64

iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAMAAAC67D+PAAAABGdBTUEAANbY1E9Y
MgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAJUExURZmZ
mczMzAAAANmeCzsAAAADdFJOU///ANfKDUEAAAAySURBVHjaTIxRDgAACEHp/oeO
tJYPe02gJEQiIvf5RgzK6B/jUHoE7dNwehP1JowtwAAXDABpSdB7KgAAAABJRU5E
rkJggg==

------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=extlink.css
Content-Type: text/css; charset=utf-8; name=extlink.css
Content-Location: http://www.psychologytoday.com/sites/all/modules/contrib/extlink/extlink.css?D
Content-Transfer-Encoding: 8bit

span.ext {
  background: url(extlink.png) right center no-repeat;
  padding-right: 12px;
  zoom: 1;
}
span.mailto {
  background: url(mailto.png) right center no-repeat;
  padding-right: 12px;
  zoom: 1;
}
------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=fieldgroup.css
Content-Type: text/css; charset=utf-8; name=fieldgroup.css
Content-Location: http://www.psychologytoday.com/sites/all/modules/contrib/cck/modules/fieldgroup/fieldgroup.css?D
Content-Transfer-Encoding: 8bit

/* $Id: fieldgroup.css,v 1.2.2.2 2009/03/14 18:55:20 yched Exp $ */

div.fieldgroup {
  margin:.5em 0 1em 0;
}
div.fieldgroup .content {
  padding-left:1em;/*LTR*/
}

------------ovrp3U8y8KC3rcvqsh3ZpB
Content-Disposition: inline; filename=print.css
Content-Type: text/css; charset=utf-8; name=print.css
Content-Location: http://www.psychologytoday.com/sites/all/modules/contrib/print/css/print.css?D
Content-Transfer-Encoding: 8bit

/* $Id: print.css,v 1.1.2.2 2008/08/21 22:03:40 jcnventura Exp $ */

body {
  margin: 1em;
  background-color: #fff;
  font-family: sans-serif;
}
th {
  text-align: left; /* LTR */
  color: #006;
  border-bottom: 1px solid #ccc;
}
tr.odd {
  background-color: #ddd;
}
tr.even {
  background-color: #fff;
}
td {
  padding: 5px;
}
#menu {
  visibility: hidden;
}
#main {
  margin: 1em;
}
a:link {color: #000;}
a:visited {color: #000;}
a:hover {color: #00f;}
a:link img, a:visited img {border: 0;}
.print-footnote {font-size: xx-small;}
img.print-logo {border: 0;}
.print-site_name {}
.print-breadcrumb {font-size: x-small;}
.print-title {}
.print-submitted {font-size: small;}
.print-created {font-size: small;}
.print-taxonomy {
  text-align: right;
}
.print-taxonomy li {display: inline;}
.print-content {}
.print-hr {
  border: 0;
  height: 1px;
  width: 100%;
  color: #9E9E9E;
  background-color: #9E9E9E;
}
.print-message {
  border: medium dotted blue;
  padding: 1em;
}
.print-source_url {font-size: small;}
.print-links {font-size: small;}
.print-footer {text-align: center;}

------------ovrp3U8y8KC3rcvqsh3ZpB--

