<div dir="ltr">Hi Daniel & K-Team,<br><div class="gmail_quote"><div dir="ltr"><div><div><div><div><div><div><br></div>I setup kamailio 5.0.5 from git on vanilla <span style="font-family:monospace,monospace">Debian GNU/Linux 8.3 (jessie)</span><br><br><span style="font-family:monospace,monospace"># kamailio -v<br>version: kamailio 5.0.5 (x86_64/linux)<br>flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES<br>ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB<br>poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.<br>id: unknown<br>compiled on 16:53:42 Jan 5 2018 with gcc 4.9.2</span><br><br></div><br></div>Installed mongodb from debian repo<br></div><div><span style="font-family:monospace,monospace"><br></span></div><div><span style="font-family:monospace,monospace"># dpkg -l | grep mongodb<br>ii mongodb 1:3.2.17-1 amd64 object/document-oriented database (metapackage)<br>ii mongodb-clients 1:3.2.17-1 amd64 object/document-oriented database (client apps)<br>ii mongodb-dev 1:2.4.10-5+deb8u1 amd64 object/document-oriented database (development)<br>ii mongodb-server 1:3.2.17-1 amd64 object/document-oriented database (server package)</span><br><br></div><div><span style="font-family:monospace,monospace"># mongo --version<br>MongoDB shell version: 3.2.17</span><br><br></div>Will try sometime with mongodb latest version 3.6 as well as I will get time.</div><div><br></div><div>Installed libmongoc driver through sid repo "<span style="font-family:monospace,monospace">deb <a href="http://ftp.de.debian.org/debian" target="_blank">http://ftp.de.debian.org/debia<wbr>n</a> sid main</span>"<br><br># dpkg -l | grep libmongoc<br>ii libmongoc-1.0-0 <wbr> 1.9.0+dfsg-1 <wbr> amd64 MongoDB C client library - runtime files<br>ii libmongoc-dev <wbr> 1.9.0+dfsg-1 amd64 MongoDB C client library - dev files<br><br></div>Kamailio compiled with <br><br><span style="font-family:monospace,monospace"># make cfg include_modules="utils app_lua json evapi db_mongodb ndb_mongodb"</span><div><br></div>Created version collection in mongodb<br><br></div><span style="font-family:monospace,monospace"># cat /usr/local/src/kamailio/utils/<wbr>kamctl/mongodb/kamailio/versio<wbr>n-create.mongo | mongo</span><br><div><div><div><div><br></div><div>Setup kamailio.cfg as per <a href="https://telerain.com/kamailio/" target="_blank">https://telerain.com/kamailio</a><br></div><div><br></div><div>This time kamailio started successfully without any crash :)</div><div><br></div><div>---------</div><div><br></div><div>Now its time to use mongodb for kamailio backend database.</div><div><br></div><div>Used default kamailio configuration and defined mongodb connection as <br></div><div><pre class="m_383519625415684034gmail-m_8783308055966174220gmail-code">#!define DBURL "mongodb://localhost/kamailio"</pre> </div><div>I enabled WITH_USRLOCDB [<span style="font-family:monospace,monospace">#!define WITH_USRLOCDB</span>], kamailio refuse to start with errors.</div><div><br></div><div><span style="font-family:monospace,monospace">Jan 5 19:16:05 kmaongo kamailio: CRITICAL: <core> [core/cfg.y:3411]: yyerror_at(): parse error in config file /usr/local/etc/kamailio/kamail<wbr>io.cfg, line 365, column 30-34: syntax error<br>Jan 5 19:16:05 kmaongo kamailio: CRITICAL: <core> [core/cfg.y:3411]: yyerror_at(): parse error in config file /usr/local/etc/kamailio/kamail<wbr>io.cfg, line 365, column 30-34: Invalid arguments<br>Jan 5 19:16:05 kmaongo kamailio: CRITICAL: <core> [core/cfg.y:3414]: yyerror_at(): parse error in config file /usr/local/etc/kamailio/kamail<wbr>io.cfg, line 365, column 35:<br>Jan 5 19:16:05 kmaongo kamailio[28067]: ERROR: bad config file (3 errors)<br>Jan 5 19:16:05 kmaongo kamailio: WARNING: <core> [core/ppcfg.c:221]: pp_ifdef_level_check(): different number of preprocessor directives: N(#!IF[N]DEF) - N(#!ENDIF) = 1<br>Jan 5 19:16:05 kmaongo kamailio: INFO: <core> [core/sctp_core.c:53]: sctp_core_destroy(): SCTP API not initialized<br>Jan 5 19:16:05 kmaongo systemd[1]: kamailio.service: control process exited, code=exited status=255<br>[FAILJan 5 19:16:05 kmaongo systemd[1]: Failed to start Kamailio (OpenSER) - the Open Source SIP Server.<br>Jan 5 19:16:05 kmaongo systemd[1]: Unit kamailio.service entered failed state.<br> failed!<br></span><br></div><div><br></div><div>Default userloc params in kamailio.cfg states line 365 as</div><div><br></div><div> <span style="font-family:monospace,monospace"># ----- usrloc params -----<br>/* enable DB persistency for location entries */<br>#!ifdef WITH_USRLOCDB<br><span style="color:rgb(204,0,0)">modparam("usrloc", "db_url", DBURL) [ << line 365 ]</span><br>modparam("usrloc", "db_mode", 2)<br>modparam("usrloc", "use_domain", MULTIDOMAIN)<br>modparam("usrloc", "db_insert_null", 1)<br>#!endif<br></span></div><div><br></div><div>I created location collection as well but it didn't help.</div><div><br></div><div>I experienced same error when I enable WITH_ACCDB or any other section that use <span style="font-family:monospace,monospace"><span style="color:rgb(204,0,0)">DBURL</span></span>. <br></div><ol><li>Whats the syntax error here?</li><li>Is there any special configuration required to work with mongodb?</li><li>How can we create collections using 'kamdbctl create' ? </li></ol><div>What else should I share for resolving the issue?<br></div><div><br clear="all"><div class="gmail_extra"><div><div class="m_383519625415684034gmail-m_8783308055966174220gmail_signature"><div><font size="2"><span style="font-family:verdana,sans-serif"><span style="color:rgb(39,78,19)">--<br>regards,</span></span></font></div><font size="2"><span style="font-family:verdana,sans-serif"><span style="color:rgb(39,78,19)"><br>abdul basit<br></span></span></font></div></div>
</div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 4 January 2018 at 12:50, Abdul Basit <span dir="ltr"><<a href="mailto:basit.engg@gmail.com" target="_blank">basit.engg@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div>Hi Daniel,<br><br></div>Thank you for your reply.<br><br></div>I tested libmongoc with debian package available with repo. Then I moved to compile from source. result was same.<br><br></div>But i will try it again with fresh installation and will post here.<br><br clear="all"><div class="gmail_extra"><div><div class="m_383519625415684034gmail-m_8783308055966174220m_-8026566750758587175gmail_signature"><div><font size="2"><span style="font-family:verdana,sans-serif"><span style="color:rgb(39,78,19)">--<br>regards,</span></span></font></div><font size="2"><span style="font-family:verdana,sans-serif"><span style="color:rgb(39,78,19)"><br>abdul basit</span></span></font></div></div>
<br><div class="gmail_quote"><div><div class="m_383519625415684034gmail-m_8783308055966174220h5">On 2 January 2018 at 16:38, Daniel-Constantin Mierla <span dir="ltr"><<a href="mailto:miconda@gmail.com" target="_blank">miconda@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF"><div><div class="m_383519625415684034gmail-m_8783308055966174220h5">
<p>Hello,</p>
<p>the issue happens inside mongoc library. Have you tried with the
default one from Debian, without compiling it from sources?</p>
<p>Cheers,<br>
Daniel<br>
</p>
<br>
<div class="m_383519625415684034gmail-m_8783308055966174220m_-8026566750758587175m_-3339459784892189997moz-cite-prefix">On 01.01.18 16:51, Abdul Basit wrote:<br>
</div>
</div></div><blockquote type="cite"><div><div class="m_383519625415684034gmail-m_8783308055966174220h5">
<div dir="ltr">Hi,
<div class="gmail_extra"><br>
</div>
<div class="gmail_extra">My last email was help for admin
review.
<div class="gmail_quote"><br>
</div>
<div class="gmail_quote">Sharing logs through pastebin <a href="https://pastebin.com/6HhdYLJK" target="_blank">https://pastebin.com/6HhdYLJK</a><br>
</div>
<div class="gmail_quote"><br>
</div>
<div class="gmail_quote">Interesting part will start from line
983 where it start initializing <span class="m_383519625415684034gmail-m_8783308055966174220m_-8026566750758587175m_-3339459784892189997gmail-st0">ndb_mongodb</span>.<br>
</div>
<div class="gmail_quote"><br>
</div>
<div class="gmail_quote"><br>
</div>
<div class="gmail_quote"><br>
</div>
<div class="gmail_quote">On 1 January 2018 at 20:32, Abdul
Basit <span dir="ltr"><<a href="mailto:basit.engg@gmail.com" target="_blank">basit.engg@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<div>
<div>
<div>Hi,<br>
<br>
</div>
I enabled but kamailio didn't generate any dump file<br>
</div>
To enable code dump followed <a href="https://www.kamailio.org/dokuwiki/doku.php/troubleshooting:corefiles" target="_blank">https://www.kamailio.org/dokuw<wbr>iki/doku.php/troubleshooting:c<wbr>orefiles<br>
</a></div>
<div><br>
</div>
<div>I also <span style="font-family:monospace,monospace">un-commented
lines</span> in /etc/init.d/kamailio script <br>
</div>
<div><br>
</div>
<div><span style="font-family:monospace,monospace">if
test "$DUMP_CORE" = "yes" ; then<br>
# set proper ulimit<br>
ulimit -c unlimited<br>
<br>
# directory for the core dump files<br>
<span style="color:rgb(204,0,0)">
COREDIR=/tmp/corefiles<br>
[ -d $COREDIR ] || mkdir -p $COREDIR<br>
chmod 777 $COREDIR<br>
echo "$COREDIR/core.%e.sig%s.%p" >
/proc/sys/kernel/core_pattern</span><br>
fi<br>
</span><br>
</div>
<div><br>
</div>
<div>I think reason is that kamailio process didn't exit
after crash and keep on restarting. each time with new
PID. <br>
</div>
<div><br>
</div>
However, debug file is attached. I hope this will help.<br>
</div><div class="gmail_extra"><div>
<div class="m_383519625415684034gmail-m_8783308055966174220m_-8026566750758587175m_-3339459784892189997gmail-m_1939232583039204509gmail_signature">
<div><font size="2"><span style="font-family:verdana,sans-serif"><span style="color:rgb(39,78,19)">--<br>
regards,</span></span></font></div>
<font size="2"><span style="font-family:verdana,sans-serif"><span style="color:rgb(39,78,19)"><br>
abdul basit</span></span></font></div>
</div>
<div>
<div class="m_383519625415684034gmail-m_8783308055966174220m_-8026566750758587175m_-3339459784892189997gmail-h5">
<br>
<div class="gmail_quote">On 29 December 2017 at
20:11, M S <span dir="ltr"><<a href="mailto:shaheryarkh@gmail.com" target="_blank">shaheryarkh@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">Hi,
<div><br>
</div>
<div>Enable core dump and provide backtrace of
sigfault. See this for more info,</div>
<div><br>
</div>
<div><a href="https://sourceware.org/gdb/onlinedocs/gdb/Backtrace.html" target="_blank">https://sourceware.org/gdb/onl<wbr>inedocs/gdb/Backtrace.html</a><br>
</div>
<div><br>
</div>
<div>Thank you.</div>
<div><br>
</div>
<div></div></div><div class="gmail_extra"><div class="gmail_quote">
<div>
<div class="m_383519625415684034gmail-m_8783308055966174220m_-8026566750758587175m_-3339459784892189997gmail-m_1939232583039204509h5">On
Fri, Dec 29, 2017 at 12:25 PM, Abdul
Basit <span dir="ltr"><<a href="mailto:basit.engg@gmail.com" target="_blank">basit.engg@gmail.com</a>></span>
wrote:<br>
</div>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div class="m_383519625415684034gmail-m_8783308055966174220m_-8026566750758587175m_-3339459784892189997gmail-m_1939232583039204509h5">
<div dir="ltr">Adding further from <a href="https://stackoverflow.com/questions/2549214/interpreting-segfault-messages" target="_blank">https://stackoverflow.com/ques<wbr>tions/2549214/interpreting-seg<wbr>fault-messages</a><br>
<br>
error 6 means, fault is <br>
<pre class="m_383519625415684034gmail-m_8783308055966174220m_-8026566750758587175m_-3339459784892189997gmail-m_1939232583039204509m_8346878754048412129m_-2000123954322013224gmail-lang-cpp m_383519625415684034gmail-m_8783308055966174220m_-8026566750758587175m_-3339459784892189997gmail-m_1939232583039204509m_8346878754048412129m_-2000123954322013224gmail-prettyprint m_383519625415684034gmail-m_8783308055966174220m_-8026566750758587175m_-3339459784892189997gmail-m_1939232583039204509m_8346878754048412129m_-2000123954322013224gmail-prettyprinted"><code><span class="m_383519625415684034gmail-m_8783308055966174220m_-8026566750758587175m_-3339459784892189997gmail-m_1939232583039204509m_8346878754048412129m_-2000123954322013224gmail-com">* bit 2 == 1 means kernel, 1 means user-mode
* bit 4 == 1 means fault was an instruction fetch
</span></code></pre>
<div class="gmail_extra">That looks
like kamailio is trying to invoke
for db connection where libmongo-c
don't like to be. </div><div class="gmail_extra"><div>
<div class="m_383519625415684034gmail-m_8783308055966174220m_-8026566750758587175m_-3339459784892189997gmail-m_1939232583039204509m_8346878754048412129m_-2000123954322013224gmail_signature">
<div><font size="2"><span style="font-family:verdana,sans-serif"><span style="color:rgb(39,78,19)">--<br>
regards,</span></span></font></div>
<font size="2"><span style="font-family:verdana,sans-serif"><span style="color:rgb(39,78,19)"><br>
abdul basit</span></span></font></div>
</div>
<div>
<div class="m_383519625415684034gmail-m_8783308055966174220m_-8026566750758587175m_-3339459784892189997gmail-m_1939232583039204509m_8346878754048412129h5">
<br>
<div class="gmail_quote">On 29
December 2017 at 15:39,
Abdul Basit <span dir="ltr"><<a href="mailto:basit.engg@gmail.com" target="_blank">basit.engg@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<div>
<div>Hi,<br>
<br>
</div>
I am trying to setup
mongo db as database
engine for kamailio as
described at <a href="http://www.kamailio.org/wiki/tutorials/kamailio-and-mongodb" target="_blank"><br>
</a></div>
<div><a href="http://www.kamailio.org/wiki/tutorials/kamailio-and-mongodb" target="_blank">http://www.kamailio.org/wiki/t<wbr>utorials/kamailio-and-mongodb</a><br>
</div>
and<br>
<a href="https://telerain.com/kamailio/" target="_blank">https://telerain.com/kamailio</a><br>
<div><br>
<div>
<div>
<div>OS: Debian
GNU/Linux 8.10
(jessie)</div>
<div>MongoDB
server version:
3.4.10<br>
</div>
<div>mongo-c-driver-1.9.0.tar.gz
compiled with <br>
</div>
<div>./configure
--disable-static
--disable-silent-rules --enable-debug-symbols --enable-ssl=no
--enable-sasl=yes
--with-libbson=bundled --enable-optimizations
--disable-automatic-init-and-c<wbr>leanup<br>
</div>
<div><br>
</div>
<div>version:
kamailio 5.0.4
(x86_64/linux)<br>
flags: STATS:
Off, USE_TCP,
USE_TLS,
USE_SCTP,
TLS_HOOKS,
DISABLE_NAGLE,
USE_MCAST,
DNS_IP_HACK,
SHM_MEM,
SHM_MMAP,
PKG_MALLOC,
Q_MALLOC,
F_MALLOC,
TLSF_MALLOC,
DBG_SR_MEMORY,
USE_FUTEX,
FAST_LOCK-ADAPTIVE_WAIT,
USE_DNS_CACHE,
USE_DNS_FAILOVER,
USE_NAPTR,
USE_DST_BLACKLIST,
HAVE_RESOLV_RES<br>
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
MAX_URI_SIZE
1024, BUF_SIZE
65535, DEFAULT
PKG_SIZE 8MB<br>
poll method
support: poll,
epoll_lt,
epoll_et,
sigio_rt,
select.<br>
id: unknown<br>
compiled on
20:45:44 Dec 27
2017 with gcc
4.9.2<br>
</div>
<div><br>
</div>
<div>include_modules=
utils app_lua
db_postgres json
evapi db_mongodb
ndb_mongodb<br>
<br>
</div>
<div>Kamailio is
crashing with
segfault as soon
as it try to
load libmongo-c</div>
<div><br>
</div>
<span style="font-family:times new roman,serif">Dec
28 04:44:14
sipserver
systemd[1]:
Starting
Kamailio
(OpenSER) - the
Open Source SIP
Server...<br>
Dec 28 04:44:14
sipserver
kamailio: INFO:
<core>
[core/sctp_core.c:75]:
sctp_core_check_support(): SCTP API not enabled - if you want to use it,
load sctp module<br>
Dec 28 04:44:14
sipserver
kamailio: INFO:
<core>
[core/tcp_main.c:4671]:
init_tcp():
using epoll_lt
as the io watch
method (auto
detected)<br>
Dec 28 04:44:14
sipserver
kamailio[11685]:
Listening on<br>
Dec 28 04:44:14
sipserver
kamailio[11685]:
udp: <a href="http://127.0.0.1:5060" target="_blank">127.0.0.1:5060</a><br>
Dec 28 04:44:14
sipserver
kamailio[11685]:
udp: <a href="http://192.168.10.20:5060" target="_blank">192.168.10.20:5060</a><br>
Dec 28 04:44:14
sipserver
kamailio[11685]:
tcp: <a href="http://127.0.0.1:5060" target="_blank">127.0.0.1:5060</a><br>
Dec 28 04:44:14
sipserver
kamailio[11685]:
tcp: <a href="http://192.168.10.20:5060" target="_blank">192.168.10.20:5060</a><br>
Dec 28 04:44:14
sipserver
kamailio[11685]:
Aliases:<br>
Dec 28 04:44:14
sipserver
kamailio[11685]:
tcp:
localhost:5060<br>
Dec 28 04:44:14
sipserver
kamailio[11685]:
udp:
localhost:5060<br>
Dec 28 04:44:14
sipserver
/usr/local/sbin/kamailio[11687<wbr>]:
INFO: rr
[../outbound/api.h:52]:
ob_load_api():
unable to import
bind_ob - maybe
module is not
loaded<br>.....<br>
Dec 28 04:44:14
sipserver
/usr/local/sbin/kamailio[11687<wbr>]:
INFO:
<core>
[core/udp_server.c:203]:
probe_max_receive_buffer(): SO_RCVBUF is finally 425984<br>
Dec 28 04:44:14
sipserver
systemd[1]:
Started Kamailio
(OpenSER) - the
Open Source SIP
Server.<br>
<span style="color:rgb(204,0,0)">Dec
28 04:44:14
sipserver
kernel:
[53109.390171]
show_signal_msg: 20 callbacks suppressed<br>
Dec 28
04:44:14
sipserver
kernel:
[53109.390176]
kamailio[11696] segfault at 78 ip 00007f690c0e6e98 sp 00007ffcde1a4770
error 6 in
libmongoc-1.0.so.0.0.0[7f690c0<wbr>ca000+6e000]<br>
Dec 28
04:44:14
sipserver
kernel:
[53109.390753]
kamailio[11694] segfault at 78 ip 00007f690c0e6e98 sp 00007ffcde1a4770
error 6 in
libmongoc-1.0.so.0.0.0[7f690c0<wbr>ca000+6e000]<br>Dec 28
04:44:14
sipserver
kernel:
[53109.393147]
kamailio[11699] segfault at 38 ip 00007f690c0e6e98 sp 00007ffcde1a4770
error 6 in
libmongoc-1.0.so.0.0.0[7f690c0<wbr>ca000+6e000]</span><br>
Dec 28 04:44:14
sipserver
/usr/local/sbin/kamailio[11687<wbr>]:
ALERT:
<core>
[main.c:743]:
handle_sigs():
child process
11689 exited by
a signal 11<br>
Dec 28 04:44:14
sipserver
/usr/local/sbin/kamailio[11687<wbr>]:
ALERT:
<core>
[main.c:746]:
handle_sigs():
core was not
generated<br>
Dec 28 04:44:14
sipserver
/usr/local/sbin/kamailio[11687<wbr>]:
ALERT:
<core>
[main.c:743]:
handle_sigs():
child process
11688 exited by
a signal 11<br>.......<br>
Dec 28 04:44:14
sipserver
systemd[1]:
kamailio.service:
main process
exited,
code=exited,
status=1/FAILURE<br>
Dec 28 04:44:14
sipserver
systemd[1]: Unit
kamailio.service
entered failed
state.<br>
</span><br>
<div><br>
</div>
<div>As I tried
googling the
issue and found
few issues with
tls connection.
<br>
</div>
<div>I set in
default
kamailio.cfg but
still facing the
saem issue. <br>
</div>
<div><br>
</div>
<div><span style="font-family:monospace,monospace">enable_tls=no</span></div>
<div><span style="font-family:monospace,monospace">...<br>
</span></div>
<div><span style="font-family:monospace,monospace">loadmodule
"ndb_mongodb.so"<br>
</span></div>
<div><span style="font-family:monospace,monospace">modparam("ndb_mongodb",
"server",
"name=cgr91rc8;uri='mongodb://<wbr>localhost/kamailio'")<br>
</span><br>
</div>
<div>Its mongodb
default
installation and
its accessible
without any auth
yet.<br>
</div>
<div><br>
</div>
<div>Please
suggest the way
farward.</div>
<div><br>
</div>
<div>
<div>
<div class="m_383519625415684034gmail-m_8783308055966174220m_-8026566750758587175m_-3339459784892189997gmail-m_1939232583039204509m_8346878754048412129m_-2000123954322013224m_3704269269590502085gmail_signature">
<div><font size="2"><span style="font-family:verdana,sans-serif"><span style="color:rgb(39,78,19)">--<br>
regards,</span></span></font></div>
<font size="2"><span style="font-family:verdana,sans-serif"><span style="color:rgb(39,78,19)"><br>
abdul basit <br>
</span></span></font></div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div></div></div></div></div></div></div></blockquote></div></div></blockquote></div></div></div></div></blockquote></div></div></div></div></div></blockquote></div></blockquote></div></div></div></blockquote></div></div></div></div></div>