{"id":4439,"date":"2026-06-21T22:16:46","date_gmt":"2026-06-21T22:16:46","guid":{"rendered":"https:\/\/allenglish4u.com\/cambridge-ket-6-test-3-rw-2\/"},"modified":"2026-07-05T02:44:05","modified_gmt":"2026-07-05T02:44:05","slug":"cambridge-ket-6-test-3-rw-2","status":"publish","type":"page","link":"https:\/\/allenglish4u.com\/vi\/cambridge-ket-6-test-3-rw-2\/","title":{"rendered":"KET 6 Test 3 Reading &#038; Writing"},"content":{"rendered":"\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:wght@400%3B500%3B600%3B700%3B800&family=Fraunces:opsz,wght@9..144,700&display=swap');\n\n\/* escape WP wrapper *\/\n.entry-content,.wp-block-post-content,.is-layout-constrained{max-width:none !important;width:auto !important;margin-left:0 !important;margin-right:0 !important;padding-left:0 !important;padding-right:0 !important;}\n.wp-block-post-title{display:none !important;}\n\n:root{\n  --accent-1:#F97316;\n  --accent-2:#F43F5E;\n  --gold:#F9C74F;\n  --green:#10B981;\n  --red:#EF4444;\n  --light-1:#FFF7ED;\n  --light-2:#FFFBF5;\n  --white:#FFFFFF;\n  --text:#0F172A;\n  --muted:#475569;\n  --subtle:#64748B;\n  --border:#E2E8F0;\n  --dark-1:#1B0F02;\n  --dark-2:#2D1A06;\n  --r-10:10px; --r-16:16px; --r-22:22px;\n  --sh-card:0 2px 8px rgba(0,0,0,.06);\n  --sh-lg:0 12px 40px rgba(0,0,0,.12);\n}\n*{margin:0;padding:0;box-sizing:border-box}\nhtml{scroll-behavior:smooth}\nbody{\n  font-family:'Plus Jakarta Sans',system-ui,sans-serif !important;\n  color:var(--text);\n  background:var(--light-2);\n  -webkit-font-smoothing:antialiased;\n  overflow-x:hidden;\n}\n.serif{font-family:'Fraunces',Georgia,serif !important;font-weight:700;letter-spacing:-.01em}\n.wrap{max-width:1080px;margin:0 auto;padding:0 24px}\na{color:inherit;text-decoration:none}\nbutton{font-family:inherit !important;cursor:pointer;border:none;background:none}\n\n\/* HEADER (same pattern as cambridge index) *\/\n.header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .28s ease,box-shadow .28s ease;border-bottom:1px solid transparent;}\n.header.solid{background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--border);box-shadow:0 1px 0 rgba(15,23,42,.02);}\n.header-inner{display:flex;align-items:center;gap:28px;height:72px;max-width:1200px;margin:0 auto;padding:0 24px}\n.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}\n.brand img{width:40px;height:40px;border-radius:11px;object-fit:cover;box-shadow:var(--sh-card)}\n.brand-name{font-weight:800;font-size:18px;letter-spacing:-.02em;color:#fff;transition:color .28s ease}\n.header.solid .brand-name{color:var(--text)}\n.nav{display:flex;align-items:center;gap:4px;margin-left:8px}\n.nav a{position:relative;padding:9px 13px;font-size:14.5px;font-weight:600;color:rgba(255,255,255,.82);border-radius:var(--r-10);transition:color .16s ease,background .16s ease;}\n.nav a:hover{color:#fff;background:rgba(255,255,255,.08)}\n.header.solid .nav a{color:var(--muted)}\n.header.solid .nav a:hover{color:var(--text);background:var(--light-1)}\n.header-right{margin-left:auto;display:flex;align-items:center;gap:10px}\n.btn-back{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;font-weight:700;font-size:14px;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.22);transition:background .16s ease}\n.btn-back:hover{background:rgba(255,255,255,.22)}\n.header.solid .btn-back{background:linear-gradient(100deg,var(--accent-1),var(--accent-2));color:#fff;border-color:transparent}\n.hamburger{display:none;width:40px;height:40px;border-radius:50%;color:#fff;align-items:center;justify-content:center}\n.header.solid .hamburger{color:var(--text)}\n\n\/* HERO *\/\n.hero{\n  position:relative;min-height:380px;padding:120px 0 60px;\n  background:linear-gradient(135deg,#FB923C 0%,#F43F5E 55%,#7C2D12 100%);\n  color:#fff;overflow:hidden;\n}\n.hero::before{content:\"\";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.15) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.10) 0%,transparent 50%);pointer-events:none}\n.hero .wrap{position:relative;z-index:1}\n.kicker{display:inline-block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;opacity:.92;margin-bottom:14px}\n.hero h1{font-size:clamp(34px,5vw,52px);line-height:1.05;margin-bottom:14px}\n.hero h1 span{font-style:italic;color:var(--gold)}\n.hero p.sub{font-size:17px;line-height:1.6;max-width:680px;opacity:.95;margin-bottom:22px}\n.hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}\n.meta-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.24);font-size:13px;font-weight:600}\n.meta-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--gold)}\n.cta-row{display:flex;gap:12px;flex-wrap:wrap}\n.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:999px;background:#fff;color:var(--text);font-weight:700;font-size:15px;box-shadow:0 10px 30px rgba(0,0,0,.2);transition:transform .16s ease}\n.btn-primary:hover{transform:translateY(-2px)}\n.btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-weight:700;font-size:15px;border:1px solid rgba(255,255,255,.32);transition:background .16s ease}\n.btn-ghost:hover{background:rgba(255,255,255,.22)}\n\n\/* SCORE BAR *\/\n.score-bar{\n  position:sticky;top:72px;z-index:50;\n  background:rgba(255,255,255,.96);backdrop-filter:blur(12px);\n  border-bottom:1px solid var(--border);\n  padding:14px 0;\n}\n.sb-inner{display:flex;align-items:center;gap:16px;flex-wrap:wrap}\n.sb-prog{flex:1;min-width:200px}\n.sb-prog-bar{height:8px;background:var(--light-1);border-radius:999px;overflow:hidden}\n.sb-prog-fill{height:100%;background:linear-gradient(90deg,var(--accent-1),var(--accent-2));border-radius:999px;transition:width .3s ease;width:0}\n.sb-prog-label{font-size:12px;color:var(--muted);margin-top:5px;font-weight:600}\n.sb-score{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14.5px;color:var(--text)}\n.sb-score b{font-size:18px;color:var(--accent-1)}\n.btn-submit{display:inline-flex;align-items:center;gap:7px;padding:10px 18px;border-radius:999px;background:linear-gradient(100deg,var(--accent-1),var(--accent-2));color:#fff;font-weight:700;font-size:14px;box-shadow:0 6px 18px rgba(249,115,22,.32);transition:transform .15s ease,opacity .15s ease}\n.btn-submit:hover{transform:translateY(-1px)}\n.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}\n.btn-reset{padding:10px 16px;border-radius:999px;background:#fff;color:var(--muted);font-weight:600;font-size:13px;border:1px solid var(--border);transition:background .15s ease}\n.btn-reset:hover{background:var(--light-1);color:var(--text)}\n\n\/* PARTS *\/\n.part-section{padding:48px 0;border-bottom:1px solid var(--border)}\n.part-section:nth-of-type(even){background:#fff}\n.part-head{display:flex;align-items:flex-start;gap:18px;margin-bottom:24px}\n.part-num{\n  flex-shrink:0;width:60px;height:60px;border-radius:18px;\n  background:linear-gradient(135deg,var(--accent-1),var(--accent-2));\n  color:#fff;display:grid;place-items:center;\n  font-family:'Fraunces',serif !important;font-weight:700;font-size:26px;\n  box-shadow:0 8px 22px rgba(249,115,22,.3);\n}\n.part-head-text h2{font-size:26px;line-height:1.15;margin-bottom:6px}\n.part-head-text .qrange{display:inline-block;font-size:12.5px;font-weight:700;color:var(--accent-1);background:var(--light-1);padding:4px 10px;border-radius:999px;letter-spacing:.04em;margin-bottom:8px}\n.part-head-text p{color:var(--muted);font-size:15px;line-height:1.55;max-width:740px}\n\n\/* PART 1 &#8212; notice match *\/\n.notices-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin:20px 0 28px}\n.notice{\n  background:#fff;border:2px solid var(--border);border-radius:14px;padding:18px 14px;text-align:center;\n  font-weight:700;letter-spacing:.02em;color:var(--text);min-height:88px;display:grid;place-items:center;\n  font-size:14.5px;line-height:1.35;\n  box-shadow:0 1px 3px rgba(0,0,0,.04);\n}\n.notice-letter{position:absolute;top:6px;left:8px;font-size:11px;font-weight:800;color:var(--accent-1);background:var(--light-1);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;}\n.notice{position:relative}\n\n\/* questions list *\/\n.q-list{display:flex;flex-direction:column;gap:14px;margin-top:8px}\n.q-item{\n  background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px 20px;\n  display:flex;flex-direction:column;gap:12px;transition:border-color .2s ease,box-shadow .2s ease;\n}\n.q-item.correct{border-color:var(--green);box-shadow:0 0 0 3px rgba(16,185,129,.12)}\n.q-item.wrong{border-color:var(--red);box-shadow:0 0 0 3px rgba(239,68,68,.12)}\n.q-num{font-weight:800;color:var(--accent-1);font-size:14px;min-width:30px}\n.q-text{flex:1;font-size:15.5px;line-height:1.55;color:var(--text);display:flex;gap:10px;align-items:flex-start}\n.q-text b.qn{color:var(--accent-1);font-weight:800}\n.q-opts{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}\n.opt{\n  display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:10px;\n  background:#F8FAFF;border:1.5px solid var(--border);font-weight:600;font-size:14px;color:var(--text);\n  cursor:pointer;transition:all .15s ease;user-select:none;\n}\n.opt:hover{background:var(--light-1);border-color:var(--accent-1)}\n.opt input{display:none}\n.opt .opt-letter{font-weight:800;color:var(--accent-1);background:#fff;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:12.5px;border:1px solid var(--border)}\n.opt.selected{background:linear-gradient(100deg,rgba(249,115,22,.12),rgba(244,63,94,.12));border-color:var(--accent-1)}\n.opt.selected .opt-letter{background:linear-gradient(100deg,var(--accent-1),var(--accent-2));color:#fff;border-color:transparent}\n.opt.correct-opt{background:rgba(16,185,129,.12) !important;border-color:var(--green) !important}\n.opt.correct-opt .opt-letter{background:var(--green) !important;color:#fff !important;border-color:transparent !important}\n.opt.wrong-opt{background:rgba(239,68,68,.10) !important;border-color:var(--red) !important}\n.opt.wrong-opt .opt-letter{background:var(--red) !important;color:#fff !important;border-color:transparent !important}\n.feedback{font-size:13px;font-weight:600;display:none;padding:8px 12px;border-radius:8px;margin-top:4px}\n.q-item.answered .feedback{display:block}\n.q-item.correct .feedback{background:rgba(16,185,129,.12);color:#065F46}\n.q-item.wrong .feedback{background:rgba(239,68,68,.10);color:#991B1B}\n\n\/* PART 2 \/ cloze with input *\/\n.input-blank{\n  display:inline-block;min-width:90px;border:none;border-bottom:2px dashed var(--accent-1);\n  background:transparent;font-family:inherit !important;font-size:15.5px;color:var(--text);font-weight:600;\n  padding:2px 6px;margin:0 4px;text-align:center;outline:none;\n}\n.input-blank:focus{border-bottom-style:solid;background:var(--light-1)}\n.input-blank.correct{border-bottom-color:var(--green);color:#065F46;background:rgba(16,185,129,.10)}\n.input-blank.wrong{border-bottom-color:var(--red);color:#991B1B;background:rgba(239,68,68,.08)}\n\n\/* PART 4 &#8212; passage *\/\n.passage{\n  background:#fff;border:1px solid var(--border);border-radius:18px;\n  padding:24px 26px;margin:8px 0 20px;\n  font-size:15.5px;line-height:1.7;color:var(--text);\n  box-shadow:var(--sh-card);\n  position:relative;\n}\n.passage h3{font-family:'Fraunces',serif !important;font-size:22px;text-align:center;margin-bottom:14px;letter-spacing:.02em;color:var(--accent-2)}\n.passage p{margin-bottom:10px}\n\n\/* PART 5 &#8212; cloze passage *\/\n.cloze-passage{\n  background:#fff;border:1px solid var(--border);border-radius:18px;padding:22px 26px;\n  font-size:16px;line-height:1.8;color:var(--text);box-shadow:var(--sh-card);margin-bottom:24px;\n}\n.cloze-passage h3{font-family:'Fraunces',serif !important;font-size:24px;text-align:center;color:var(--accent-2);margin-bottom:14px}\n\n\/* PART 6 &#8212; single word with first letter *\/\n.word-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}\n.first-letter{font-weight:700;color:var(--accent-1);font-size:18px;font-family:'Fraunces',serif}\n.dashes{color:var(--muted);letter-spacing:6px;font-weight:600}\n\n\/* PART 8 &#8212; form *\/\n.form-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:22px;margin-top:18px;max-width:560px}\n.form-card h4{font-family:'Fraunces',serif !important;font-size:20px;text-align:center;color:var(--accent-2);margin-bottom:6px;border-bottom:2px solid var(--accent-1);padding-bottom:8px;display:inline-block;width:100%}\n.form-row{display:flex;gap:12px;align-items:center;margin-top:14px;flex-wrap:wrap}\n.form-row label{flex:0 0 200px;font-weight:600;color:var(--text);font-size:14.5px}\n.form-row .input-blank{flex:1;min-width:200px;text-align:left;font-size:14.5px}\n\n\/* PART 9 &#8212; writing *\/\n.writing-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:22px;margin-top:18px}\n.prompt-box{background:var(--light-1);border-left:4px solid var(--accent-1);padding:14px 18px;border-radius:0 12px 12px 0;margin-bottom:18px;font-size:15px;line-height:1.6}\n.prompt-box ul{margin:10px 0 4px 22px}\n.prompt-box li{margin-bottom:4px}\n.writing-area{width:100%;min-height:160px;padding:14px;font-family:inherit !important;font-size:15px;line-height:1.55;border:2px solid var(--border);border-radius:12px;background:#FAFBFC;color:var(--text);outline:none;resize:vertical;transition:border-color .2s ease}\n.writing-area:focus{border-color:var(--accent-1);background:#fff}\n.wc-counter{display:flex;justify-content:space-between;margin-top:8px;font-size:13px;color:var(--muted);font-weight:600}\n.wc-counter.ok{color:var(--green)}\n.wc-counter.over{color:var(--red)}\n.sample-toggle{margin-top:14px;display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;background:linear-gradient(100deg,var(--accent-1),var(--accent-2));color:#fff;font-weight:700;font-size:13.5px;border:none;cursor:pointer}\n.sample-box{display:none;margin-top:14px;padding:14px 18px;background:#FEF3C7;border-left:4px solid var(--gold);border-radius:0 12px 12px 0;font-size:14.5px;line-height:1.6}\n.sample-box.show{display:block}\n.sample-box h5{font-family:'Fraunces',serif !important;font-size:16px;margin-bottom:8px;color:#92400E}\n\n\/* SHOW ANSWER PER-Q BUTTONS *\/\n.show-ans-btn{\n  display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:8px;\n  background:rgba(249,115,22,.10);color:var(--accent-1);font-weight:700;font-size:12px;\n  border:1px solid rgba(249,115,22,.30);cursor:pointer;transition:all .15s ease;\n  font-family:inherit !important;align-self:flex-start;margin-top:4px;letter-spacing:.02em;\n}\n.show-ans-btn:hover{background:rgba(249,115,22,.18);border-color:var(--accent-1)}\n.show-ans-btn[disabled]{opacity:.45;cursor:not-allowed}\n.show-ans-btn .emoji{width:14px;height:14px}\n.show-ans-btn-inline{\n  display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;\n  background:rgba(249,115,22,.10);color:var(--accent-1);font-weight:700;font-size:11.5px;\n  border:1px solid rgba(249,115,22,.28);cursor:pointer;font-family:inherit !important;\n  margin-left:4px;vertical-align:middle;transition:all .15s ease;\n}\n.show-ans-btn-inline:hover{background:rgba(249,115,22,.18)}\n.show-ans-btn-inline[disabled]{opacity:.45;cursor:not-allowed}\n\n\/* RESULTS BANNER *\/\n.results-banner{\n  display:none;margin:32px auto;padding:30px;border-radius:22px;\n  background:linear-gradient(135deg,#FB923C,#F43F5E);color:#fff;text-align:center;max-width:720px;\n  box-shadow:0 16px 50px rgba(249,115,22,.3);\n}\n.results-banner.show{display:block}\n.results-banner h3{font-size:30px;font-family:'Fraunces',serif !important;margin-bottom:10px}\n.results-banner .score-big{font-size:64px;font-weight:800;line-height:1;margin:14px 0;font-family:'Fraunces',serif}\n.results-banner p{opacity:.95;font-size:15px}\n\n\/* FOOTER *\/\n.footer{background:var(--dark-1);color:#9CA3AF;padding:36px 0;text-align:center;font-size:13.5px}\n.footer a{color:var(--gold);font-weight:600}\n\n\/* MOBILE *\/\n@media (max-width:820px){\n  .nav{display:none}\n  .hamburger{display:flex}\n  .hero{padding:110px 0 50px}\n  .part-head{flex-direction:column;gap:12px}\n  .part-num{width:50px;height:50px;font-size:22px}\n  .notices-grid{grid-template-columns:repeat(2,1fr)}\n  .form-row label{flex:1 1 100%}\n  .form-row .input-blank{width:100%}\n  .sb-inner{gap:10px}\n  .sb-prog{order:3;flex:1 1 100%}\n}\n\n\/* mobile drawer *\/\n.drawer{position:fixed;inset:0;background:rgba(15,23,42,.65);z-index:200;display:none;align-items:flex-start;justify-content:flex-end}\n.drawer.open{display:flex}\n.drawer-panel{width:280px;background:#fff;height:100%;padding:24px;display:flex;flex-direction:column;gap:8px}\n.drawer-panel a{padding:12px 14px;border-radius:10px;font-weight:600;color:var(--text)}\n.drawer-panel a:hover{background:var(--light-1)}\n.drawer-close{align-self:flex-end;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--muted)}\n<\/style>\n\n<!-- HEADER -->\n<header class=\"header\" id=\"hdr\">\n  <div class=\"header-inner\">\n    <a href=\"https:\/\/allenglish4u.com\" class=\"brand\">\n      <img decoding=\"async\" src=\"https:\/\/allenglish4u.com\/wp-content\/uploads\/2026\/04\/Transparent-background-MacBook-Pro-cua-Hang.png\" alt=\"AE4U\">\n      <span class=\"brand-name\">All English 4U<\/span>\n    <\/a>\n    <nav class=\"nav\">\n      <a href=\"https:\/\/allenglish4u.com\/grammar\/\">Grammar<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/ielts\/\">IELTS<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/toefl\/\">TOEFL<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/cambridge\/\" class=\"active\">Cambridge<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/celpip\/\">CELPIP<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/dictation\/\">Dictation<\/a>\n      <\/nav>\n    <div class=\"header-right\">\n      <a href=\"https:\/\/allenglish4u.com\/cambridge\/\" class=\"btn-back\">\n        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\"><path d=\"M19 12H5M11 18l-6-6 6-6\"\/><\/svg>\n        Back\n      <\/a>\n      <button class=\"hamburger\" id=\"hamb\" aria-label=\"Menu\">\n        <svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.3\" stroke-linecap=\"round\"><path d=\"M3 6h18M3 12h18M3 18h18\"\/><\/svg>\n      <\/button>\n    <\/div>\n  <\/div>\n<\/header>\n\n<div class=\"drawer\" id=\"drawer\">\n  <div class=\"drawer-panel\">\n    <button class=\"drawer-close\" id=\"drawerClose\" aria-label=\"Close\">\n      <svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.3\" stroke-linecap=\"round\"><path d=\"M18 6L6 18M6 6l12 12\"\/><\/svg>\n    <\/button>\n    <a href=\"https:\/\/allenglish4u.com\/grammar\/\">Grammar<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/ielts\/\">IELTS<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/toefl\/\">TOEFL<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/cambridge\/\">Cambridge<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/celpip\/\">CELPIP<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/dictation\/\">Dictation<\/a>\n    <\/div>\n<\/div>\n\n<!-- HERO -->\n<section class=\"hero\">\n  <div class=\"wrap\">\n    <span class=\"kicker\">Cambridge English &#183; Key (KET)<\/span>\n    <h1 class=\"serif\">KET 6 &#8212; Test 3<br><span>Reading &amp; Writing<\/span><\/h1>\n    <p class=\"sub\">Practise the full A2 Key Reading &amp; Writing paper &#8212; 9 parts, 56 questions, instant auto-grading. Test yourself like the real exam, then check answers and learn from instant feedback.<\/p>\n    <div class=\"hero-meta\">\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>1 hour 10 minutes<\/span>\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>9 Parts<\/span>\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>55 auto-graded<\/span>\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>+ Writing prompt<\/span>\n    <\/div>\n    <div class=\"cta-row\">\n      <a href=\"#part1\" class=\"btn-primary\">\n        Start Test\n        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg>\n      <\/a>\n      <a href=\"https:\/\/allenglish4u.com\/cambridge\/\" class=\"btn-ghost\">All Cambridge Tests<\/a>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- SCORE BAR -->\n<div class=\"score-bar\" id=\"scoreBar\">\n  <div class=\"wrap sb-inner\">\n    <div class=\"sb-score\">Score <b><span id=\"scoreNow\">0<\/span>\/55<\/b><\/div>\n    <div class=\"sb-prog\">\n      <div class=\"sb-prog-bar\"><div class=\"sb-prog-fill\" id=\"progFill\"><\/div><\/div>\n      <div class=\"sb-prog-label\"><span id=\"answeredCount\">0<\/span> of 55 answered<\/div>\n    <\/div>\n    <button class=\"btn-submit\" id=\"submitBtn\">\n      <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n      Submit &amp; Grade\n    <\/button>\n    <button class=\"btn-reset\" id=\"resetBtn\">Reset<\/button>\n  <\/div>\n<\/div>\n\n<!-- ============== PART 1 ============== -->\n<section class=\"part-section\" id=\"part1\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">1<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 1&#8211;5<\/span>\n        <h2 class=\"serif\">Match the notice<\/h2>\n        <p>Which notice (A&#8211;H) says this (1&#8211;5)? For questions 1&#8211;5, choose the correct letter A&#8211;H.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"notices-grid\">\n      <div class=\"notice\"><span class=\"notice-letter\">A<\/span>WESTERN RAILWAY<br><sub style=\"font-size:11px;font-weight:600\">Woodville Town &ndash; Drayton Park<br>Monday &ndash; Friday only<\/sub><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">B<\/span>Bus to City Centre<br><sub style=\"font-size:11px;font-weight:600\">Adults &pound;1.50<br>Children under 3 travel free<\/sub><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">C<\/span>ALL DRIVERS!<br><b>BRIDGE ONLY 5 METRES HIGH<\/b><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">D<\/span>Airport Bus<br><sub style=\"font-size:11px;font-weight:600\">7 am &ndash; 11.30 pm daily<br>&pound;15 return<\/sub><\/div>\n      <div class=\"notice\" style=\"opacity:.55\"><span class=\"notice-letter\">E<\/span>City Trains<br><sub style=\"font-size:11px;font-weight:600\">Please put large bags<br>between seats<\/sub><br><sub style=\"font-size:10px;color:var(--muted);font-style:italic;font-weight:600\">(example)<\/sub><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">F<\/span>Hospital Parking<br><sub style=\"font-size:11px;font-weight:600\">for visitors<br>&pound;2 per hour<\/sub><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">G<\/span>Choose any seat on the plane<br><sub style=\"font-size:11px;font-weight:600\">No numbers on tickets<\/sub><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">H<\/span>Drive Slowly<br>Lorries Turning<\/div>\n    <\/div>\n\n    <div class=\"q-list\" id=\"part1List\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 2 ============== -->\n<section class=\"part-section\" id=\"part2\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">2<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 6&#8211;10<\/span>\n        <h2 class=\"serif\">Neil the ice-hockey player<\/h2>\n        <p>Read the sentences (6&#8211;10) about Neil. Choose the best word (A, B or C) for each space.<\/p>\n      <\/div>\n    <\/div>\n    <div style=\"background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 18px;margin-bottom:18px;font-size:14.5px;color:var(--muted)\">\n      <b style=\"color:var(--accent-1)\">Example:<\/b> Neil <u>enjoyed<\/u> to play ice-hockey even when he was a very small boy. <b>(Answer: A)<\/b>\n    <\/div>\n    <div class=\"q-list\" id=\"part2List\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 3a ============== -->\n<section class=\"part-section\" id=\"part3a\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">3<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 11&#8211;15<\/span>\n        <h2 class=\"serif\">Complete the conversations<\/h2>\n        <p>Complete the five conversations. Choose the correct answer (A, B or C).<\/p>\n      <\/div>\n    <\/div>\n    <div style=\"background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 18px;margin-bottom:18px;font-size:14.5px;color:var(--muted)\">\n      <b style=\"color:var(--accent-1)\">Example:<\/b> Where do you come from? &#8212; <b>A<\/b> New York.\n    <\/div>\n    <div class=\"q-list\" id=\"part3aList\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 3b ============== -->\n<section class=\"part-section\" id=\"part3b\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">3<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 16&#8211;20<\/span>\n        <h2 class=\"serif\">Weekend chat: Ivan &amp; Anita<\/h2>\n        <p>Complete the conversation. What does Anita say to Ivan? For each blank, choose the correct letter A&ndash;H.<\/p>\n      <\/div>\n    <\/div>\n\n    <div style=\"background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px 22px;margin-bottom:18px;font-size:14.5px;line-height:1.7\">\n      <p><b>Ivan:<\/b> Hi Anita. How was your weekend?<\/p>\n      <p><b>Anita:<\/b> <span style=\"color:var(--accent-1);font-weight:700\">(Example: E)<\/span><\/p>\n      <p><b>Ivan:<\/b> OK, but I had a bit of a problem on Saturday.<\/p>\n      <p><b>Anita:<\/b> <select class=\"q-select\" data-qid=\"16\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>D<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Ivan:<\/b> In a way. I couldn&#39;t find my keys.<\/p>\n      <p><b>Anita:<\/b> <select class=\"q-select\" data-qid=\"17\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>D<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Ivan:<\/b> Only to the shops. I needed a birthday present for my mum.<\/p>\n      <p><b>Anita:<\/b> <select class=\"q-select\" data-qid=\"18\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>D<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Ivan:<\/b> I bought some chocolates from the local shop. Do you think that&#39;ll be OK?<\/p>\n      <p><b>Anita:<\/b> <select class=\"q-select\" data-qid=\"19\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>D<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Ivan:<\/b> I hope so! I found my car keys this morning. They were in the bathroom.<\/p>\n      <p><b>Anita:<\/b> <select class=\"q-select\" data-qid=\"20\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>D<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Ivan:<\/b> Yes, so I can drive you home, if you like.<\/p>\n    <\/div>\n\n    <div style=\"background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px 22px;font-size:14px;line-height:1.85\">\n      <b style=\"color:var(--accent-1);display:block;margin-bottom:6px\">Choices:<\/b>\n      <div><b>A<\/b> She&#39;ll love them.<\/div>\n      <div><b>B<\/b> Did you want to go anywhere special?<\/div>\n      <div><b>C<\/b> How did they get there?<\/div>\n      <div><b>D<\/b> Well, at least you&#39;ve got them now.<\/div>\n      <div style=\"opacity:.5\"><b>E<\/b> Great, thanks. What about yours? <i>(example)<\/i><\/div>\n      <div><b>F<\/b> Did you have trouble with your car again?<\/div>\n      <div><b>G<\/b> She&#39;ll help you find them.<\/div>\n      <div><b>H<\/b> So did you get her anything in the end?<\/div>\n    <\/div>\n\n    <div id=\"part3bFeedback\" style=\"margin-top:14px\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 4 ============== -->\n<section class=\"part-section\" id=\"part4\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">4<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 21&#8211;27<\/span>\n        <h2 class=\"serif\">Ravi Patra<\/h2>\n        <p>Read the article and then answer the questions. For questions 21&ndash;27, choose the correct answer (A, B or C).<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"passage\">\n      <h3>RAVI PATRA<\/h3>\n      <p>In 2006, Ravi Patra started working for a music company and three years later, in 2009, got a job on the music television channel Rock TV.<\/p>\n      <p>Ravi enjoys working on television, but when he was younger he wanted to fly planes. Later, he became more interested in football. But Ravi has always loved music, so he tried to get work with Rock TV. His boss says he gave him the job because he wanted it more than anybody else!<\/p>\n      <p>When he started at Rock TV, Ravi arrived first at the office and was the last to leave at 10 in the evening. Now, he starts a bit later, but he is still busy until 10 pm. Before lunch, he usually writes his words for the show and in the afternoon he has meetings or makes Rock TV advertisements.<\/p>\n      <p>Ravi has many popular bands on his show and the stars are often interesting people. But Ravi knows that everyone watches the show to hear great music. Getting that right is more important than anything else.<\/p>\n      <p>Ravi knows what questions to ask the band members. He tries to make them laugh and this is easy for him. Sometimes he cannot remember their names but he always has information about the bands to help him.<\/p>\n      <p>Sadly, his work means that he doesn&#39;t see his friends enough, but he has great fun on skiing trips and listens to music all the time.<\/p>\n    <\/div>\n\n    <div style=\"background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px 18px;margin-bottom:18px;font-size:14px;color:var(--muted)\">\n      <b style=\"color:var(--accent-1)\">Example (0):<\/b> Ravi Patra started working with Rock TV in 2009. &#8594; <b>C<\/b>\n    <\/div>\n\n    <div class=\"q-list\" id=\"part4List\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 5 ============== -->\n<section class=\"part-section\" id=\"part5\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">5<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 28&#8211;35<\/span>\n        <h2 class=\"serif\">Mount Fuji<\/h2>\n        <p>Read the article. Choose the best word (A, B or C) for each space.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"cloze-passage\">\n      <h3>Mount Fuji<\/h3>\n      <p>Mount Fuji is <u><b style=\"color:var(--accent-1)\">called<\/b><\/u> Fujisan in Japan. It is 3776 metres high and is visited <span data-q=\"28\" class=\"cloze-blank\">[28]<\/span> people from all over the world. It is a very beautiful mountain and many artists have used it in <span data-q=\"29\" class=\"cloze-blank\">[29]<\/span> work.<\/p>\n      <p>It is sometimes possible to see Mount Fuji from Tokyo, but often the weather is <span data-q=\"30\" class=\"cloze-blank\">[30]<\/span> cloudy to see it clearly. The <span data-q=\"31\" class=\"cloze-blank\">[31]<\/span> time to see the mountain is <span data-q=\"32\" class=\"cloze-blank\">[32]<\/span> the colder months of the year, and <span data-q=\"33\" class=\"cloze-blank\">[33]<\/span> the early morning and late evening.<\/p>\n      <p>A very pleasant place to enjoy Mount Fuji from is Fuji Five Lake (Fujigoko), <span data-q=\"34\" class=\"cloze-blank\">[34]<\/span> is just north of the mountain. Mount Fuji is open for climbing in July and August, but not at <span data-q=\"35\" class=\"cloze-blank\">[35]<\/span> times of the year.<\/p>\n    <\/div>\n\n    <div class=\"q-list\" id=\"part5List\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 6 ============== -->\n<section class=\"part-section\" id=\"part6\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">6<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 36&#8211;40<\/span>\n        <h2 class=\"serif\">Things in a bathroom<\/h2>\n        <p>Read the descriptions (36&ndash;40) of some things in a bathroom. The first letter is given. Type the word. <b>Example (0):<\/b> You can use this to tidy your hair. &#8594; <b>comb<\/b><\/p>\n      <\/div>\n    <\/div>\n    <div class=\"q-list\" id=\"part6List\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 7 ============== -->\n<section class=\"part-section\" id=\"part7\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">7<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 41&#8211;50<\/span>\n        <h2 class=\"serif\">Complete this letter<\/h2>\n        <p>Read the two emails between Danny and Ali. Type <b>ONE word<\/b> for each space (41&#8211;50). (Example: <i>you<\/i>)<\/p>\n      <\/div>\n    <\/div>\n\n    <div style=\"max-width:580px;margin:0 auto\">\n      <div style=\"background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:24px 26px;font-size:14.5px;line-height:1.95;font-family:&#39;Courier New&#39;,monospace\">\n<p><b>From:<\/b> Danny &nbsp; <b>To:<\/b> Ali<\/p>\n        <p>I heard that (Example: <u>you<\/u>) want to sell your bike. Is it OK <input class=\"input-blank\" data-q=\"41\" type=\"text\"> come and see the bike after college on Thursday? I don&#39;t know <input class=\"input-blank\" data-q=\"42\" type=\"text\"> you live. <input class=\"input-blank\" data-q=\"43\" type=\"text\"> you give me your address? I&#39;d also like to know why you <input class=\"input-blank\" data-q=\"44\" type=\"text\"> selling it.<\/p>\n        <hr style=\"border:none;border-top:1px dashed var(--border);margin:14px 0\">\n        <p><b>From:<\/b> Ali &nbsp; <b>To:<\/b> Danny<\/p>\n        <p>I decided to sell the old bike <input class=\"input-blank\" data-q=\"45\" type=\"text\"> I got a motorbike for <input class=\"input-blank\" data-q=\"46\" type=\"text\"> birthday. The bike is <input class=\"input-blank\" data-q=\"47\" type=\"text\"> few years old but I&#39;m sure you&#39;ll like <input class=\"input-blank\" data-q=\"48\" type=\"text\">.<\/p>\n        <p>I won&#39;t be at home on Thursday &ndash; I play football then and I don&#39;t get back until late. What about coming on Friday instead? <input class=\"input-blank\" data-q=\"49\" type=\"text\"> that a good day for you? I live at 35 Portland Road, <input class=\"input-blank\" data-q=\"50\" type=\"text\"> to the library.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 8 ============== -->\n<section class=\"part-section\" id=\"part8\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">8<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 51&#8211;55<\/span>\n        <h2 class=\"serif\">Smith&#8217;s Bookshop order<\/h2>\n        <p>Read the advertisement and the email. Fill in the information on the order form (51&ndash;55).<\/p>\n      <\/div>\n    <\/div>\n\n    <div style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:18px\">\n      <div style=\"background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:16px 18px;font-size:13.5px;line-height:1.55;text-align:center\">\n        <div style=\"font-style:italic;font-weight:700;font-size:17px;margin-bottom:2px\">Smith&#39;s Bookshop<\/div>\n        <div style=\"font-weight:600;margin-bottom:8px\">Book &amp; DVD Language Courses<\/div>\n        <div style=\"display:flex;justify-content:space-around;margin-bottom:8px;text-align:left\">\n          <div><b>Talking Time<\/b><br>Spanish<br>French<\/div>\n          <div><b>Speaking Plus<\/b><br>Japanese<br>Spanish<\/div>\n        <\/div>\n        <div style=\"border-top:1px solid var(--border);padding-top:8px;text-align:left\">\n          <b>Prices:<\/b><br>\n          Level 1: &pound;28.00 (Talking Time) &middot; &pound;30.00 (Speaking Plus)<br>\n          Level 2: &pound;32.00 (Talking Time) &middot; &pound;35.00 (Speaking Plus)\n        <\/div>\n      <\/div>\n      <div style=\"background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:16px 18px;font-size:14px;line-height:1.6\">\n        <div style=\"border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:10px\"><b>From:<\/b> Tom Peters<br><b>To:<\/b> Jane Brown<\/div>\n        <p style=\"margin-bottom:8px\">My French course finished last week and I&#39;ve just started learning Spanish. My teacher says the Speaking Plus course is the best. She can give me Level 1 so can you order Level 2 for me at the bookshop?<\/p>\n        <p style=\"margin-bottom:0\">I&#39;m at work until 6 pm. Ring me there (553905) or phone me this evening on 020 7865 4436.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"form-card\">\n      <h4>Smith&#8217;s Bookshop &middot; Order Form<\/h4>\n      <div class=\"form-row\"><label>Customer&#39;s name:<\/label><span style=\"font-weight:600;color:var(--accent-2);font-style:italic\">Tom Peters<\/span><\/div>\n      <div class=\"form-row\"><label>Daytime phone number:<\/label><input class=\"input-blank\" data-q=\"51\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Course name:<\/label><input class=\"input-blank\" data-q=\"52\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Language:<\/label><input class=\"input-blank\" data-q=\"53\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Level:<\/label><input class=\"input-blank\" data-q=\"54\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Price:<\/label>&pound; <input class=\"input-blank\" data-q=\"55\" type=\"text\"><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 9 &#8212; WRITING ============== -->\n<section class=\"part-section\" id=\"part9\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">9<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Question 56<\/span>\n        <h2 class=\"serif\">Writing &#8212; email to Elena<\/h2>\n        <p>This part is <b>not auto-graded<\/b>. Write your note, then click <i>Show Sample Answer<\/i> to see an example.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"writing-card\">\n      <div class=\"prompt-box\">\n        <b>There is going to be a concert in the town where you live. Write an email to your English friend, Elena.<\/b>\n        <div style=\"background:#fff;border:1px dashed var(--accent-1);border-radius:10px;padding:12px 14px;margin:12px 0;line-height:1.55\">\n          <ul style=\"margin:0 0 0 18px\">\n            <li><b>ask<\/b> her to come to the concert<\/li>\n            <li>tell her <b>when<\/b> the concert is<\/li>\n            <li>say <b>how much<\/b> the tickets are<\/li>\n          <\/ul>\n        <\/div>\n        Write 25&ndash;35 words.\n      <\/div>\n      <textarea class=\"writing-area\" id=\"writingArea\" placeholder=\"Type your note here...\"><\/textarea>\n      <div class=\"wc-counter\" id=\"wcCounter\">0 words &#183; target 25&#8211;35<\/div>\n      <button class=\"sample-toggle\" id=\"sampleToggle\">\n        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"\/><circle cx=\"12\" cy=\"12\" r=\"3\"\/><\/svg>\n        Show Sample Answer\n      <\/button>\n      <div class=\"sample-box\" id=\"sampleBox\">\n        <h5 style=\"margin-bottom:14px\">Real Cambridge sample answer &mdash; with examiner mark<\/h5>\n\n        <div style=\"background:#fff;border-left:3px solid var(--green);padding:10px 14px;margin-bottom:12px;border-radius:0 8px 8px 0\">\n          <b style=\"color:var(--green);font-size:12.5px;letter-spacing:.05em\">SAMPLE A &mdash; Mark 5\/5 (a very good answer, all three points covered)<\/b>\n          <p style=\"margin-top:6px\">Hi Elena,<br>\n          There&#39;s a great concert in my town next Saturday evening. Would you like to come with me? It starts at 8 o&#39;clock at the City Hall. The tickets are only &pound;10 each. Let me know!<\/p>\n        <\/div>\n        <div style=\"background:#fff;border-left:3px solid var(--gold);padding:10px 14px;border-radius:0 8px 8px 0\">\n          <b style=\"color:#B45309;font-size:12.5px;letter-spacing:.05em\">SAMPLE B &mdash; Mark 3\/5 (all points but with some errors)<\/b>\n          <p style=\"margin-top:6px\">Hi Elena,<br>\n          In my town have a concert. You come with me? Is on Friday at seven o&#39;clock. The ticket are &pound;12. Please tell me if you want come. See you!<\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- RESULTS BANNER -->\n<div class=\"wrap\">\n  <div class=\"results-banner\" id=\"resultsBanner\">\n    <h3>Your KET 6 Test 3 &#8212; Reading &amp; Writing score<\/h3>\n    <div class=\"score-big\"><span id=\"finalScore\">0<\/span>\/55<\/div>\n    <p id=\"resultsMsg\">Great effort! Scroll up to review your answers &#8212; correct ones are highlighted in green and wrong ones in red.<\/p>\n    <div style=\"margin-top:18px\"><button class=\"btn-primary\" onclick=\"window.scrollTo({top:0,behavior:'smooth'})\" style=\"background:#fff;color:var(--accent-2)\">Back to top<\/button><\/div>\n  <\/div>\n<\/div>\n\n<!-- FOOTER -->\n<footer class=\"footer\">\n  <div class=\"wrap\">\n    <p>&#169; 2026 All English 4U &#183; <a href=\"https:\/\/allenglish4u.com\/cambridge\/\">All Cambridge Tests<\/a> &#183; <a href=\"https:\/\/allenglish4u.com\/contact\/\">Contact<\/a><\/p>\n  <\/div>\n<\/footer>\n\n<script>eval(atob('CihmdW5jdGlvbigpewovLyA9PT09PSBIZWFkZXIgc2Nyb2xsID09PT09CnZhciBoZHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hkcicpOwp2YXIgc2V0U29saWQ9ZnVuY3Rpb24oKXtpZih3aW5kb3cuc2Nyb2xsWT40MCloZHIuY2xhc3NMaXN0LmFkZCgnc29saWQnKTtlbHNlIGhkci5jbGFzc0xpc3QucmVtb3ZlKCdzb2xpZCcpfTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsc2V0U29saWQse3Bhc3NpdmU6dHJ1ZX0pO3NldFNvbGlkKCk7CgovLyBkcmF3ZXIKdmFyIGhhbWI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hhbWInKSxkcmF3ZXI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RyYXdlcicpLGRDbG9zZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHJhd2VyQ2xvc2UnKTsKaWYoaGFtYiloYW1iLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbigpe2RyYXdlci5jbGFzc0xpc3QuYWRkKCdvcGVuJyl9KTsKaWYoZENsb3NlKWRDbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oKXtkcmF3ZXIuY2xhc3NMaXN0LnJlbW92ZSgnb3BlbicpfSk7CmlmKGRyYXdlcilkcmF3ZXIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKGUpe2lmKGUudGFyZ2V0PT09ZHJhd2VyKWRyYXdlci5jbGFzc0xpc3QucmVtb3ZlKCdvcGVuJyl9KTsKCi8vID09PT09IERBVEEgPT09PT0KLy8gTUNRIHF1ZXN0aW9uczogZWFjaCBlbnRyeSA9IHtuLCB0ZXh0LCBvcHRzOlt7bCx0fV0sIGFuc30KdmFyIFAxID0gWwogIHtuOjEsdGV4dDoiU29tZSBjYXJzIGNhbm5vdCBnbyB1bmRlciB0aGlzLiIsb3B0czonQUJDREZHSCcsYW5zOidDJ30sCiAge246Mix0ZXh0OiJZb3UgY2Fubm90IHRyYXZlbCBieSB0aGVzZSB0cmFpbnMgYXQgdGhlIHdlZWtlbmQuIixvcHRzOidBQkNERkdIJyxhbnM6J0EnfSwKICB7bjozLHRleHQ6IllvdSBtdXN0IHBheSB0byBsZWF2ZSB5b3VyIGNhciBoZXJlLiIsb3B0czonQUJDREZHSCcsYW5zOidGJ30sCiAge246NCx0ZXh0OiJVc2UgdGhpcyBpZiB5b3UgaGF2ZSB0byBjYXRjaCBhIHBsYW5lLiIsb3B0czonQUJDREZHSCcsYW5zOidEJ30sCiAge246NSx0ZXh0OiJZb3UgbWF5IHNpdCB3aGVyZSB5b3UgbGlrZS4iLG9wdHM6J0FCQ0RGR0gnLGFuczonRyd9LApdOwp2YXIgUDIgPSBbCiAge246Nix0ZXh0OiJOZWlsIF9fX19fIGljZS1ob2NrZXkgZXZlcnkgZXZlbmluZyB3aXRoIGhpcyB0ZWFtLiIsb3B0czpbWydBJywibWFkZSJdLFsnQicsImpvaW5lZCJdLFsnQycsInByYWN0aXNlZCJdXSxhbnM6J0MnfSwKICB7bjo3LHRleHQ6Ik5laWwgd2FzIGFuIGV4Y2VsbGVudCBwbGF5ZXIgYW5kIGhpcyB0ZWFtIHNvb24gYmVnYW4gdG8gX19fX18gY29tcGV0aXRpb25zLiIsb3B0czpbWydBJywiZWFybiJdLFsnQicsIndpbiJdLFsnQycsInRha2UiXV0sYW5zOidCJ30sCiAge246OCx0ZXh0OiJTb21ldGltZXMgaXQgd2FzIF9fX19fIGZvciBOZWlsIHRvIGZpbmQgZW5vdWdoIHRpbWUgZm9yIGJvdGggaGlzIGljZS1ob2NrZXkgYW5kIGhvbWV3b3JrLiIsb3B0czpbWydBJywiZGlmZmljdWx0Il0sWydCJywidGVycmlibGUiXSxbJ0MnLCJ3b3JzZSJdXSxhbnM6J0EnfSwKICB7bjo5LHRleHQ6IldoZW4gaGUgX19fX18gc2Nob29sIGF0IHNpeHRlZW4sIE5laWwgd2VudCB0byBhIHNwZWNpYWwgc3BvcnRzIGNvbGxlZ2UuIixvcHRzOltbJ0EnLCJtb3ZlZCJdLFsnQicsImxlZnQiXSxbJ0MnLCJwYXNzZWQiXV0sYW5zOidCJ30sCiAge246MTAsdGV4dDoiTm93IE5laWwgaXMgYSBmYW1vdXMgaWNlLWhvY2tleSBwbGF5ZXIgYW5kIHlvdSBjYW4gb2Z0ZW4gX19fX18gaGltIG9uIHRlbGV2aXNpb24uIixvcHRzOltbJ0EnLCJsaXN0ZW4iXSxbJ0InLCJzZWUiXSxbJ0MnLCJsb29rIl1dLGFuczonQid9LApdOwp2YXIgUDNhID0gWwogIHtuOjExLHRleHQ6IklzIHRoZXJlIGFueSBzdWdhcj8iLG9wdHM6W1snQScsIk5vdGhpbmcuIl0sWydCJywiSSBuZWVkIGl0LiJdLFsnQycsIkknbSBhZnJhaWQgbm90LiJdXSxhbnM6J0MnfSwKICB7bjoxMix0ZXh0OiJMZXQncyBnbyB0byB0aGUgY29uY2VydCB0b25pZ2h0LiIsb3B0czpbWydBJywiSGF2ZSB5b3UgZ290IHRpY2tldHM\/Il0sWydCJywiV2hvIHdhcyBwbGF5aW5nPyJdLFsnQycsIldoYXQncyBpdCBhYm91dD8iXV0sYW5zOidBJ30sCiAge246MTMsdGV4dDoiQ2FuIHlvdSBjYXJyeSB0aGVzZSBiYWdzPyIsb3B0czpbWydBJywiSXQgZG9lc24ndCBtYXR0ZXIuIl0sWydCJywiSSdtIGZpbmUsIHRoYW5rcy4iXSxbJ0MnLCJXZWxsLCBJJ2xsIHRyeS4iXV0sYW5zOidDJ30sCiAge246MTQsdGV4dDoiVGhhbmtzIGZvciBhIGxvdmVseSBtZWFsLiIsb3B0czpbWydBJywiSSBlbmpveWVkIHNlZWluZyB5b3UuIl0sWydCJywiSSdsbCBiZSByZWFkeSBzb29uLiJdLFsnQycsIkkgZG9uJ3Qgd2FudCB0byBjb21lLiJdXSxhbnM6J0EnfSwKICB7bjoxNSx0ZXh0OiJIb3cgaXMgeW91ciBtb3RoZXI\/IixvcHRzOltbJ0EnLCJTaGUncyA1NC4iXSxbJ0InLCJNdWNoIGJldHRlciwgdGhhbmtzLiJdLFsnQycsIlNoZSdzIHRhbGwgYW5kIGJlYXV0aWZ1bC4iXV0sYW5zOidCJ30sCl07CnZhciBQM2JBbnMgPSB7CiAgMTY6J0YnLAogIDE3OidCJywKICAxODonSCcsCiAgMTk6J0EnLAogIDIwOidEJywKfTsKdmFyIFA0ID0gWwogIHtuOjIxLHRleHQ6IldoYXQgd2FzIHRoZSBmaXJzdCBqb2IgUmF2aSB3YW50ZWQgdG8gaGF2ZSB3aGVuIGhlIHdhcyB5b3VuZ2VyPyIsb3B0czpbWydBJywiZm9vdGJhbGxlciJdLFsnQicsInBpbG90Il0sWydDJywic2luZ2VyIl1dLGFuczonQid9LAogIHtuOjIyLHRleHQ6IldoYXQgZGlkIFJhdmkncyBib3NzIGF0IFJvY2sgVFYgc2F5IGFib3V0IGhpbT8iLG9wdHM6W1snQScsIlJhdmkgYXNrZWQgZm9yIGEgam9iIGF0IFJvY2sgVFYgbW9yZSB0aGFuIG9uY2UuIl0sWydCJywiVGhlcmUgd2VyZSBvdGhlciBwZW9wbGUgYmV0dGVyIHRoYW4gUmF2aS4iXSxbJ0MnLCJSYXZpIHNob3dlZCBoaW0gaG93IG11Y2ggaGUgd2FudGVkIHRoZSBqb2IuIl1dLGFuczonQyd9LAogIHtuOjIzLHRleHQ6IkhvdyBoYXMgUmF2aSdzIHdvcmsgY2hhbmdlZD8iLG9wdHM6W1snQScsIkhlIG5vIGxvbmdlciBiZWdpbnMgdmVyeSBlYXJseS4iXSxbJ0InLCJIZSBpcyBidXNpZXIgdGhhbiBiZWZvcmUuIl0sWydDJywiSGUgZG9lc24ndCBzdGF5IGxhdGUgYXQgdGhlIG9mZmljZS4iXV0sYW5zOidBJ30sCiAge246MjQsdGV4dDoiSW4gdGhlIG1vcm5pbmdzLCBSYXZpIG9mdGVuIixvcHRzOltbJ0EnLCJ3b3JrcyBvbiBSb2NrIFRWIGFkdmVydGlzZW1lbnRzLiJdLFsnQicsIm1lZXRzIGltcG9ydGFudCBwZW9wbGUgYXQgaGlzIG9mZmljZS4iXSxbJ0MnLCJkZWNpZGVzIHdoYXQgdG8gc2F5IG9uIGhpcyBwcm9ncmFtbWUuIl1dLGFuczonQyd9LAogIHtuOjI1LHRleHQ6IldoYXQgZG9lcyBSYXZpIHRoaW5rIGlzIHRoZSBtb3N0IGltcG9ydGFudCB0aGluZyBhYm91dCB0aGUgc2hvdz8iLG9wdHM6W1snQScsIkl0IGhhcyBsb3RzIG9mIGludGVyZXN0aW5nIHN0YXJzLiJdLFsnQicsIlRoZXJlIGlzIGdyZWF0IG11c2ljLiJdLFsnQycsIkhlIGlzIHBvcHVsYXIgd2l0aCB0aGUgZ3Vlc3RzLiJdXSxhbnM6J0InfSwKICB7bjoyNix0ZXh0OiJXaGF0IHByb2JsZW0gZG9lcyBSYXZpIHNvbWV0aW1lcyBoYXZlIG9uIHRoZSBSb2NrIFRWIHNob3c\/IixvcHRzOltbJ0EnLCJIZSBmb3JnZXRzIHBlb3BsZSdzIG5hbWVzLiJdLFsnQicsIkhlIGNhbm5vdCBzdG9wIGxhdWdoaW5nLiJdLFsnQycsIkhpcyBxdWVzdGlvbnMgbWFrZSBwZW9wbGUgYW5ncnkuIl1dLGFuczonQSd9LAogIHtuOjI3LHRleHQ6IlJhdmkgd291bGQgbGlrZSB0byBzcGVuZCBtb3JlIHRpbWUiLG9wdHM6W1snQScsImluIHRoZSBtb3VudGFpbnMuIl0sWydCJywid2l0aCBoaXMgZnJpZW5kcy4iXSxbJ0MnLCJsaXN0ZW5pbmcgdG8gbXVzaWMuIl1dLGFuczonQid9LApdOwp2YXIgUDUgPSBbCiAge246Mjgsb3B0czpbWydBJywiYnkiXSxbJ0InLCJmb3IiXSxbJ0MnLCJ3aXRoIl1dLGFuczonQSd9LAogIHtuOjI5LG9wdHM6W1snQScsImhpcyJdLFsnQicsInlvdXIiXSxbJ0MnLCJ0aGVpciJdXSxhbnM6J0MnfSwKICB7bjozMCxvcHRzOltbJ0EnLCJ0b28iXSxbJ0InLCJ2ZXJ5Il0sWydDJywib25seSJdXSxhbnM6J0EnfSwKICB7bjozMSxvcHRzOltbJ0EnLCJnb29kIl0sWydCJywiYmV0dGVyIl0sWydDJywiYmVzdCJdXSxhbnM6J0MnfSwKICB7bjozMixvcHRzOltbJ0EnLCJzaW5jZSJdLFsnQicsImR1cmluZyJdLFsnQycsInVudGlsIl1dLGFuczonQid9LAogIHtuOjMzLG9wdHM6W1snQScsIm9uIl0sWydCJywiaW4iXSxbJ0MnLCJhdCJdXSxhbnM6J0InfSwKICB7bjozNCxvcHRzOltbJ0EnLCJ3aGljaCJdLFsnQicsIndoYXQiXSxbJ0MnLCJ3aGVyZSJdXSxhbnM6J0EnfSwKICB7bjozNSxvcHRzOltbJ0EnLCJhbm90aGVyIl0sWydCJywiYm90aCJdLFsnQycsIm90aGVyIl1dLGFuczonQyd9LApdOwp2YXIgUDYgPSBbCiAge246MzYsdGV4dDoiUGVvcGxlIHN0YW5kIHVuZGVyIHRoaXMgdG8gd2FzaCB0aGVtc2VsdmVzLiIsZmlyc3Q6J3MnLGFuczoic2hvd2VyIn0sCiAge246MzcsdGV4dDoiSWYgdGhpcyBpcyBsYXJnZSwgdGhlIGJhdGhyb29tIHdpbGwgaGF2ZSBsb3RzIG9mIGxpZ2h0IHdoZW4gaXQgaXMgc3VubnkuIixmaXJzdDondycsYW5zOiJ3aW5kb3cifSwKICB7bjozOCx0ZXh0OiJQZW9wbGUgd2FzaCB0aGVpciBoYWlyIHdpdGggdGhpcy4iLGZpcnN0OidzJyxhbnM6InNoYW1wb28ifSwKICB7bjozOSx0ZXh0OiJZb3UgY2FuIGxvb2sgYXQgeW91cnNlbGYgaW4gdGhpcy4iLGZpcnN0OidtJyxhbnM6Im1pcnJvciJ9LAogIHtuOjQwLHRleHQ6IklmIHlvdXIgaGFuZHMgYXJlIGRpcnR5LCB5b3UgY2FuIHdhc2ggdGhlbSB3aXRoIHRoaXMuIixmaXJzdDoncycsYW5zOiJzb2FwIn0sCl07Ci8vIFBhcnQgNyBcdTIwMTQgbGV0dGVyIGNsb3plOiBhY2NlcHRlZCBhbnN3ZXJzCnZhciBQN0FucyA9IHsKICA0MTpbInRvIl0sCiAgNDI6WyJ3aGVyZSJdLAogIDQzOlsiY2FuIiwgImNvdWxkIiwgIndpbGwiLCAid291bGQiLCAiZGlkIl0sCiAgNDQ6WyJhcmUiLCAiJ3JlIiwgInJlIl0sCiAgNDU6WyJiZWNhdXNlIiwgIndoZW4iLCAiYWZ0ZXIiLCAiYXMiLCAic2luY2UiLCAiYmVmb3JlIl0sCiAgNDY6WyJteSJdLAogIDQ3OlsiYSJdLAogIDQ4OlsiaXQiLCAidGhpcyIsICJ0aGF0Il0sCiAgNDk6WyJpcyIsICIncyIsICJzIl0sCiAgNTA6WyJuZXh0IiwgImNsb3NlIiwgIm5lYXIiXSwKfTsKLy8gUGFydCA4CnZhciBQOEFucyA9IHsKICA1MTpbIjU1MzkwNSJdLAogIDUyOlsic3BlYWtpbmcgcGx1cyIsICJzcGVha2luZyBwbHVzIGNvdXJzZSIsICJzcGVha2luZyBwbHVzIChjb3Vyc2UpIl0sCiAgNTM6WyJzcGFuaXNoIl0sCiAgNTQ6WyJsZXZlbCAyIiwgIjIiLCAibGV2ZWwgdHdvIl0sCiAgNTU6WyIzNSIsICJcdTAwYTMzNSIsICIzNS4wMCIsICIzNSBwb3VuZHMiXSwKfTsKCi8vID09PT09IFJlbmRlcmluZyA9PT09PQpmdW5jdGlvbiByZW5kZXJNQ1EobGlzdEVsLCBkYXRhKXsKICBkYXRhLmZvckVhY2goZnVuY3Rpb24ocSl7CiAgICB2YXIgZGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgZGl2LmNsYXNzTmFtZT0ncS1pdGVtJzsgZGl2LmRhdGFzZXQucWlkPXEubjsKICAgIHZhciBvcHRzSFRNTD0nJzsKICAgIGlmKEFycmF5LmlzQXJyYXkocS5vcHRzKSl7CiAgICAgIHEub3B0cy5mb3JFYWNoKGZ1bmN0aW9uKG8pewogICAgICAgIG9wdHNIVE1MICs9ICc8bGFiZWwgY2xhc3M9Im9wdCIgZGF0YS1sZXR0ZXI9Iicrb1swXSsnIj48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InEnK3EubisnIiB2YWx1ZT0iJytvWzBdKyciPjxzcGFuIGNsYXNzPSJvcHQtbGV0dGVyIj4nK29bMF0rJzwvc3Bhbj4gJytlc2NhcGVIdG1sKG9bMV0pKyc8L2xhYmVsPic7CiAgICAgIH0pOwogICAgfSBlbHNlIHsKICAgICAgLy8gc3RyaW5nIG9mIGxldHRlcnMgKFAxKQogICAgICBmb3IodmFyIGk9MDtpPHEub3B0cy5sZW5ndGg7aSsrKXsKICAgICAgICB2YXIgTD1xLm9wdHNbaV07CiAgICAgICAgb3B0c0hUTUwgKz0gJzxsYWJlbCBjbGFzcz0ib3B0IiBkYXRhLWxldHRlcj0iJytMKyciPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0icScrcS5uKyciIHZhbHVlPSInK0wrJyI+PHNwYW4gY2xhc3M9Im9wdC1sZXR0ZXIiPicrTCsnPC9zcGFuPjwvbGFiZWw+JzsKICAgICAgfQogICAgfQogICAgZGl2LmlubmVySFRNTCA9ICc8ZGl2IGNsYXNzPSJxLXRleHQiPjxiIGNsYXNzPSJxbiI+JytxLm4rJy48L2I+PHNwYW4+Jytlc2NhcGVIdG1sKHEudGV4dCkrJzwvc3Bhbj48L2Rpdj4nKwogICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJxLW9wdHMiPicrb3B0c0hUTUwrJzwvZGl2PicrCiAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImZlZWRiYWNrIj48L2Rpdj4nOwogICAgbGlzdEVsLmFwcGVuZENoaWxkKGRpdik7CiAgfSk7Cn0KZnVuY3Rpb24gZXNjYXBlSHRtbChzKXtyZXR1cm4gU3RyaW5nKHMpLnJlcGxhY2UoL1smPD4iJ10vZyxmdW5jdGlvbihjKXtyZXR1cm4geycmJzonJmFtcDsnLCc8JzonJmx0OycsJz4nOicmZ3Q7JywnIic6JyZxdW90OycsIiciOicmIzM5Oyd9W2NdfSl9CgpyZW5kZXJNQ1EoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcnQxTGlzdCcpLFAxKTsKcmVuZGVyTUNRKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJ0Mkxpc3QnKSxQMik7CnJlbmRlck1DUShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFydDNhTGlzdCcpLFAzYSk7CnJlbmRlck1DUShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFydDRMaXN0JyksUDQpOwoKLy8gUGFydCA1IFx1MjAxNCByZW5kZXIgYXMgTUNRIGxpc3QgdW5kZXIgdGhlIHBhc3NhZ2UKcmVuZGVyTUNRKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJ0NUxpc3QnKSxQNS5tYXAoZnVuY3Rpb24ocSl7cmV0dXJuIHtuOnEubix0ZXh0OidRdWVzdGlvbiAnK3EubisnIFx1MjAxNCBjaG9vc2UgdGhlIGJlc3Qgd29yZCBmb3IgdGhlIGdhcC4nLG9wdHM6cS5vcHRzLGFuczpxLmFuc319KSk7CgovLyBQYXJ0IDYgXHUyMDE0IGZpcnN0LWxldHRlciArIGRhc2hlcyArIGlucHV0CihmdW5jdGlvbigpewogIHZhciBsaXN0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJ0Nkxpc3QnKTsKICBQNi5mb3JFYWNoKGZ1bmN0aW9uKHEpewogICAgdmFyIGRhc2hDb3VudCA9IHEuYW5zLmxlbmd0aCAtIDE7CiAgICB2YXIgZGFzaGVzID0gbmV3IEFycmF5KGRhc2hDb3VudCkuZmlsbCgnXycpLmpvaW4oJyAnKTsKICAgIHZhciBkaXY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7IGRpdi5jbGFzc05hbWU9J3EtaXRlbSc7IGRpdi5kYXRhc2V0LnFpZD1xLm47CiAgICBkaXYuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJxLXRleHQiPjxiIGNsYXNzPSJxbiI+JytxLm4rJy48L2I+PHNwYW4+Jytlc2NhcGVIdG1sKHEudGV4dCkrJzwvc3Bhbj48L2Rpdj4nKwogICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0id29yZC1yb3ciPjxzcGFuIGNsYXNzPSJmaXJzdC1sZXR0ZXIiPicrcS5maXJzdCsnPC9zcGFuPjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iaW5wdXQtYmxhbmsiIGRhdGEtcT0iJytxLm4rJyIgcGxhY2Vob2xkZXI9IicrZGFzaGVzKyciIHN0eWxlPSJtaW4td2lkdGg6MjAwcHgiPjwvZGl2PicrCiAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJmZWVkYmFjayI+PC9kaXY+JzsKICAgIGxpc3QuYXBwZW5kQ2hpbGQoZGl2KTsKICB9KTsKfSkoKTsKCi8vID09PT09IFdpcmUgb3B0aW9uIGNsaWNrcyA9PT09PQpkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcub3B0JykuZm9yRWFjaChmdW5jdGlvbihvcHQpewogIG9wdC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oZSl7CiAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICB2YXIgaW5wdXQ9b3B0LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk7CiAgICB2YXIgZ3JvdXA9b3B0LnBhcmVudEVsZW1lbnQ7CiAgICBncm91cC5xdWVyeVNlbGVjdG9yQWxsKCcub3B0JykuZm9yRWFjaChmdW5jdGlvbihvKXtvLmNsYXNzTGlzdC5yZW1vdmUoJ3NlbGVjdGVkJyl9KTsKICAgIG9wdC5jbGFzc0xpc3QuYWRkKCdzZWxlY3RlZCcpOwogICAgaW5wdXQuY2hlY2tlZD10cnVlOwogICAgdXBkYXRlUHJvZ3Jlc3MoKTsKICB9KTsKfSk7CgovLyBpbnB1dHMKZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmlucHV0LWJsYW5rLC5xLXNlbGVjdCcpLmZvckVhY2goZnVuY3Rpb24oZWwpewogIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0Jyx1cGRhdGVQcm9ncmVzcyk7CiAgZWwuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJyx1cGRhdGVQcm9ncmVzcyk7Cn0pOwoKLy8gPT09PT0gU3VibWl0ICYgR3JhZGUgPT09PT0KZnVuY3Rpb24gZ2V0TWNxQW5zKHFpZCl7CiAgdmFyIHNlbD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dFtuYW1lPSJxJytxaWQrJyJdOmNoZWNrZWQnKTsKICByZXR1cm4gc2VsP3NlbC52YWx1ZTpudWxsOwp9CmZ1bmN0aW9uIGdldElucHV0QW5zKHFpZCl7CiAgdmFyIGVsPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5pbnB1dC1ibGFua1tkYXRhLXE9IicrcWlkKyciXScpOwogIHJldHVybiBlbD9lbC52YWx1ZS50cmltKCkudG9Mb3dlckNhc2UoKTonJzsKfQpmdW5jdGlvbiBnZXRTZWxlY3RBbnMocWlkKXsKICB2YXIgZWw9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnEtc2VsZWN0W2RhdGEtcWlkPSInK3FpZCsnIl0nKTsKICByZXR1cm4gZWw\/ZWwudmFsdWU6Jyc7Cn0KZnVuY3Rpb24gdG90YWxRcygpe3JldHVybiA1NX0KCmZ1bmN0aW9uIGFuc3dlcmVkQ291bnQoKXsKICB2YXIgbj0wOwogIC8vIE1DUTogUDEoMS01KSBQMig2LTEwKSBQM2EoMTEtMTUpIFA0KDIxLTI3KSBQNSgyOC0zNSkKICBbMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUsMjEsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMjksMzAsMzEsMzIsMzMsMzQsMzVdLmZvckVhY2goZnVuY3Rpb24ocSl7aWYoZ2V0TWNxQW5zKHEpKW4rK30pOwogIFsxNiwxNywxOCwxOSwyMF0uZm9yRWFjaChmdW5jdGlvbihxKXtpZihnZXRTZWxlY3RBbnMocSkpbisrfSk7CiAgLy8gaW5wdXRzCiAgZm9yKHZhciBpPTM2O2k8PTU1O2krKyl7aWYoZ2V0SW5wdXRBbnMoaSkpbisrfQogIHJldHVybiBuOwp9CmZ1bmN0aW9uIHVwZGF0ZVByb2dyZXNzKCl7CiAgdmFyIGE9YW5zd2VyZWRDb3VudCgpLCB0b3RhbD10b3RhbFFzKCk7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Fuc3dlcmVkQ291bnQnKS50ZXh0Q29udGVudD1hOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwcm9nRmlsbCcpLnN0eWxlLndpZHRoPShhL3RvdGFsKjEwMCkrJyUnOwp9Cgpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3VibWl0QnRuJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKCl7CiAgdmFyIHNjb3JlPTA7CiAgLy8gTUNRIHBhcnRzCiAgdmFyIG1jcVBhcnRzPVtQMSxQMixQM2EsUDQsUDVdOwogIG1jcVBhcnRzLmZvckVhY2goZnVuY3Rpb24ocGFydCl7CiAgICBwYXJ0LmZvckVhY2goZnVuY3Rpb24ocSl7CiAgICAgIHZhciB2PWdldE1jcUFucyhxLm4pLCBpdGVtPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5xLWl0ZW1bZGF0YS1xaWQ9IicrcS5uKyciXScpOwogICAgICBpZighaXRlbSlyZXR1cm47CiAgICAgIGl0ZW0uY2xhc3NMaXN0LmFkZCgnYW5zd2VyZWQnKTsKICAgICAgLy8gbWFyayBjb3JyZWN0L2luY29ycmVjdCBvcHRzCiAgICAgIGl0ZW0ucXVlcnlTZWxlY3RvckFsbCgnLm9wdCcpLmZvckVhY2goZnVuY3Rpb24obyl7CiAgICAgICAgdmFyIEw9by5kYXRhc2V0LmxldHRlcjsKICAgICAgICBpZihMPT09cS5hbnMpe28uY2xhc3NMaXN0LmFkZCgnY29ycmVjdC1vcHQnKX0KICAgICAgICBpZih2PT09TClpZihMIT09cS5hbnMpe28uY2xhc3NMaXN0LmFkZCgnd3Jvbmctb3B0Jyl9CiAgICAgIH0pOwogICAgICB2YXIgZmI9aXRlbS5xdWVyeVNlbGVjdG9yKCcuZmVlZGJhY2snKTsKICAgICAgaWYodj09PXEuYW5zKXtzY29yZSsrOyBpdGVtLmNsYXNzTGlzdC5hZGQoJ2NvcnJlY3QnKTsgZmIudGV4dENvbnRlbnQ9J1x1MjcxNCBDb3JyZWN0IFx1MjAxNCAnK3EuYW5zfQogICAgICBlbHNle2l0ZW0uY2xhc3NMaXN0LmFkZCgnd3JvbmcnKTsgZmIudGV4dENvbnRlbnQ9J1x1MjcxOCBXcm9uZyBcdTIwMTQgY29ycmVjdCBhbnN3ZXI6ICcrcS5hbnMgKyAodj8oJyAoeW91IGNob3NlICcrdisnKScpOicgKG5vIGFuc3dlciknKX0KICAgIH0pOwogIH0pOwogIC8vIFBhcnQgM2Igc2VsZWN0cwogIHZhciBwM2JGYj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFydDNiRmVlZGJhY2snKTsKICBwM2JGYi5pbm5lckhUTUw9Jyc7CiAgT2JqZWN0LmtleXMoUDNiQW5zKS5mb3JFYWNoKGZ1bmN0aW9uKHFpZCl7CiAgICB2YXIgdj1nZXRTZWxlY3RBbnMocWlkKSwgY29ycmVjdD1QM2JBbnNbcWlkXTsKICAgIHZhciBlbD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucS1zZWxlY3RbZGF0YS1xaWQ9IicrcWlkKyciXScpOwogICAgaWYoZWwpe2VsLnN0eWxlLmJvcmRlckNvbG9yPSh2PT09Y29ycmVjdD8nIzEwQjk4MSc6JyNFRjQ0NDQnKTsgZWwuc3R5bGUuYm9yZGVyV2lkdGg9JzJweCc7IGVsLnN0eWxlLmJvcmRlclN0eWxlPSdzb2xpZCd9CiAgICB2YXIgbm90ZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgIG5vdGUuc3R5bGUuY3NzVGV4dD0ncGFkZGluZzo4cHggMTJweDtib3JkZXItcmFkaXVzOjhweDttYXJnaW4tdG9wOjZweDtmb250LXNpemU6MTMuNXB4O2ZvbnQtd2VpZ2h0OjYwMDsnKyh2PT09Y29ycmVjdD8nYmFja2dyb3VuZDpyZ2JhKDE2LDE4NSwxMjksLjEyKTtjb2xvcjojMDY1RjQ2JzonYmFja2dyb3VuZDpyZ2JhKDIzOSw2OCw2OCwuMTApO2NvbG9yOiM5OTFCMUInKTsKICAgIG5vdGUuaW5uZXJIVE1MPSc8Yj5RJytxaWQrJzwvYj46ICcrKHY9PT1jb3JyZWN0PydcdTI3MTQgQ29ycmVjdCAoJytjb3JyZWN0KycpJzonXHUyNzE4IFdyb25nIFx1MjAxNCBjb3JyZWN0OiAnK2NvcnJlY3QrKHY\/JywgeW91IGNob3NlICcrdjonLCBubyBhbnN3ZXInKSk7CiAgICBwM2JGYi5hcHBlbmRDaGlsZChub3RlKTsKICAgIGlmKHY9PT1jb3JyZWN0KXNjb3JlKys7CiAgfSk7CiAgLy8gUGFydCA2CiAgUDYuZm9yRWFjaChmdW5jdGlvbihxKXsKICAgIHZhciB2PWdldElucHV0QW5zKHEubiksIGVsPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5pbnB1dC1ibGFua1tkYXRhLXE9IicrcS5uKyciXScpLCBpdGVtPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5xLWl0ZW1bZGF0YS1xaWQ9IicrcS5uKyciXScpOwogICAgaWYoIWVsfHwhaXRlbSlyZXR1cm47CiAgICBpdGVtLmNsYXNzTGlzdC5hZGQoJ2Fuc3dlcmVkJyk7CiAgICB2YXIgb2s9KHY9PT1xLmFucy50b0xvd2VyQ2FzZSgpKTsKICAgIGlmKG9rKXtzY29yZSsrOyBlbC5jbGFzc0xpc3QuYWRkKCdjb3JyZWN0Jyk7IGl0ZW0uY2xhc3NMaXN0LmFkZCgnY29ycmVjdCcpOyBpdGVtLnF1ZXJ5U2VsZWN0b3IoJy5mZWVkYmFjaycpLnRleHRDb250ZW50PSdcdTI3MTQgQ29ycmVjdCd9CiAgICBlbHNle2VsLmNsYXNzTGlzdC5hZGQoJ3dyb25nJyk7IGl0ZW0uY2xhc3NMaXN0LmFkZCgnd3JvbmcnKTsgaXRlbS5xdWVyeVNlbGVjdG9yKCcuZmVlZGJhY2snKS50ZXh0Q29udGVudD0nXHUyNzE4IFdyb25nIFx1MjAxNCBjb3JyZWN0OiAnK3EuYW5zfQogIH0pOwogIC8vIFBhcnQgNwogIE9iamVjdC5rZXlzKFA3QW5zKS5mb3JFYWNoKGZ1bmN0aW9uKHFpZCl7CiAgICB2YXIgdj1nZXRJbnB1dEFucyhxaWQpLCBlbD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuaW5wdXQtYmxhbmtbZGF0YS1xPSInK3FpZCsnIl0nKSwgYWNjZXB0ZWQ9UDdBbnNbcWlkXTsKICAgIGlmKCFlbClyZXR1cm47CiAgICB2YXIgb2s9YWNjZXB0ZWQuaW5kZXhPZih2KT49MDsKICAgIGlmKG9rKXtzY29yZSsrOyBlbC5jbGFzc0xpc3QuYWRkKCdjb3JyZWN0Jyl9IGVsc2Uge2VsLmNsYXNzTGlzdC5hZGQoJ3dyb25nJyk7IGVsLnRpdGxlPSdDb3JyZWN0OiAnK2FjY2VwdGVkLmpvaW4oJyAvICcpfQogIH0pOwogIC8vIFBhcnQgOAogIE9iamVjdC5rZXlzKFA4QW5zKS5mb3JFYWNoKGZ1bmN0aW9uKHFpZCl7CiAgICB2YXIgdj1nZXRJbnB1dEFucyhxaWQpLCBlbD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuaW5wdXQtYmxhbmtbZGF0YS1xPSInK3FpZCsnIl0nKSwgYWNjZXB0ZWQ9UDhBbnNbcWlkXTsKICAgIGlmKCFlbClyZXR1cm47CiAgICB2YXIgb2s9YWNjZXB0ZWQuaW5kZXhPZih2KT49MDsKICAgIGlmKG9rKXtzY29yZSsrOyBlbC5jbGFzc0xpc3QuYWRkKCdjb3JyZWN0Jyl9IGVsc2Uge2VsLmNsYXNzTGlzdC5hZGQoJ3dyb25nJyk7IGVsLnRpdGxlPSdDb3JyZWN0OiAnK2FjY2VwdGVkLmpvaW4oJyAvICcpfQogIH0pOwoKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2NvcmVOb3cnKS50ZXh0Q29udGVudD1zY29yZTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmluYWxTY29yZScpLnRleHRDb250ZW50PXNjb3JlOwogIHZhciBwY3Q9TWF0aC5yb3VuZChzY29yZS81NSoxMDApOwogIHZhciBtc2c9Jyc7CiAgaWYocGN0Pj04NSkgbXNnPSdcdXsxRjNDNn0gRXhjZWxsZW50ISBZb3UgYXJlIHdlbGwgcHJlcGFyZWQgZm9yIHRoZSByZWFsIEtFVCBleGFtLic7CiAgZWxzZSBpZihwY3Q+PTcwKSBtc2c9J1x1ezFGNDREfSBHb29kIGpvYiEgQSBmZXcgbW9yZSB0ZXN0cyBhbmQgeW91IHdpbGwgYmUgcmVhZHkuJzsKICBlbHNlIGlmKHBjdD49NTApIG1zZz0nXHV7MUY0REF9IEtlZXAgcHJhY3Rpc2luZyBcdTIwMTQgcmV2aWV3IHRoZSB3cm9uZyBhbnN3ZXJzIGFib3ZlLic7CiAgZWxzZSBtc2c9J1x1ezFGNEFBfSBTdGFydCB3aXRoIHRoZSBiYXNpY3MuIFJlcmVhZCB0aGUgcGFzc2FnZXMgYW5kIHRyeSBhZ2Fpbi4nOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHRzTXNnJykudGV4dENvbnRlbnQ9bXNnOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHRzQmFubmVyJykuY2xhc3NMaXN0LmFkZCgnc2hvdycpOwogIHNldFRpbWVvdXQoZnVuY3Rpb24oKXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0c0Jhbm5lcicpLnNjcm9sbEludG9WaWV3KHtiZWhhdmlvcjonc21vb3RoJyxibG9jazonY2VudGVyJ30pfSwxMjApOwp9KTsKCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXNldEJ0bicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbigpewogIGlmKCFjb25maXJtKCdSZXNldCBhbGwgYW5zd2Vycz8nKSlyZXR1cm47CiAgbG9jYXRpb24ucmVsb2FkKCk7Cn0pOwoKLy8gV3JpdGluZyB3b3JkIGNvdW50ZXIKdmFyIHRhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3cml0aW5nQXJlYScpLHdjPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3Y0NvdW50ZXInKTsKdGEuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLGZ1bmN0aW9uKCl7CiAgdmFyIHc9dGEudmFsdWUudHJpbSgpLnNwbGl0KC9ccysvKS5maWx0ZXIoQm9vbGVhbikubGVuZ3RoOwogIHdjLnRleHRDb250ZW50PXcrJyB3b3JkcyBcdTAwQjcgdGFyZ2V0IDI1XHUyMDEzMzUnOwogIHdjLmNsYXNzTGlzdC5yZW1vdmUoJ29rJywnb3ZlcicpOwogIGlmKHc+PTI1KWlmKHc8PTM1KXdjLmNsYXNzTGlzdC5hZGQoJ29rJyk7CiAgZWxzZSBpZih3PjM1KXdjLmNsYXNzTGlzdC5hZGQoJ292ZXInKTsKfSk7CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzYW1wbGVUb2dnbGUnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oKXsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2FtcGxlQm94JykuY2xhc3NMaXN0LnRvZ2dsZSgnc2hvdycpOwp9KTsKCi8vID09PT09IFNIT1cgQU5TV0VSIFBFUi1RIEZFQVRVUkUgPT09PT0KZnVuY3Rpb24gZ2V0QW5zRm9yUShuKXsKICBpZihuPj0xKSBpZihuPD01KSByZXR1cm4gKFAxLmZpbmQoZnVuY3Rpb24oeCl7cmV0dXJuIHgubj09PW59KXx8e30pLmFuczsKICBpZihuPj02KSBpZihuPD0xMCkgcmV0dXJuIChQMi5maW5kKGZ1bmN0aW9uKHgpe3JldHVybiB4Lm49PT1ufSl8fHt9KS5hbnM7CiAgaWYobj49MTEpIGlmKG48PTE1KSByZXR1cm4gKFAzYS5maW5kKGZ1bmN0aW9uKHgpe3JldHVybiB4Lm49PT1ufSl8fHt9KS5hbnM7CiAgaWYobj49MjEpIGlmKG48PTI3KSByZXR1cm4gKFA0LmZpbmQoZnVuY3Rpb24oeCl7cmV0dXJuIHgubj09PW59KXx8e30pLmFuczsKICBpZihuPj0yOCkgaWYobjw9MzUpIHJldHVybiAoUDUuZmluZChmdW5jdGlvbih4KXtyZXR1cm4geC5uPT09bn0pfHx7fSkuYW5zOwogIHJldHVybiBudWxsOwp9Ci8vIE1DUSBxLWl0ZW1zOiBhcHBlbmQgU2hvdyBBbnN3ZXIgYnV0dG9uCmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5xLWl0ZW0nKS5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pewogIGlmKGl0ZW0ucXVlcnlTZWxlY3RvcignLnNob3ctYW5zLWJ0bicpKSByZXR1cm47CiAgdmFyIHFpZD1wYXJzZUludChpdGVtLmRhdGFzZXQucWlkKTsKICB2YXIgYnRuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogIGJ0bi5jbGFzc05hbWU9J3Nob3ctYW5zLWJ0bic7IGJ0bi50eXBlPSdidXR0b24nOwogIGJ0bi5pbm5lckhUTUw9J1x1ezFGNDQxfSBTaG93IEFuc3dlcic7CiAgYnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbigpewogICAgdmFyIGlzUDY9ZmFsc2U7IGlmKHFpZD49MzYpIGlmKHFpZDw9NDApIGlzUDY9dHJ1ZTsKICAgIGlmKGlzUDYpewogICAgICAvLyBQYXJ0IDYgc3BlbGwgaW5wdXQKICAgICAgdmFyIHA2cT1QNi5maW5kKGZ1bmN0aW9uKHgpe3JldHVybiB4Lm49PT1xaWR9KTsKICAgICAgdmFyIGlucHV0PWl0ZW0ucXVlcnlTZWxlY3RvcignLmlucHV0LWJsYW5rJyk7CiAgICAgIGlmKGlucHV0KSBpZihwNnEpe2lucHV0LnZhbHVlPXA2cS5hbnM7IGlucHV0LmNsYXNzTGlzdC5hZGQoJ2NvcnJlY3QnKTsgaW5wdXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2lucHV0JykpO30KICAgICAgdmFyIGZiNj1pdGVtLnF1ZXJ5U2VsZWN0b3IoJy5mZWVkYmFjaycpOwogICAgICBpZihmYjYpIGlmKHA2cSl7aXRlbS5jbGFzc0xpc3QuYWRkKCdhbnN3ZXJlZCcpOyBpdGVtLmNsYXNzTGlzdC5hZGQoJ2NvcnJlY3QnKTsgZmI2LnRleHRDb250ZW50PSdcdXsxRjQ0MX0gQW5zd2VyOiAnK3A2cS5hbnM7fQogICAgfSBlbHNlIHsKICAgICAgdmFyIGFucz1nZXRBbnNGb3JRKHFpZCk7CiAgICAgIGlmKCFhbnMpIHJldHVybjsKICAgICAgLy8gaGlnaGxpZ2h0IGNvcnJlY3Qgb3B0aW9uCiAgICAgIHZhciBjb3JyZWN0T3B0PWl0ZW0ucXVlcnlTZWxlY3RvcignLm9wdFtkYXRhLWxldHRlcj0iJythbnMrJyJdJyk7CiAgICAgIGlmKGNvcnJlY3RPcHQpe2NvcnJlY3RPcHQuY2xhc3NMaXN0LmFkZCgnY29ycmVjdC1vcHQnKTt9CiAgICAgIC8vIHNpbXVsYXRlIGNsaWNrIHNvIHVwZGF0ZVByb2dyZXNzIGZpcmVzCiAgICAgIHZhciBmYj1pdGVtLnF1ZXJ5U2VsZWN0b3IoJy5mZWVkYmFjaycpOwogICAgICBpZihmYil7aXRlbS5jbGFzc0xpc3QuYWRkKCdhbnN3ZXJlZCcpOyBmYi5zdHlsZS5iYWNrZ3JvdW5kPSdyZ2JhKDE2LDE4NSwxMjksLjEyKSc7IGZiLnN0eWxlLmNvbG9yPScjMDY1RjQ2JzsgZmIudGV4dENvbnRlbnQ9J1x1ezFGNDQxfSBBbnN3ZXI6ICcrYW5zO30KICAgIH0KICAgIGJ0bi5kaXNhYmxlZD10cnVlOwogIH0pOwogIGl0ZW0uYXBwZW5kQ2hpbGQoYnRuKTsKfSk7Ci8vIFBhcnQgM2Igc2VsZWN0czogYXBwZW5kIGlubGluZSBTaG93IEFuc3dlciBidXR0b24KWzE2LDE3LDE4LDE5LDIwXS5mb3JFYWNoKGZ1bmN0aW9uKHFpZCl7CiAgdmFyIHNlbD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucS1zZWxlY3RbZGF0YS1xaWQ9IicrcWlkKyciXScpOwogIGlmKCFzZWwpIHJldHVybjsKICB2YXIgYnRuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogIGJ0bi5jbGFzc05hbWU9J3Nob3ctYW5zLWJ0bi1pbmxpbmUnOyBidG4udHlwZT0nYnV0dG9uJzsKICB2YXIgYW5zPVAzYkFuc1txaWRdOwogIGJ0bi5pbm5lckhUTUw9J1x1ezFGNDQxfSAnK2FuczsKICBidG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKCl7CiAgICBzZWwudmFsdWU9YW5zOyBzZWwuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2NoYW5nZScpKTsKICAgIHNlbC5zdHlsZS5ib3JkZXJDb2xvcj0nIzEwQjk4MSc7IHNlbC5zdHlsZS5ib3JkZXJXaWR0aD0nMnB4Jzsgc2VsLnN0eWxlLmJvcmRlclN0eWxlPSdzb2xpZCc7CiAgICBidG4uZGlzYWJsZWQ9dHJ1ZTsKICB9KTsKICBzZWwuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCdhZnRlcmVuZCcsIGJ0bik7Cn0pOwovLyBQYXJ0IDcgJiA4IGlucHV0czogYXBwZW5kIGlubGluZSBTaG93IEFuc3dlciBidXR0b24KZm9yKHZhciBxaT00MTtxaTw9NTU7cWkrKyl7CiAgKGZ1bmN0aW9uKHFpZCl7CiAgICB2YXIgaW5wPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5pbnB1dC1ibGFua1tkYXRhLXE9IicrcWlkKyciXScpOwogICAgaWYoIWlucCkgcmV0dXJuOwogICAgdmFyIGFucz0ocWlkPD01MCk\/UDdBbnNbcWlkXVswXTpQOEFuc1txaWRdWzBdOwogICAgdmFyIGJ0bj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTsKICAgIGJ0bi5jbGFzc05hbWU9J3Nob3ctYW5zLWJ0bi1pbmxpbmUnOyBidG4udHlwZT0nYnV0dG9uJzsKICAgIGJ0bi5pbm5lckhUTUw9J1x1ezFGNDQxfSAnK2FuczsKICAgIGJ0bi50aXRsZT0nQ2xpY2sgdG8gZmlsbDogJythbnM7CiAgICBidG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKCl7CiAgICAgIGlucC52YWx1ZT1hbnM7IGlucC5jbGFzc0xpc3QuYWRkKCdjb3JyZWN0Jyk7IGlucC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnaW5wdXQnKSk7CiAgICAgIGJ0bi5kaXNhYmxlZD10cnVlOwogICAgfSk7CiAgICBpbnAuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCdhZnRlcmVuZCcsIGJ0bik7CiAgfSkocWkpOwp9Cgp9KSgpOwo='));<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>All English 4U Grammar IELTS TOEFL Cambridge CELPIP Dictation Back Grammar IELTS TOEFL Cambridge CELPIP Dictation Cambridge English &#183; Key (KET) KET 6 &#8212; Test 3Reading &amp; Writing Practise the full A2 Key Reading &amp; Writing paper &#8212; 9 parts, 56 questions, instant auto-grading. Test yourself like the real exam, then check answers and learn [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-with-title","meta":{"footnotes":""},"class_list":["post-4439","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/4439","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/comments?post=4439"}],"version-history":[{"count":2,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/4439\/revisions"}],"predecessor-version":[{"id":5880,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/4439\/revisions\/5880"}],"wp:attachment":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/media?parent=4439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}