<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Verdana;
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
{font-family:"Malgun Gothic";
panose-1:2 11 5 3 2 0 0 2 0 4;}
@font-face
{font-family:"\@Malgun Gothic";}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
span.EmailStyle18
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#1F497D">I think you are onto something with the system time being slewed backwards.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#1F497D">Logs showed this happened at the same time things went down<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#1F497D">systemd-timesyncd[684]: Synchronized to time server …..<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#1F497D">I’m looking at the coredump from my own box (same executable, just different box).<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#1F497D">Here is the output from the coredump you asked for.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#1F497D">If it needs to be on the customer box, let me know. Pretty sure I can have someone with permissions access the box and do the same work I did.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#1F497D">(gdb) frame 6<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#1F497D">#6 0x00005588eef3a392 in hook_event_cb (chan=<optimized out>, frame=<optimized out>, event=<optimized out>, data=0x7f017411f4e0) at abstract_jb.c:1127<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#1F497D">1127 abstract_jb.c: No such file or directory.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#1F497D">(gdb) p now<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#1F497D">$1 = 18446744073709550143<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#1F497D">(gdb) p now_tv<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#1F497D">$2 = <optimized out><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#1F497D">(gdb) p *framedata<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#1F497D">$3 = {jb_impl = 0x5588ef40b3e0 <avail_impl>, jb_conf = {flags = 0, max_size = 200, resync_threshold = 1000, impl = "fixed\000\000\000</span><span style="font-size:9.0pt;font-family:"Malgun Gothic",sans-serif;color:#1F497D">䚗</span><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#1F497D">@",
target_extra = 40}, start_tv = {tv_sec = 1623549920, tv_usec = 123464}, last_format = 0x0,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#1F497D"> timer = 0x7f0174150fc0, timer_interval = 20, timer_fd = 379, first = 0, audio_stream_id = -1, audio_stream_sync = {timestamp = 0, ntp = {tv_sec = 0, tv_usec
= 0}}, video_stream_id = -1, video_stream_sync = {timestamp = 0, ntp = {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif;color:#1F497D"> tv_sec = 0, tv_usec = 0}}, early_frames = {first = 0x0, last = 0x0}, early_frame_count = 0, last_audio_ntp_timestamp = {tv_sec = 0, tv_usec = 0}, audio_flowing
= 0, jb_obj = 0x7f01741b1990}<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Dan<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> asterisk-dev <asterisk-dev-bounces@lists.digium.com>
<b>On Behalf Of </b>George Joseph<br>
<b>Sent:</b> Monday, June 14, 2021 1:58 PM<br>
<b>To:</b> Asterisk Developers Mailing List <asterisk-dev@lists.digium.com><br>
<b>Subject:</b> Re: [asterisk-dev] Asterisk crash<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">That's pretty weird. The ASSERT in frame 4 makes sure that the time difference between the frame's timestamp and the current time is positive so a negative value will cause the assert. Actually, I think there's a bug there. Most asserts
in Asterisk are enabled only when it's built with --enable-dev-mode. This assert seems to trigger even without --enable-dev-mode.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Anyway, if you still have the actual coredump, it'd be interesting to do the following in gdb...<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">gdb> frame 6<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">gdb> p now<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">gdb> p now_tv<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">gdb> p *framedata<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I'm wondering if the system time is being slewed backwards by ntpd, chronyd, systemd-timesyncd, etc.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Mon, Jun 14, 2021 at 10:49 AM Dan Cropp <<a href="mailto:dan@amtelco.com">dan@amtelco.com</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">We have a customer with asterisk 16.17.0 installed. Every once in a while, we have been seeing a crash. We have upgraded the version a couple times, but this random crashing issue
has been going on for some time.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Over the weekend, it happened again. This time, I have a .crash file from it.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Put it through apport-unpack and think I have a good CoreDump from it.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Running asterisk 16.17.0 here is what the gdb backtrace is showing.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">Program terminated with signal SIGABRT, Aborted.</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">[Current thread is 1 (Thread 0x7f014097d700 (LWP 20262))]</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">(gdb) bt</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#1 0x00007f027877a921 in __GI_abort () at abort.c:79</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#2 0x00007f027876a48a in __assert_fail_base (fmt=0x7f02788f1750 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
assertion=assertion@entry=0x5588ef1864a9 "now >= 0",</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black"> file=file@entry=0x5588ef18645a "fixedjitterbuf.c", line=line@entry=293, function=function@entry=0x5588ef1864f8
<__PRETTY_FUNCTION__.9166> "fixed_jb_get")</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black"> at assert.c:92</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#3 0x00007f027876a502 in __GI___assert_fail (assertion=assertion@entry=0x5588ef1864a9 "now >= 0", file=file@entry=0x5588ef18645a
"fixedjitterbuf.c",</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black"> line=line@entry=293, function=function@entry=0x5588ef1864f8 <__PRETTY_FUNCTION__.9166> "fixed_jb_get")
at assert.c:101</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#4 0x00005588eeffe999 in fixed_jb_get (jb=<optimized out>, frame=frame@entry=0x7f01409785c0, now=<optimized
out>, interpl=<optimized out>) at fixedjitterbuf.c:293</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#5 0x00005588eef39ee2 in jb_get_fixed (jb=<optimized out>, fout=0x7f0140978628, now=<optimized out>, interpl=<optimized
out>) at abstract_jb.c:675</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#6 0x00005588eef3a392 in hook_event_cb (chan=<optimized out>, frame=<optimized out>, event=<optimized out>,
data=0x7f017411f4e0) at abstract_jb.c:1127</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#7 0x00005588ef008935 in framehook_list_push_event (framehooks=0x7f01741bca40, frame=frame@entry=0x5588ef416aa0
<ast_null_frame>,</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black"> event=event@entry=AST_FRAMEHOOK_EVENT_READ) at framehook.c:116</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#8 0x00005588ef009177 in ast_framehook_list_read_event (framehooks=<optimized out>, frame=frame@entry=0x5588ef416aa0
<ast_null_frame>) at framehook.c:320</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#9 0x00005588eefbb1b1 in __ast_read (chan=chan@entry=0x7f016c1abf30, dropaudio=dropaudio@entry=0, dropnondefault=dropnondefault@entry=1)
at channel.c:3779</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#10 0x00005588eefbd40c in ast_read (chan=chan@entry=0x7f016c1abf30) at channel.c:4285</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#11 0x00007f01cbf77b9c in async_agi_read_frame (chan=0x7f016c1abf30) at res_agi.c:1763</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#12 launch_asyncagi (efd=0x0, argv=0x7f0140978ae8, argc=<optimized out>, chan=0x7f016c1abf30) at res_agi.c:1960</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#13 launch_script (opid=<synthetic pointer>, efd=0x0, fds=0x7f0140978a30, argv=0x7f0140978ae8, argc=<optimized
out>, script=<optimized out>, chan=0x7f016c1abf30)</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black"> at res_agi.c:2213</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#14 agi_exec_full (chan=0x7f016c1abf30, data=<optimized out>, enhanced=<optimized out>, dead=0) at res_agi.c:4521</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#15 0x00005588ef04bf92 in pbx_exec (c=c@entry=0x7f016c1abf30, app=app@entry=0x5588efbed4b0, data=data@entry=0x7f014097ac00
"agi:async") at pbx_app.c:492</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#16 0x00005588ef03d062 in pbx_extension_helper (c=c@entry=0x7f016c1abf30, context=0x7f016c1ac8f0 "IS", exten=exten@entry=0x7f016c1ac940
"1234",</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black"> priority=priority@entry=15, label=label@entry=0x0, callerid=callerid@entry=0x0, action=E_SPAWN, found=0x7f014097ccac,
combined_find_spawn=1, con=0x0) at pbx.c:2947</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#17 0x00005588ef041143 in ast_spawn_extension (combined_find_spawn=1, found=0x7f014097ccac, callerid=0x0,
priority=15, exten=0x7f016c1ac940 "1234",</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black"> context=<optimized out>, c=0x7f016c1abf30) at pbx.c:4206</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#18 __ast_pbx_run (c=c@entry=0x7f016c1abf30, args=args@entry=0x0) at pbx.c:4380</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#19 0x00005588ef04282b in pbx_thread (data=data@entry=0x7f016c1abf30) at pbx.c:4704</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#20 0x00005588ef0cf41f in dummy_start (data=<optimized out>) at utils.c:1299</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#21 0x00007f02793216db in start_thread (arg=0x7f014097d700) at pthread_create.c:463</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">#22 0x00007f027885b71f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Any suggestions of what I could try?<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Dan<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal">-- <br>
_____________________________________________________________________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" target="_blank">
http://www.api-digital.com</a> --<br>
<br>
asterisk-dev mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
<a href="http://lists.digium.com/mailman/listinfo/asterisk-dev" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-dev</a><o:p></o:p></p>
</blockquote>
</div>
</div>
</div>
</body>
</html>