123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" lang="ro" xml:lang="ro">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Program de indexare a paginilor de Internet | Fii liber</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <link rel="shortcut icon" href="/themes/waffles/favicon.ico" type="image/x-icon" />
- <link type="text/css" rel="stylesheet" media="all" href="/modules/aggregator/aggregator.css?5" />
- <link type="text/css" rel="stylesheet" media="all" href="/modules/cck/theme/content-module.css?5" />
- <link type="text/css" rel="stylesheet" media="all" href="/modules/ctools/css/ctools.css?5" />
- <link type="text/css" rel="stylesheet" media="all" href="/modules/fckeditor/fckeditor.css?5" />
- <link type="text/css" rel="stylesheet" media="all" href="/modules/filefield/filefield.css?5" />
- <link type="text/css" rel="stylesheet" media="all" href="/modules/lightbox2/css/lightbox.css?5" />
- <link type="text/css" rel="stylesheet" media="all" href="/modules/node/node.css?5" />
- <link type="text/css" rel="stylesheet" media="all" href="/modules/panels/css/panels.css?5" />
- <link type="text/css" rel="stylesheet" media="all" href="/modules/system/defaults.css?5" />
- <link type="text/css" rel="stylesheet" media="all" href="/modules/system/system.css?5" />
- <link type="text/css" rel="stylesheet" media="all" href="/modules/system/system-menus.css?5" />
- <link type="text/css" rel="stylesheet" media="all" href="/modules/user/user.css?5" />
- <link type="text/css" rel="stylesheet" media="all" href="/modules/cck/modules/fieldgroup/fieldgroup.css?5" />
- <link type="text/css" rel="stylesheet" media="all" href="/modules/views/css/views.css?5" />
- <link type="text/css" rel="stylesheet" media="all" href="/modules/taxonomy_image/taxonomy_image.css?5" />
- <link type="text/css" rel="stylesheet" media="all" href="/modules/comment/comment.css?5" />
- <link type="text/css" rel="stylesheet" media="all" href="/modules/custom_search/custom_search.css?5" />
- <link type="text/css" rel="stylesheet" media="all" href="/themes/waffles/style.css?5" />
- <link type="text/css" rel="stylesheet" media="all" href="/themes/waffles/icons.css?5" />
- <!--[if IE 7]>
- <link rel="stylesheet" href="/themes/waffles/ie7-fixes.css" type="text/css">
- <![endif]-->
- <!--[if lte IE 6]>
- <link rel="stylesheet" href="/themes/waffles/ie6-fixes.css" type="text/css">
- <![endif]-->
- <script type="text/javascript" src="/misc/jquery.js?5"></script>
- <script type="text/javascript" src="/misc/drupal.js?5"></script>
- <script type="text/javascript" src="/sites/default/files/languages/ro_044500f44160aec6544eeb8e5623454e.js?5"></script>
- <script type="text/javascript" src="/modules/lightbox2/js/lightbox.js?5"></script>
- <script type="text/javascript" src="/modules/panels/js/panels.js?5"></script>
- <script type="text/javascript" src="/modules/custom_search/custom_search.js?5"></script>
- <script type="text/javascript" src="/themes/waffles/script.js?5"></script>
- <script type="text/javascript">
- <!--//--><![CDATA[//><!--
- jQuery.extend(Drupal.settings, { "basePath": "/", "CTools": { "pageId": "page-0e5fa5b25dc0399a2fc22b55934e0153" }, "lightbox2": { "rtl": "0", "file_path": "/(\\w\\w/)sites/default/files", "default_image": "/modules/lightbox2/images/brokenimage.jpg", "border_size": 10, "font_color": "000", "box_color": "fff", "top_position": "", "overlay_opacity": 0.8, "overlay_color": "000", "disable_close_click": true, "resize_sequence": 0, "resize_speed": 400, "fade_in_speed": 400, "slide_down_speed": 600, "use_alt_layout": false, "disable_resize": false, "disable_zoom": false, "force_show_nav": false, "loop_items": false, "node_link_text": "View Image Details", "node_link_target": false, "image_count": "Image !current of !total", "video_count": "Video !current of !total", "page_count": "Page !current of !total", "lite_press_x_close": "press \x3ca href=\"#\" onclick=\"hideLightbox(); return FALSE;\"\x3e\x3ckbd\x3ex\x3c/kbd\x3e\x3c/a\x3e to close", "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_lightbox_group_classes": "", "trigger_slideshow_classes": "", "trigger_lightframe_classes": "", "trigger_lightframe_group_classes": "", "custom_class_handler": 0, "custom_trigger_classes": "", "disable_for_gallery_lists": 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": false, "iframe_width": 600, "iframe_height": 400, "iframe_border": 1, "enable_video": false } });
- //--><!]]>
- </script>
- </head>
- <body class="not-logged-in not-front full-node node-type-page layout-main-last">
- <div id="page" class="clearfix">
- <div id="header">
- <div id="header-wrapper" class="clearfix">
- <div id="account">
- <!-- <a href="http://fii-liber.ceata.org/user">Autentificare</a> -->
- </div>
- <div id="search-box">
- <form action="/Program-de-indexare-a-paginilor-de-Internet" accept-charset="UTF-8" method="post" id="search-theme-form" class="search-form">
- <div><div id="search" class="container-inline">
- <div class="form-item" id="edit-search-theme-form-1-wrapper">
- <input type="text" maxlength="128" name="search_theme_form" id="edit-search-theme-form-1" size="15" value="caută" title="Introduceţi termenii doriţi pentru căutare." class="form-text custom-search-default-value custom-search-box" />
- </div>
- <input type="submit" name="op" id="edit-submit" value="" style="display:none;" class="form-submit" />
- <input type="hidden" name="form_build_id" id="form-5bc4dbf6de92f836cc09ec69ed884f49" value="form-5bc4dbf6de92f836cc09ec69ed884f49" />
- <input type="hidden" name="form_id" id="edit-search-theme-form" value="search_theme_form" />
- <input type="hidden" name="default_text" id="edit-default-text" value="caută" class="default-text" />
- </div>
- </div></form>
- </div><!-- /search-box -->
-
- <div id="header-first">
-
- <div id="logo">
- <a href="/" title="Acasă"><img src="/sites/default/files/waffles_logo.png" alt="Acasă" /></a>
- </div>
- </div><!-- /header-first -->
-
- <div id="header-middle">
- </div><!-- /header-middle -->
-
- <div id="header-last">
- </div><!-- /header-last -->
-
- </div><!-- /header-wrapper -->
-
- <div id="header-bottom" class="clearfix">
- <div id="primary-menu">
- <ul class="menu"><li class="leaf first"><a href="/stiri" title="Ultimele știri">Știri</a></li>
- <li class="leaf"><a href="/tutoriale" title="Tutoriale">Tutoriale</a></li>
- <li class="leaf"><a href="/tehnologie" title="Tehnologie">Tehnologie</a></li>
- <li class="leaf"><a href="/arta" title="Artă">Artă</a></li>
- <li class="leaf last"><a href="http://fii-liber.ro/contact" title="Scrie-ne">Contact</a></li>
- </ul> </div><!-- /primary_menu -->
- </div><!-- /header-bottom -->
- </div><!-- /header -->
- <div id="preface">
- </div><!-- /preface -->
- <div id="main">
- <div id="main-wrapper" class="clearfix">
-
-
-
-
- <div id="content-wrapper">
-
-
-
-
- <div id="content">
-
-
- <div id="content-inner">
- <h1 class="title">Program de indexare a paginilor de Internet</h1>
- <div id="content-content">
- <!-- start node.tpl.php -->
- <div id="node-20" class="node odd full-node node-type-page">
-
-
- <div class="meta">
- <span class="submitted">Posted Mar, 05/11/2010 - 00:37 by Laurențiu Dascălu</span>
- </div>
- <div class="content">
- <div class="taxonomy-images"></div><p>Un program de indexare (web crawler/web spider) este un program sau un script automatizat care folosește o structură hyperlink a web-ului pentru a indexa paginile și conținutul într-o manieră metodică. Ne doream să scriem o astfel de aplicație de la 0 pentru a învăța lucruri noi.</p>
- <p>Dacă nu ați auzit de <a href="http://en.wikipedia.org/wiki/Java_%28programming_language%29">Java</a>, e bine de știut că este un limbaj de programare foarte popular. Specificațiile limbajului sunt libere și le puteți găsi în cartea <strong>The Java Language Specification, Third Edition</strong>. Am menționat acest aspect pentru că este important de înțeles că are cel puțin două implementări: una liberă (<a href="http://openjdk.java.net/">openjdk</a>) și una proprietară. Pentru dezvoltare și testare noi am folosit <strong>openjdk</strong>.</p>
- <p>Voiam să scriem un program foarte simplu care scoate poze de profil ale utilizatorilor <strong>unei rețele sociale</strong>, pornind de la un utilizator inițial, "sămânță" (seed). În pseudocod algoritmul arată în felul următor:<br />
- <code><br />
- Pune în coadă <em>seed user</em><br />
- while (Nu am ajuns la depășit limita de poze salvate și coada este nevidă)<br />
- {<br />
- Extrage din coadă un utilizator<br />
- Salvează poza de profil<br />
- Află lista de prieteni ai acestui utilizator, printr-o cerere de tip REST<br />
- foreach (prieten în lista de prieteni)<br />
- Pune în coadă <em>prieten</em>, dacă nu i-am salvat deja poza<br />
- }<br />
- </code></p>
- <p><strong>De ce am ales Java?</strong><br />
- Pentru că putem implementa foarte rapid algoritmul de mai sus; suportul pentru comunicarea pe rețea cu serverul, prin <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST</a> este nativă (inclusă în limbaj) și există biblioteci pentru parsarea XML-ului primit de la server. Astfel codul rezultat, <strong>gheare</strong>, nu măsoară mai mult de 150 de linii.</p>
- <p>Java este o platformă și codul Java este portabil 100%, inclusiv pe telefoane mobile. După părerea mea, numeroasele biblioteci libere sunt principalul motiv pentru care Java este atât de popular. O listă sumară:</p>
- <ul>
- <li><a href="http://dev.mysql.com/usingmysql/java/">MySQL</a> - baze de date</li>
- <li><a href="http://www.junit.org/">JUnit</a>, <a href="http://logging.apache.org/log4j/">log4j</a> - testarea și urmărirea evoluției codului</li>
- <li><a href="http://hadoop.apache.org/">Hadoop</a>, <a href="http://hadoop.apache.org/hbase/">HBase</a>, <a href="http://www.jboss.org/">JBoss</a>, <a href="http://www.springsource.org/">Spring</a> - programare distribuită</li>
- <li><a href="http://eclipse.org/">Eclipse</a>, <a href="http://netbeans.org/">Netbeans</a> - mediu de dezvoltare integrat; comportamentul IDE-ului se poate defini prin extensii (plugin-uri)</li>
- <li>Swing, <a href="http://www.wingsframework.org/cms/">wingS</a> - programare grafică</li>
- <li>și multe alte <strong>biblioteci libere</strong></li>
- </ul>
- <p><strong>Ce probleme am avut</strong><br />
- Java se ocupă de managementul memoriei, printr-un <a href="http://en.wikipedia.org/wiki/Garbage_collection_%28computer_science%29">mecanism de colectare a resurselor ocupate nefolosite (garbage collector)</a>, și aplicația crăpa dacă nu-i dădeam suficientă memorie: <code>java -Xmx2048M Gheare</code>.</p>
- <p><strong>Ce alternative libere există?</strong><br />
- Foarte multe :-). <a href="http://www.ruby-lang.org/en/">Ruby</a> și <a href="http://www.python.org/">Python</a> sunt doar câteva din numeroasele limbaje în care putem fi productivi.</p>
- <p><strong>Ce alternative proprietare există?</strong><br />
- În mod cert, C# cu .NET este <em>cea mai proprietară</em> alternativă. Chiar nu vreau să folosesc o interfață de programare despre care nu pot afla cum este implementată. E ca și când ai folosi o mașină și nu poți umbla sub capota ei.</p>
- <p><strong>Rezultat</strong><br />
- <img src="http://ceata.org/atasamente/3/gheare.jpg" alt="Gheare în acțiune" /></p>
- <p><strong>Sfârșit</strong><br />
- <a href="http://ceata.org">Ceata</a> organizează periodic <a href="http://ceata.org/proiecte/strajer/wiki/Ateliere_de_programare">ateliere de programare</a> pe diverse tehnologii. Scopul acestor <a href="http://en.wikipedia.org/wiki/Hackathon">hacatoane</a> este familiarizarea cu ultimele tehnologii și îmbunătățirea modului în care lucrăm în echipă. În acest articol am descris ce-am reușit să creăm în primul atelier, folosind Java și bibliotecile libere care extind acest limbaj.</p>
- <p>Cam atât despre Java, dacă vreți să aflați mai multe intrați pe pagina atelierelor de programare. Așteptăm comentariile și sugestiile tale, precum și idei pe care să le punem în practică la următorul atelier.</p>
- </div>
-
- <div class="links">
- <ul class="links inline"><li class="comment_add first last"><span class="comment-node-item"><a href="/comment/reply/20#comment-form" title="Împărtăşeşte opiniile tale legate de acest articol.">Adaugă un comentariu nou</a></span></li>
- </ul> </div>
-
- </div>
- <!-- /#node-20 -->
- </div>
- </div><!-- /content-inner -->
- </div><!-- /content -->
- </div><!-- /content-wrapper -->
-
- <div id="sidebar-last">
- <!-- start block.tpl.php -->
- <div class="block-wrapper odd">
- <!-- see preprocess_block() -->
- <div class="rounded-block">
- <div class="rounded-block-top-left"></div>
- <div class="rounded-block-top-right"></div>
- <div class="rounded-outside">
- <div class="rounded-inside">
- <p class="rounded-topspace"></p>
-
- <div id="block-user-1" class="block block-user">
- <div class="block-icon pngfix"></div>
- <h2 class="title block-title pngfix">Navigator</h2>
- <div class="content">
- <ul class="menu"><li class="leaf first"><a href="/tracker">Articole recente</a></li>
- <li class="collapsed last"><a href="/aggregator">Feed aggregator</a></li>
- </ul> </div>
- </div>
-
- <p class="rounded-bottomspace"></p>
- </div><!-- /rounded-inside -->
- </div>
- <div class="rounded-block-bottom-left"></div>
- <div class="rounded-block-bottom-right"></div>
- </div><!-- /rounded-block -->
-
- </div>
- <!-- /end block.tpl.php -->
- <!-- start block.tpl.php -->
- <div class="block-wrapper even">
- <!-- see preprocess_block() -->
- <div class="rounded-block">
- <div class="rounded-block-top-left"></div>
- <div class="rounded-block-top-right"></div>
- <div class="rounded-outside">
- <div class="rounded-inside">
- <p class="rounded-topspace"></p>
-
- <div id="block-block-1" class="block block-block">
- <div class="block-icon pngfix"></div>
- <h2 class="title block-title pngfix">Despre</h2>
- <div class="content">
- <p align="justify"><a href="http://fii-liber.ro">Fii liber</a> este o primă campanie de informare organizată de <a href="http://ceata.org">Ceata</a>. Prin acest proiect ne propunem să aducem la cunoștința românilor drepturile și posibilitățile oferite de artele și tehnologiile libere.</p>
- <p align="justify"><a href="http://ceata.org/"> <img src="http://ceata.org/atasamente/descarca/214/pecetea-cetei-80.png" alt="Ceata" align="bottom" /></a> de voinici este o organizație formată din entuziaști care cred într-o relație amicală și de colaborare între creatorii de arte și tehnologii, și beneficiarii lor.</p>
- </div>
- </div>
-
- <p class="rounded-bottomspace"></p>
- </div><!-- /rounded-inside -->
- </div>
- <div class="rounded-block-bottom-left"></div>
- <div class="rounded-block-bottom-right"></div>
- </div><!-- /rounded-block -->
-
- </div>
- <!-- /end block.tpl.php -->
- <!-- start block.tpl.php -->
- <div class="block-wrapper odd">
- <!-- see preprocess_block() -->
- <div class="rounded-block">
- <div class="rounded-block-top-left"></div>
- <div class="rounded-block-top-right"></div>
- <div class="rounded-outside">
- <div class="rounded-inside">
- <p class="rounded-topspace"></p>
-
- <div id="block-block-3" class="block block-block">
- <div class="block-icon pngfix"></div>
- <h2 class="title block-title pngfix">Află și contribuie</h2>
- <div class="content">
- <p align="justify">Vrei să contribui la <a href="http://fii-liber.ro">Fii liber</a>? Nimic mai simplu: trimite articolul tău despre artele și tehnologiile libere folosind formularul de <a href="http://fii-liber.ro/contact">Contact</a> și dacă articolul se potrivește proiectului nostru, te vom invita să te alături echipei noastre.</p>
- </div>
- </div>
-
- <p class="rounded-bottomspace"></p>
- </div><!-- /rounded-inside -->
- </div>
- <div class="rounded-block-bottom-left"></div>
- <div class="rounded-block-bottom-right"></div>
- </div><!-- /rounded-block -->
-
- </div>
- <!-- /end block.tpl.php -->
- <!-- start block.tpl.php -->
- <div class="block-wrapper even">
- <!-- see preprocess_block() -->
- <div class="rounded-block">
- <div class="rounded-block-top-left"></div>
- <div class="rounded-block-top-right"></div>
- <div class="rounded-outside">
- <div class="rounded-inside">
- <p class="rounded-topspace"></p>
-
- <div id="block-block-2" class="block block-block">
- <div class="block-icon pngfix"></div>
- <h2 class="title block-title pngfix">Fii liber pe identi.ca</h2>
- <div class="content">
- <p><a href="http://identi.ca/group/fiiliber"> <img src="http://ceata.org/atasamente/descarca/217/logo_identica.png" alt="identi.ca" /> </a> <a href="http://fii-liber.ro">Fii liber</a> și alături de noi, folosind serviciul liber <a href="http://identi.ca/group/fiiliber">identi.ca</a>.</p>
- </div>
- </div>
-
- <p class="rounded-bottomspace"></p>
- </div><!-- /rounded-inside -->
- </div>
- <div class="rounded-block-bottom-left"></div>
- <div class="rounded-block-bottom-right"></div>
- </div><!-- /rounded-block -->
-
- </div>
- <!-- /end block.tpl.php -->
- <!-- start block.tpl.php -->
- <div class="block-wrapper odd">
- <!-- see preprocess_block() -->
- <div class="rounded-block">
- <div class="rounded-block-top-left"></div>
- <div class="rounded-block-top-right"></div>
- <div class="rounded-outside">
- <div class="rounded-inside">
- <p class="rounded-topspace"></p>
-
- <div id="block-aggregator-feed-1" class="block block-aggregator">
- <div class="block-icon pngfix"></div>
- <h2 class="title block-title pngfix">Noutăți pe identi.ca</h2>
- <div class="content">
- <div class="item-list"><ul><li class="first"><a href="http://identi.ca/notice/35120379">fiiliber: Hecării GNU se întâlnesc în iulie pe !fiiliber http://ur1.ca/05up1</a>
- </li>
- <li><a href="http://identi.ca/notice/34634411">nicubunu: video pe web fara flash: http://www.fedoraproject.ro/video-pe-web-pentru-toata-lumea-youtube-si-webm-fedora !fiiliber</a>
- </li>
- <li><a href="http://identi.ca/notice/33921564">fiiliber: OpenOffice.org - Alternativă liberă la Microsoft Office pe !fiiliber http://ur1.ca/043dt</a>
- </li>
- <li><a href="http://identi.ca/notice/33424256">fiiliber: WebM - Un nou format video liber pe !fiiliber http://ur1.ca/034pg</a>
- </li>
- <li class="last"><a href="http://identi.ca/notice/33402812">alina: avem serverul pentru !fiiliber funcțional; mulțumim @codertux</a>
- </li>
- </ul></div><div class="more-link"><a href="/aggregator/sources/1" title="Afişează ştirile acestei resurse.">more</a></div> </div>
- </div>
-
- <p class="rounded-bottomspace"></p>
- </div><!-- /rounded-inside -->
- </div>
- <div class="rounded-block-bottom-left"></div>
- <div class="rounded-block-bottom-right"></div>
- </div><!-- /rounded-block -->
-
- </div>
- <!-- /end block.tpl.php -->
- <!-- start block.tpl.php -->
- <div class="block-wrapper even">
- <!-- see preprocess_block() -->
- <div class="rounded-block">
- <div class="rounded-block-top-left"></div>
- <div class="rounded-block-top-right"></div>
- <div class="rounded-outside">
- <div class="rounded-inside">
- <p class="rounded-topspace"></p>
-
- <div id="block-block-5" class="block block-block">
- <div class="block-icon pngfix"></div>
- <h2 class="title block-title pngfix">Fii liber în rețeaua cuZmeură</h2>
- <div class="content">
- <script type="text/javascript" src="http://cuzmeura.org/serve/">
- //<![CDATA[
- (function(id) {
- document.write('<script type="text/javascript" src="' +
- 'http://cuzmeura.org/serve/' + id + '">');
- })(fii-liber);
- //]]>
- </script></script> </div>
- </div>
-
- <p class="rounded-bottomspace"></p>
- </div><!-- /rounded-inside -->
- </div>
- <div class="rounded-block-bottom-left"></div>
- <div class="rounded-block-bottom-right"></div>
- </div><!-- /rounded-block -->
-
- </div>
- <!-- /end block.tpl.php -->
- </div><!-- /sidebar_last -->
-
-
- <div id="footer" class="clearfix">
- <!-- start block.tpl.php -->
- <div class="block-wrapper odd">
-
- <div id="block-block-4" class="block block-block">
- <div class="content">
- <p>Toate materialele prezentate pe acest site sunt licențiate liber sub <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA 3.0</a> și <a href="http://www.gnu.org/copyleft/fdl.html">GNU FDL</a>.</p>
- </div>
- </div>
-
-
- </div>
- <!-- /end block.tpl.php -->
- </div><!-- /footer -->
-
- </div><!-- /main-wrapper -->
- </div><!-- /main -->
- </div><!-- /page -->
- <div id="legal-notice">Powered by <strong>Drupal</strong>, an open source content management system. <a href="http://www.iearth.ru">iEarth</a></div><!-- Piwik -->
- <script type="text/javascript">
- var pkBaseURL = (("https:" == document.location.protocol) ? "https://analiza.ceata.org/" : "http://analiza.ceata.org/");
- document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
- </script><script type="text/javascript">
- try {
- var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 3);
- piwikTracker.trackPageView();
- piwikTracker.enableLinkTracking();
- } catch( err ) {}
- </script><noscript><p><img src="http://analiza.ceata.org/piwik.php?idsite=3" style="border:0" alt=""/></p></noscript>
- <!-- End Piwik Tag -->
- </body>
- </html>
|