It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: https://jp99a.id/

  1.  
  2.  
  3. <!DOCTYPE html>
  4. <html ⚡ lang="id" itemscope="itemscope" itemtype="https://schema.org/WebPage">
  5. <head>
  6.    <meta charset="utf-8">
  7.    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
  8.    <title>JP99 : Situs Online Pelayanan Terbaik 24Jam Di Asia Daftar Sekarang Bonus besar</title>
  9.    <link rel="canonical" href="https://jp99a.id/" />
  10.    <link rel="shortcut icon" href="https://i.postimg.cc/TwGyLqVt/shoriconjp99.png" sizes="16x16">
  11.    <link href="https://jp99a.id/" rel="dns-prefetch">
  12.  <link rel="amphtml" href="https://pub-b14d4f4732974ea98b40527f77982d09.r2.dev/ampjpaidbaru.html" />
  13.    <meta name="description" content="JP99 merupakan link situs dengan pelayanan terbaik se asia yang memiliki fitur layanan 24 jam online untuk melayani anda dengan senang hati, berbagi jenis pilihan permainan dan bonus menarik yang responsif." />
  14.    <meta name="keywords" content="JP99, jp 99, login JP99, daftar JP99, JP99 resmi, situs JP99, link JP99, link alternatif JP99" />
  15.  
  16.    <meta name="google" content="notranslate">
  17.    <meta name="robots" content="index, follow" />
  18.    <meta name="rating" content="general" />
  19.    <meta name="geo.region" content="id_ID" />
  20.    <meta name="googlebot" content="index,follow">
  21.    <meta name="geo.country" content="id" />
  22.    <meta name="language" content="Id-ID" />
  23.    <meta name="distribution" content="global" />
  24.    <meta name="geo.placename" content="Indonesia" />
  25.    <meta name="author" content="JP99" />
  26.    <meta name="publisher" content="JP99" />
  27.    <meta property="og:type" content="website" />
  28.    <meta property="og:locale" content="id_ID" />
  29.    <meta property="og:locale:alternate" content="en_ID" />
  30.    <meta property="og:title" content="JP99 : Situs Online Pelayanan Terbaik 24Jam Di Asia Daftar Sekarang Bonus besar" />
  31.    <meta property="og:description" content="JP99 merupakan link situs dengan pelayanan terbaik se asia yang memiliki fitur layanan 24 jam online untuk melayani anda dengan senang hati, berbagi jenis pilihan permainan dan bonus menarik yang responsif." />
  32.    <meta property="og:url" content="https://jp99a.id/">
  33.    <meta property="og:site_name" content="JP99" />
  34.    <meta property="og:image" content="https://i.postimg.cc/gJC4C78g/3-3-11zon.png" />
  35.    <meta property="og:image:alt" content="JP99" />
  36.    <meta name="twitter:card" content="summary_large_image">
  37.    <meta name="twitter:site" content="@JP99">
  38.    <meta name="twitter:creator" content="@JP99">
  39.    <meta name="twitter:domain" content="https://jp99a.id/">
  40.    <meta name="twitter:title" content="JP99 : Situs Online Pelayanan Terbaik 24Jam Di Asia Daftar Sekarang Bonus besar" />
  41.    <meta name="twitter:description" content="JP99 merupakan link situs dengan pelayanan terbaik se asia yang memiliki fitur layanan 24 jam online untuk melayani anda dengan senang hati, berbagi jenis pilihan permainan dan bonus menarik yang responsif." />
  42.    <meta name="twitter:image" content="https://i.postimg.cc/gJC4C78g/3-3-11zon.png" />
  43.    <link rel="preload" as="script" href="https://cdn.ampproject.org/v0.js">
  44.    <style amp-boilerplate>
  45.        body {
  46.            -webkit-animation: -amp-start 8s steps(1, end) 0s 1 normal both;
  47.            -moz-animation: -amp-start 8s steps(1, end) 0s 1 normal both;
  48.            -ms-animation: -amp-start 8s steps(1, end) 0s 1 normal both;
  49.            animation: -amp-start 8s steps(1, end) 0s 1 normal both
  50.        }
  51.  
  52.        @-webkit-keyframes -amp-start {
  53.            from {
  54.                visibility: hidden
  55.            }
  56.  
  57.            to {
  58.                visibility: visible
  59.            }
  60.        }
  61.  
  62.        @-moz-keyframes -amp-start {
  63.            from {
  64.                visibility: hidden
  65.            }
  66.  
  67.            to {
  68.                visibility: visible
  69.            }
  70.        }
  71.  
  72.        @-ms-keyframes -amp-start {
  73.            from {
  74.                visibility: hidden
  75.            }
  76.  
  77.            to {
  78.                visibility: visible
  79.            }
  80.        }
  81.  
  82.        @-o-keyframes -amp-start {
  83.            from {
  84.                visibility: hidden
  85.            }
  86.  
  87.            to {
  88.                visibility: visible
  89.            }
  90.        }
  91.  
  92.        @keyframes -amp-start {
  93.            from {
  94.                visibility: hidden
  95.            }
  96.  
  97.            to {
  98.                visibility: visible
  99.            }
  100.        }
  101.    </style><noscript>
  102.        <style amp-boilerplate>
  103.            body {
  104.                -webkit-animation: none;
  105.                -moz-animation: none;
  106.                -ms-animation: none;
  107.                animation: none
  108.            }
  109.        </style>
  110.    </noscript>
  111.    <style amp-custom>
  112.        html {
  113.            font-family: sans-serif;
  114.            -webkit-text-size-adjust: 100%;
  115.            -ms-text-size-adjust: 100%
  116.        }
  117.  
  118.        a,
  119.        body,
  120.        center,
  121.        div,
  122.        em,
  123.        footer,
  124.        h1,
  125.        h2,
  126.        h3,
  127.        h4,
  128.        h5,
  129.        h6,
  130.        header,
  131.        html,
  132.        iframe,
  133.        img,
  134.        li,
  135.        menu,
  136.        nav,
  137.        ol,
  138.        p,
  139.        span,
  140.        table,
  141.        tbody,
  142.        td,
  143.        tfoot,
  144.        th,
  145.        thead,
  146.        tr,
  147.        ul {
  148.            margin: 0;
  149.            padding: 0;
  150.            border: 0;
  151.            font-size: 100%;
  152.            font: inherit;
  153.            vertical-align: baseline
  154.        }
  155.  
  156.        a,
  157.        a:active,
  158.        a:focus {
  159.            outline: 0;
  160.            text-decoration: none
  161.        }
  162.  
  163.        a {
  164.            color: #fff
  165.        }
  166.  
  167.        * {
  168.            padding: 0;
  169.            margin: 0;
  170.            -moz-box-sizing: border-box;
  171.            -webkit-box-sizing: border-box;
  172.            box-sizing: border-box
  173.        }
  174.  
  175.        h1,
  176.        h2,
  177.        h3,
  178.        h4,
  179.        h5,
  180.        h6 {
  181.            margin-top: 0;
  182.            margin-bottom: .5rem
  183.        }
  184.  
  185.        p {
  186.            margin: 0 0 10px
  187.        }
  188.  
  189.        p {
  190.            margin-top: 0;
  191.            margin-bottom: 1rem
  192.        }
  193.  
  194.        .clear {
  195.            clear: both
  196.        }
  197.  
  198.        .tulisan-tengah {
  199.            text-align: center
  200.        }
  201.  
  202.        .align-middle {
  203.            vertical-align: middle
  204.        }
  205.  
  206.        body {
  207.            background-color: #000000
  208.        }
  209.  
  210.        .container {
  211.            padding-right: 15px;
  212.            padding-left: 15px;
  213.            margin-right: auto;
  214.            margin-left: auto
  215.        }
  216.  
  217.        .marquee-text {
  218.            height: auto;
  219.            display: block;
  220.            line-height: 30px;
  221.            overflow: hidden;
  222.            position: relative
  223.        }
  224.  
  225.        .marquee-text div {
  226.            height: auto;
  227.            line-height: 22px;
  228.            font-size: 13px;
  229.            white-space: nowrap;
  230.            color: #fff;
  231.            z-index: 1;
  232.            font-weight: 600;
  233.            font-family: Raleway;
  234.            animation: marquee 20s linear infinite;
  235.            margin-top: 3px
  236.        }
  237.  
  238.        .marquee-text:hover div {
  239.            animation-play-state: paused
  240.        }
  241.  
  242.        @keyframes marquee {
  243.            0% {
  244.                transform: translateX(100%)
  245.            }
  246.  
  247.            100% {
  248.                transform: translateX(-100%)
  249.            }
  250.        }
  251.  
  252.        .classbaru {
  253.            margin-top: 15px;            
  254.            animation: colorAnimation 5s linear infinite;
  255.        }
  256.  
  257.        @keyframes colorAnimation {
  258.            0% {
  259.                box-shadow: 0px 0px 10px 6px #046120;
  260.            }
  261.            25% {
  262.                box-shadow: 0px 0px 10px 6px #ffae00;
  263.            }
  264.            50% {
  265.                box-shadow: 0px 0px 10px 6px #046120;
  266.            }
  267.            75% {
  268.                box-shadow: 0px 0px 10px 6px #ffae00;
  269.            }
  270.            100% {
  271.                box-shadow: 0px 0px 10px 6px #046120;
  272.            }
  273.        }
  274.  
  275.        .btn {
  276.            display: inline-block;
  277.            padding: 6px 12px;
  278.            touch-action: manipulation;
  279.            cursor: pointer;
  280.            user-select: none;
  281.            background-image: none;
  282.            border: 1px solid transparent;
  283.            border-radius: 5px;
  284.            font: 250 22px BebasNeue;
  285.            width: 100%;
  286.            color: #fff;
  287.            text-shadow: 0 0 3px #000;
  288.            letter-spacing: 1.1px
  289.        }
  290.  
  291.        .login-btn {
  292.            background: #ff0400;
  293.            border: 1px solid #FF4440;
  294.            box-shadow: 0px 4px 4px rgb(0 0 0 / 25%), inset 0px -19px 12px rgb(0 0 0 / 34%);
  295.            transition: all .4s;
  296.            border: 1px solid #ffae00;
  297.        }
  298.  
  299.        .login-btn:hover {
  300.            background: #fbff00;
  301.            opacity: .8
  302.        }
  303.  
  304.        .daftar-btn {
  305.            background: #ccb910;
  306.            border: 1px solid #FF4440;
  307.            box-shadow: 0px 4px 4px rgb(0 0 0 / 25%), inset 0px -19px 12px rgb(0 0 0 / 34%);
  308.            animation: blinking 1s infinite;
  309.            transition: all .4s
  310.        }
  311.  
  312.        .daftar-btn:hover {
  313.            background: #046120;
  314.            opacity: .8
  315.        }
  316.  
  317.        @keyframes blinking {
  318.            0% {
  319.                border: 2px solid #fff
  320.            }
  321.  
  322.            100% {
  323.                border: 2px solid #ffee00
  324.            }
  325.        }
  326.  
  327.        .blink-me {
  328.            animation-name: blinker;
  329.            animation-duration: 1s;
  330.            animation-timing-function: linear;
  331.            animation-iteration-count: infinite
  332.        }
  333.  
  334.        .anim {
  335.            animation: blinkings 1s infinite
  336.        }
  337.  
  338.        @keyframes blinkings {
  339.            0% {
  340.                border: 2px solid #fff
  341.            }
  342.  
  343.            100% {
  344.                border: 2px solid #016666
  345.            }
  346.        }
  347.  
  348.        @media (min-width:768px) {
  349.            .container {
  350.                max-width: 720px
  351.            }
  352.        }
  353.  
  354.        @media (min-width:992px) {
  355.            .container {
  356.                max-width: 960px
  357.            }
  358.        }
  359.  
  360.        @media (min-width:1200px) {
  361.            .container {
  362.                width: 1000px
  363.            }
  364.        }
  365.  
  366.        .row {
  367.            display: -ms-flexbox;
  368.            display: flex;
  369.            -ms-flex-wrap: wrap;
  370.            flex-wrap: wrap;
  371.            margin-right: -15px;
  372.            margin-left: -15px
  373.        }
  374.  
  375.        .p-0 {
  376.            padding: 0
  377.        }
  378.  
  379.        .col-md-12,
  380.        .col-md-4,
  381.        .col-md-6,
  382.        .col-md-8,
  383.        .col-xs-6 {
  384.            position: relative;
  385.            width: 100%;
  386.            padding-right: 15px;
  387.            padding-left: 15px
  388.        }
  389.  
  390.        .col-xs-6 {
  391.            float: left;
  392.            width: 50%
  393.        }
  394.  
  395.        @media (min-width:768px) {
  396.            .col-md-4 {
  397.                -ms-flex: 0 0 33.333333%;
  398.                flex: 0 0 33.333333%;
  399.                max-width: 33.333333%
  400.            }
  401.  
  402.            .col-md-6 {
  403.                -ms-flex: 0 0 50%;
  404.                flex: 0 0 50%;
  405.                max-width: 50%
  406.            }
  407.  
  408.            .col-md-8 {
  409.                -ms-flex: 0 0 66.666667%;
  410.                flex: 0 0 66.666667%;
  411.                max-width: 66.666667%
  412.            }
  413.  
  414.            .col-md-12 {
  415.                -ms-flex: 0 0 100%;
  416.                flex: 0 0 100%;
  417.                width: 100%
  418.            }
  419.  
  420.            .order-first {
  421.                -ms-flex-order: -1;
  422.                order: -1
  423.            }
  424.  
  425.            .logomobi {
  426.                display: none
  427.            }
  428.  
  429.            .logform {
  430.                padding-top: 1rem
  431.            }
  432.  
  433.            .nopadding {
  434.                padding: 0
  435.            }
  436.        }
  437.  
  438.        @media (max-width:768px) {
  439.            .logo {
  440.                display: none
  441.            }
  442.  
  443.            .content {
  444.                padding-top: 82px
  445.            }
  446.  
  447.            .border-bt {
  448.                border-bottom: 1px solid #dee2e6;
  449.                border-top: 1px solid #dee2e6;
  450.                padding: 5px 15px
  451.            }
  452.        }
  453.  
  454.        .pt-1,
  455.        .py-1 {
  456.            padding-top: .25rem
  457.        }
  458.  
  459.        .pb-1,
  460.        .py-1 {
  461.            padding-bottom: .25rem
  462.        }
  463.  
  464.        .pt-2,
  465.        .py-2 {
  466.            padding-top: .5rem
  467.        }
  468.  
  469.        .pb-2,
  470.        .py-2 {
  471.            padding-bottom: .5rem
  472.        }
  473.  
  474.        .mt-2,
  475.        .my-2 {
  476.            margin-top: .5rem
  477.        }
  478.  
  479.        .mb-2,
  480.        .my-2 {
  481.            margin-bottom: .5rem
  482.        }
  483.  
  484.        .togel,
  485.        .my-3 {
  486.            margin-top: .75rem
  487.        }
  488.  
  489.        .mb-3,
  490.        .my-3 {
  491.            margin-bottom: .75rem
  492.        }
  493.  
  494.        .mt-4 {
  495.            margin-top: 1.1rem
  496.        }
  497.  
  498.        .mt-5,
  499.        .my-5 {
  500.            margin-top: 2rem
  501.        }
  502.  
  503.        .mb-5,
  504.        .my-5 {
  505.            margin-bottom: 2rem
  506.        }
  507.  
  508.        .pb-5 {
  509.            padding-bottom: 1.25rem
  510.        }
  511.  
  512.        .mx-5 {
  513.            margin-left: .75rem;
  514.            margin-right: .75rem
  515.        }
  516.  
  517.        .pt-3 {
  518.            padding-top: 1rem
  519.        }
  520.  
  521.        .pt-5 {
  522.            padding-top: 2rem
  523.        }
  524.  
  525.        .navbar {
  526.            background-color: #000;
  527.            right: 0;
  528.            left: 0;
  529.            z-index: 1030;
  530.            width: 100%;
  531.            float: left;
  532.            padding: 5px
  533.        }
  534.  
  535.        .bg-blue {
  536.            background-color: #000000
  537.        }
  538.  
  539.        .bottom {
  540.            float: left;
  541.            width: 100%
  542.        }
  543.  
  544.        .contextual {
  545.            color: #fff;
  546.            padding: 20px 30px;
  547.            border-radius: 5px;
  548.            font-family: -webkit-pictograph;
  549.            box-shadow: 0 0 8px 4px #c60000
  550.        }
  551.  
  552.        .contextual h1 {
  553.            font-size: 1.5em
  554.        }
  555.  
  556.        .contextual h2 {
  557.            font-size: 1.3em
  558.        }
  559.  
  560.        .contextual h3 {
  561.            font-size: 1.1em
  562.        }
  563.  
  564.        .contextual p {
  565.            font-size: 1em;
  566.            text-align: justify;
  567.        }
  568.  
  569.        .contextual a {
  570.            color: #00c4ff
  571.        }
  572.  
  573.        .list {
  574.            margin-bottom: 1rem
  575.        }
  576.  
  577.        ul li:last-child {
  578.            border: none
  579.        }
  580.  
  581.        .footer {
  582.            text-decoration: none;
  583.            color: #fff
  584.        }
  585.  
  586.        .footer a {
  587.            color: #ff8800
  588.        }
  589.  
  590.        .slide {
  591.            width: 100%;
  592.            border: 2px solid #ffc000;
  593.            border-radius: 4px;
  594.            box-shadow: 0 0 6px 2px #ffce00;
  595.        }
  596.  
  597.        .lc-atribut {
  598.            border: 2px solid #9140d6;
  599.            border-radius: 4px;
  600.            box-shadow: 0 0 5px 0 #9140d6
  601.        }
  602.  
  603.        ul {
  604.            color: #fff;
  605.            text-align: left
  606.        }
  607.  
  608.        .faq-label {
  609.            display: flex;
  610.            font-size: 1.5em;
  611.            justify-content: space-between;
  612.            padding: 1em;
  613.            margin: 12px 0 0;
  614.            background: #016666
  615.        }
  616.  
  617.        .faq-answer {
  618.            padding: 1em;
  619.            font-size: 1.19em;
  620.            color: #fff;
  621.            text-align: justify;
  622.            background: #212121;
  623.            transition: all .35s
  624.        }
  625.  
  626.        .faq {
  627.            text-align: center;
  628.            font-size: 1.5em;
  629.            justify-content: space-between;
  630.            padding: 1em;
  631.            margin: 12px 0 0;
  632.            background: #1cad92
  633.        }
  634.  
  635.        .blink {
  636.            border-radius: 10px;
  637.            box-shadow: 0 0 15px 2px #009f9f;
  638.            animation: blinking 1s infinite;
  639.            transition: all .1s
  640.        }
  641.        
  642.  
  643.        .blink:hover {
  644.            opacity: 1
  645.        }
  646.  
  647.        ol {
  648.            display: block;
  649.            list-style-type: decimal;
  650.            margin-top: 1em;
  651.            margin-bottom: 1em;
  652.            margin-left: 0;
  653.            margin-right: 0;
  654.            padding-left: 20px;
  655.            text-align: left;
  656.        }
  657.  
  658.        .main-menu-container {
  659.            margin: 10px 0;
  660.            display: flex;
  661.            flex-wrap: wrap;
  662.            background-color: #02071c;
  663.            color: #fff
  664.        }
  665.  
  666.        .main-menu-container>li {
  667.            flex-basis: 25%;
  668.            padding: 30px;
  669.            order: 2
  670.        }
  671.  
  672.        .main-menu-container>li:nth-child(-n+4) {
  673.            order: 0
  674.        }
  675.  
  676.        .main-menu-container>li {
  677.            background: #000;
  678.            display: block;
  679.            color: inherit;
  680.            border: 2px solid transparent;
  681.            border-radius: 10px;
  682.            padding: 5px 0;
  683.            text-align: center;
  684.            text-transform: uppercase
  685.        }
  686.  
  687.        .main-menu-container {
  688.            background-color: #0c0114;
  689.            color: #fff
  690.        }
  691.  
  692.        .main-menu-container>li>a {
  693.            color: inherit
  694.        }
  695.  
  696.        li.icons {
  697.            list-style: none
  698.        }
  699.    </style>
  700.    <script async src="https://cdn.ampproject.org/v0.js"></script>
  701.    <script async custom-element="amp-anim" src="https://cdn.ampproject.org/v0/amp-anim-0.1.js"></script>
  702.    <script type="application/ld+json">
  703.            {
  704.                "@context": "http://schema.org",
  705.                "@type": "Game",
  706.                "name": "situs jp99",
  707.                "author": { "@type": "Person", "name": "JP99" },
  708.                "headline": "JP99 : Situs Online Pelayanan Terbaik 24Jam Di Asia Daftar Sekarang Bonus besar",
  709.                "description": "JP99 merupakan link situs dengan pelayanan terbaik se asia yang memiliki fitur layanan 24 jam online untuk melayani anda dengan senang hati, berbagi jenis pilihan permainan dan bonus menarik yang responsif.",
  710.                "keywords": ["JP99, jp 99, login JP99, daftar JP99, JP99 resmi, situs JP99, link JP99, link alternatif JP99"],
  711.                "image": "https://i.postimg.cc/gJC4C78g/3-3-11zon.png",
  712.                "url": "https://jp99a.id/",
  713.                "publisher": { "@type": "Organization", "name": "JP99" },
  714.                "aggregateRating": { "@type": "AggregateRating", "ratingValue": "96", "bestRating": "100", "worstRating": "0", "ratingCount": "888888" },
  715.                "inLanguage": "id-ID"
  716.            }
  717.        </script>
  718. </head>
  719.  
  720. <body>
  721.    <div class="navbar">
  722.        <div class="container">
  723.            <div class="row">
  724.                <div class="col-md-12 tulisan-tengah">
  725.                    <div class="logomobi">3
  726.                        <span itemscope="itemscope" itemtype="http://schema.org/Brand"><a itemprop="url"
  727.                                href="https://jp99a.id/"><amp-img itemprop="logo" width="175px" height="73px"
  728.                                    src="https://i.postimg.cc/W1BqjPhL/jp99logob.png" alt="logo"></amp-img>
  729.                                <meta itemprop="name" content="JP99">
  730.                            </a></span>
  731.                    </div>
  732.                </div>
  733.            </div>
  734.        </div>
  735.    </div>
  736.    <div class="clear"></div>
  737.    <div class="content">
  738.        <div class="container">
  739.            <div class="row togel">
  740.                <div class="col-md-4">
  741.                    <div class="logo tulisan-tengah">
  742.                        <span itemscope="itemscope" itemtype="http://schema.org/Brand"><a itemprop="url"
  743.                                href="https://jp99a.id/"><amp-img itemprop="logo" width="223px" height="73px"
  744.                                    src="https://i.postimg.cc/W1BqjPhL/jp99logob.png" layout="fixed" alt="logo"></amp-img>
  745.                                <meta itemprop="name" content="JP99">
  746.                            </a></span>
  747.                    </div>
  748.                </div>
  749.                <div class="col-md-8">
  750.                    <div class="row logform">
  751.                        <div class="col-xs-6">
  752.                            <a href="https://pub-b14d4f4732974ea98b40527f77982d09.r2.dev/ampjpaidbaru.html" target="_blank" rel="nofollow noreferrer"><button
  753.                                    type="login" class="btn login-btn">LOGIN</button></a>
  754.                        </div>
  755.                        <div class="col-xs-6">
  756.                            <a href="https://tinyurl.com/jputama" target="_blank" rel="nofollow noreferrer"><span
  757.                                    class="blink-me"><button type="login"
  758.                                        class="btn daftar-btn">DAFTAR</button></span></a>
  759.                        </div>
  760.                    </div>
  761.                </div>
  762.            </div>
  763.        </div>
  764.    </div>
  765.    <div class="container">
  766.        <div class="slide mt-2">
  767.            <amp-img src="https://i.postimg.cc/gJC4C78g/3-3-11zon.png" width="800px" height="490px" layout="responsive"
  768.                alt="JP99 login"></amp-img>
  769.        </div>
  770.        <br>
  771.        <div class="slide mt-2">
  772.            <amp-img src="https://i.postimg.cc/j2yvthht/Desain-tanpa-judul-16.png" width="880px" height="253px" layout="responsive"
  773.                title="rtp JP99" alt="rtp JP99"></amp-img>
  774.        </div>
  775.    </div>
  776.    <br>
  777.    <br>
  778.    <br>
  779.    <div class="bottom bg-dark">
  780.        <div class="container">
  781.            <div class="footer tulisan-tengah pb-2">
  782.                <span>Copyright © <strong>JP99</strong>. All rights Reserved.</span>
  783.            </div>
  784.        </div>
  785.    </div>
  786. </body>
  787.  
  788. </html>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda