{"id":4023,"date":"2026-06-15T01:13:56","date_gmt":"2026-06-15T01:13:56","guid":{"rendered":"https:\/\/allenglish4u.com\/cambridge-ket-5-test-1-rw\/"},"modified":"2026-07-05T02:44:10","modified_gmt":"2026-07-05T02:44:10","slug":"cambridge-ket-5-test-1-rw","status":"publish","type":"page","link":"https:\/\/allenglish4u.com\/vi\/cambridge-ket-5-test-1-rw\/","title":{"rendered":"KET 5 \u2014 Test 1 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 5 &#8212; Test 1<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>FIRE EXIT ONLY &#8211;<br>NO ENTRANCE TO GARDEN<\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">B<\/span>Bed and Breakfast<br><b>Only &#163;24.95<\/b><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">C<\/span>This way to the<br>restaurant garden &#8658;<\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">D<\/span><b>Dinner is served in the restaurant until 10.00 p.m. daily<\/b><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">E<\/span>There is a special children&#8217;s menu &#8211; please ask your waitress<\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">F<\/span><b>Galaxy Restaurant<\/b><br><sub style=\"font-size:11px;font-weight:600;font-style:italic\">We have high chairs for young children<\/sub><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">G<\/span><b>Riverside Restaurant<\/b><br><sub style=\"font-size:11px;font-weight:600\">Please ask us to find you a table<\/sub><\/div>\n      <div class=\"notice\" style=\"opacity:.55\"><span class=\"notice-letter\">H<\/span><b>Antec Computers<\/b><br><sub style=\"font-size:11px;font-weight:600\">All staff must use night entrance 6 p.m. &#8211; 6 a.m.<\/sub><br><sub style=\"font-size:10px;color:var(--muted);font-style:italic;font-weight:600\">(example)<\/sub><\/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\">Working in a library<\/h2>\n        <p>Read the sentences (6&#8211;10) about working in a library. 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> Elena <u>was<\/u> a Saturday job working in a library a few months ago. <b>(Answer: C)<\/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\">A game of tennis: Juan &amp; Rob<\/h2>\n        <p>Complete the conversation about a game of tennis. What does Juan say to Rob? For each blank, choose the correct letter A&#8211;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>Rob:<\/b> Are you free on Saturday afternoon?<\/p>\n      <p><b>Juan:<\/b> <span style=\"color:var(--accent-1);font-weight:700\">(Example: D)<\/span><\/p>\n      <p><b>Rob:<\/b> Would you like to play tennis?<\/p>\n      <p><b>Juan:<\/b> <select class=\"q-select\" data-qid=\"16\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>E<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Rob:<\/b> Yes, at the sports centre at 3 o&#8217;clock.<\/p>\n      <p><b>Juan:<\/b> <select class=\"q-select\" data-qid=\"17\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>E<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Rob:<\/b> That&#8217;s OK. You&#8217;ll be fine!<\/p>\n      <p><b>Juan:<\/b> <select class=\"q-select\" data-qid=\"18\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>E<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Rob:<\/b> About an hour should be enough. We can stop if we get tired.<\/p>\n      <p><b>Juan:<\/b> <select class=\"q-select\" data-qid=\"19\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>E<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Rob:<\/b> Your house is nearer to the sports centre so I&#8217;ll see you there at 2.30. We can go in my car.<\/p>\n      <p><b>Juan:<\/b> <select class=\"q-select\" data-qid=\"20\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>E<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Rob:<\/b> No problem. It&#8217;ll be fun.<\/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> Are you a good player?<\/div>\n      <div><b>B<\/b> Great! Then we won&#8217;t have to walk back. Thanks very much.<\/div>\n      <div><b>C<\/b> OK. Have you booked somewhere to play?<\/div>\n      <div style=\"opacity:.5\"><b>D<\/b> Yes. I&#8217;m not doing anything. <i>(example)<\/i><\/div>\n      <div><b>E<\/b> Alright. Where shall I meet you?<\/div>\n      <div><b>F<\/b> You know I haven&#8217;t played for a long time.<\/div>\n      <div><b>G<\/b> It&#8217;s not expensive to play.<\/div>\n      <div><b>H<\/b> How long are we going to play for?<\/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\">A great idea!<\/h2>\n        <p>Read the article about two Canadian boys. Are sentences 21&#8211;27 <b>&#8216;Right&#8217; (A)<\/b> or <b>&#8216;Wrong&#8217; (B)<\/b>? If there is not enough information to answer &#8216;Right&#8217; or &#8216;Wrong&#8217;, choose <b>&#8216;Doesn&#8217;t say&#8217; (C)<\/b>.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"passage\">\n      <h3>A great idea!<\/h3>\n      <p>Frazer and Peter are two 14-year-old boys who grew up in the same small Canadian town. They have always been friends and classmates. Like all their other friends, they enjoy going fishing or swimming at weekends. But for the last few months, they&#8217;ve spent every weekend in Peter&#8217;s room working on his laptop. This isn&#8217;t because they have a lot of homework. They have made a new computer word game.<\/p>\n      <p>The idea for the game came from Frazer&#8217;s little brother, Kevin, who had problems with his reading. Kevin learns words more easily by seeing pictures and hearing information than he does by reading. His brother wanted to help. Frazer and Peter worked together for over 200 hours to make a computer game and now it&#8217;s ready to use. It&#8217;s a speaking and picture game. For example, if you look at the word &#8216;hat&#8217;, there&#8217;s a drawing of a hat next to it and you can hear Peter saying &#8216;Hat! Hat!&#8217; at the same time.<\/p>\n      <p>The two boys have won a lot of prizes for their computer game and it will soon be on sale around the world. Many schools are interested in buying it.<\/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> Peter and Frazer are both teenagers. &#8594; <b>A (Right)<\/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\">Parrots &#8212; gap fill<\/h2>\n        <p>Read the article about parrots. Choose the best word (A, B or C) for each space.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"cloze-passage\">\n      <h3>Parrots<\/h3>\n      <p>Perhaps you have seen <u><b style=\"color:var(--accent-1)\">these<\/b><\/u> beautiful birds, with their lovely colours and long tails in the forest or in the zoo. Parrots are <span data-q=\"28\" class=\"cloze-blank\">[28]<\/span> in countries like Brazil, Australia and India. They usually live in large groups and <span data-q=\"29\" class=\"cloze-blank\">[29]<\/span> they like to eat fruit, they are <span data-q=\"30\" class=\"cloze-blank\">[30]<\/span> a problem for farmers.<\/p>\n      <p><span data-q=\"31\" class=\"cloze-blank\">[31]<\/span> are many different kinds of parrots, but they all have strong beaks and feet, which they use <span data-q=\"32\" class=\"cloze-blank\">[32]<\/span> climbing and holding food. The biggest birds <span data-q=\"33\" class=\"cloze-blank\">[33]<\/span> live for up to 80 years.<\/p>\n      <p>They are <span data-q=\"34\" class=\"cloze-blank\">[34]<\/span> noisy, but they are clever birds and it is easy to teach them to talk. Some zoos have parrot shows, where you can see the birds <span data-q=\"35\" class=\"cloze-blank\">[35]<\/span> things they have learned.<\/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 for hobbies &#8212; spell the word<\/h2>\n        <p>Read the descriptions (36&#8211;40) of some things you need to enjoy different hobbies. The first letter is given. Type the word. <b>Example (0):<\/b> If you enjoy taking pictures, you&#8217;ll need one of these. &#8594; <b>camera<\/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 email<\/h2>\n        <p>Read the email from Greg to his friend Anna. Type <b>ONE word<\/b> for each space (41&#8211;50). (Example: <i>not<\/i>)<\/p>\n      <\/div>\n    <\/div>\n\n    <div style=\"max-width:600px;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:'Courier New',monospace\">\n        <div style=\"border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:12px\"><b>From:<\/b> Greg<br><b>To:<\/b> Anna<\/div>\n        <p>Hi Anna,<\/p>\n        <p>I&#8217;m (Example: <u>not<\/u>) having a very good week!<\/p>\n        <p>Yesterday my team had <input class=\"input-blank\" data-q=\"41\" type=\"text\"> volleyball match, but we lost. The other team played much better <input class=\"input-blank\" data-q=\"42\" type=\"text\"> we did! Then my friend Jeff, who lives in Australia, telephoned with bad news. He can&#8217;t come to stay <input class=\"input-blank\" data-q=\"43\" type=\"text\"> us during the holidays because he&#8217;s got a summer job. We can&#8217;t <input class=\"input-blank\" data-q=\"44\" type=\"text\"> camping together now. And this morning, my sister got <input class=\"input-blank\" data-q=\"45\" type=\"text\"> late so she rode my bike <input class=\"input-blank\" data-q=\"46\" type=\"text\"> school! She didn&#8217;t tell <input class=\"input-blank\" data-q=\"47\" type=\"text\"> she needed to use <input class=\"input-blank\" data-q=\"48\" type=\"text\">. I&#8217;m really angry with <input class=\"input-blank\" data-q=\"49\" type=\"text\">.<\/p>\n        <p>I hope you have some good news! Write back today <input class=\"input-blank\" data-q=\"50\" type=\"text\"> you can.<\/p>\n        <p>Greg<\/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\">Sarika&#8217;s notes &#8212; theatre trip<\/h2>\n        <p>Read the advertisement and the note about a theatre centre. Fill in the information in Sarika&#8217;s notes (51&#8211;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:2px solid var(--text);border-radius:12px;padding:16px 18px;font-size:14px;line-height:1.7;height:fit-content\">\n        <div style=\"text-align:center;font-weight:800;letter-spacing:.03em;border-bottom:2px solid var(--text);padding-bottom:6px\">ANGEL THEATRE CENTRE<\/div>\n        <div style=\"text-align:center;margin-top:8px\">Saturday, June 22nd and Sunday, June 23rd<\/div>\n        <div style=\"margin-top:8px\"><b>Large Theatre &#8211; The Last Man<\/b><br><b>Small Theatre &#8211; Storm<\/b><\/div>\n        <div style=\"margin-top:8px\">Saturday: 2 pm \/ 5 pm<br>Sunday: 11 am \/ 1 pm<\/div>\n        <div style=\"margin-top:8px\">Adult &#163;10.00 &nbsp; Students &#163;6.00<\/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        <p style=\"margin-bottom:8px\">Dear Sarika,<\/p>\n        <p style=\"margin-bottom:8px\">Do you know my cousin? She has just started at our university.<\/p>\n        <p style=\"margin-bottom:8px\">She wants to come to the theatre with us. Both days are fine, but I would like to go in the morning.<\/p>\n        <p style=\"margin-bottom:0\">I&#8217;ve heard that <i>The Last Man<\/i> is boring so perhaps we should see the other play. Thanks for booking this.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"form-card\">\n      <h4>Sarika&#8217;s notes<\/h4>\n      <div class=\"form-row\"><label>Trip to:<\/label><span style=\"font-weight:600;color:var(--accent-2);font-style:italic\">Angel Theatre Centre<\/span><\/div>\n      <div class=\"form-row\"><label>Name of play:<\/label><input class=\"input-blank\" data-q=\"51\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Time:<\/label><input class=\"input-blank\" data-q=\"52\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Date:<\/label><input class=\"input-blank\" data-q=\"53\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Number of people:<\/label><input class=\"input-blank\" data-q=\"54\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Price per person: &#163;<\/label><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 Mike<\/h2>\n        <p>This part is <b>not auto-graded<\/b>. Write your email, then click <i>Show Sample Answer<\/i> to see examples with examiner marks.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"writing-card\">\n      <div class=\"prompt-box\">\n        <b>Read this email from your friend, Mike. Write an email to Mike and answer his questions.<\/b>\n        <div style=\"background:#fff;border:1px dashed var(--accent-1);border-radius:10px;padding:12px 14px;margin:12px 0;font-style:italic;line-height:1.55\">\n          <b>From:<\/b> Mike<br>\n          So you finally bought a mobile phone. Tell me about it. What do you like about it? How much did it cost? What colour is it?<br><br>\n          Write soon.\n        <\/div>\n        Your email must include:\n        <ul>\n          <li><b>what<\/b> you like about it<\/li>\n          <li><b>how much<\/b> it cost<\/li>\n          <li>its <b>colour<\/b><\/li>\n        <\/ul>\n        Write 25&#8211;35 words.\n      <\/div>\n      <textarea class=\"writing-area\" id=\"writingArea\" placeholder=\"Type your email 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\">Sample answers &#8212; with examiner marks<\/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 &#8212; Mark 5\/5 (all three questions answered, no errors)<\/b>\n          <p style=\"margin-top:6px\">Hi Mike,<\/p>\n          <p>Yes, I bought a mobile phone last week! I love it because I can text my friends and play games on it. It cost ninety dollars and it is bright red. Talk soon! Tom<\/p>\n        <\/div>\n\n        <div style=\"background:#fff;border-left:3px solid var(--accent-1);padding:10px 14px;margin-bottom:12px;border-radius:0 8px 8px 0\">\n          <b style=\"color:var(--accent-1);font-size:12.5px;letter-spacing:.05em\">SAMPLE B &#8212; Mark 4\/5 (some spelling &amp; grammar errors, but clear)<\/b>\n          <p style=\"margin-top:6px\">Hello Mike,<\/p>\n          <p>I have a new mobile phone now. I like it very much because is small and take good photos. It cost me 80 euro and the colour is black. See you! Marco<\/p>\n        <\/div>\n\n        <div style=\"background:#fff;border-left:3px solid var(--red);padding:10px 14px;border-radius:0 8px 8px 0\">\n          <b style=\"color:var(--red);font-size:12.5px;letter-spacing:.05em\">SAMPLE C &#8212; Mark 3\/5 (only two of the three questions answered)<\/b>\n          <p style=\"margin-top:6px\">Dear Mike,<\/p>\n          <p>My new phone is fantastic! I like it because I can call my family every day and listen to music. It is a beautiful blue colour. Write back soon! Lin<\/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 5 Test 1 &#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('CihmdW5jdGlvbigpewovLyA9PT09PSBIZWFkZXIgc2Nyb2xsID09PT09CnZhciBoZHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hkcicpOwp2YXIgc2V0U29saWQ9ZnVuY3Rpb24oKXtpZih3aW5kb3cuc2Nyb2xsWT40MCloZHIuY2xhc3NMaXN0LmFkZCgnc29saWQnKTtlbHNlIGhkci5jbGFzc0xpc3QucmVtb3ZlKCdzb2xpZCcpfTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsc2V0U29saWQse3Bhc3NpdmU6dHJ1ZX0pO3NldFNvbGlkKCk7CgovLyBkcmF3ZXIKdmFyIGhhbWI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hhbWInKSxkcmF3ZXI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RyYXdlcicpLGRDbG9zZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHJhd2VyQ2xvc2UnKTsKaWYoaGFtYiloYW1iLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbigpe2RyYXdlci5jbGFzc0xpc3QuYWRkKCdvcGVuJyl9KTsKaWYoZENsb3NlKWRDbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oKXtkcmF3ZXIuY2xhc3NMaXN0LnJlbW92ZSgnb3BlbicpfSk7CmlmKGRyYXdlcilkcmF3ZXIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKGUpe2lmKGUudGFyZ2V0PT09ZHJhd2VyKWRyYXdlci5jbGFzc0xpc3QucmVtb3ZlKCdvcGVuJyl9KTsKCi8vID09PT09IERBVEEgPT09PT0KdmFyIFAxID0gWwogIHtuOjEsdGV4dDonWW91bmcgcGVvcGxlIGFuZCB0aGVpciBwYXJlbnRzIG1heSBjaG9vc2UgZGlmZmVyZW50IG1lYWxzLicsb3B0czonQUJDREVGRycsYW5zOidFJ30sCiAge246Mix0ZXh0OidZb3UgY2FuIGVhdCBoZXJlIGluIHRoZSBldmVuaW5ncy4nLG9wdHM6J0FCQ0RFRkcnLGFuczonRCd9LAogIHtuOjMsdGV4dDonVGhlIHdhaXRyZXNzIHdpbGwgc2hvdyB5b3Ugd2hlcmUgdG8gc2l0Licsb3B0czonQUJDREVGRycsYW5zOidHJ30sCiAge246NCx0ZXh0OidZb3UgY2FuIHN0YXkgdGhlIG5pZ2h0IGhlcmUuJyxvcHRzOidBQkNERUZHJyxhbnM6J0InfSwKICB7bjo1LHRleHQ6J1lvdSBzaG91bGQgbm90IHVzdWFsbHkgdXNlIHRoaXMgZG9vciB0byBnbyBvdXRzaWRlLicsb3B0czonQUJDREVGRycsYW5zOidBJ30sCl07CnZhciBQMiA9IFsKICB7bjo2LHRleHQ6J09uIFNhdHVyZGF5cywgYSBsb3Qgb2YgcGVvcGxlIHZpc2l0IHRoZSBsaWJyYXJ5IHdoZXJlIEVsZW5hIHdvcmtzIGFuZCBpdCBpcyBhbHdheXMgX19fX18uJyxvcHRzOltbJ0EnLCdidXN5J10sWydCJywnaGVhdnknXSxbJ0MnLCdzdHJvbmcnXV0sYW5zOidBJ30sCiAge246Nyx0ZXh0OiInVGhlIGpvYiBpcyBfX19fXyBiZWNhdXNlIEkgbWVldCBhIGxvdCBvZiBkaWZmZXJlbnQgcGVvcGxlLCcgRWxlbmEgc2F5cy4iLG9wdHM6W1snQScsJ2ZyaWVuZGx5J10sWydCJywnaW50ZXJlc3RpbmcnXSxbJ0MnLCdmYXZvdXJpdGUnXV0sYW5zOidCJ30sCiAge246OCx0ZXh0OidIZXIgam9iIGlzIHRvIF9fX19fIGFsbCB0aGUgYm9va3Mgd2hlbiBwZW9wbGUgYnJpbmcgdGhlbSBiYWNrLicsb3B0czpbWydBJywnbG9vayddLFsnQicsJ3dhdGNoJ10sWydDJywnY2hlY2snXV0sYW5zOidDJ30sCiAge246OSx0ZXh0OidFbGVuYSBoYXMgdG8gcHV0IGFsbCB0aGUgYm9va3MgYmFjayBvbiB0aGUgX19fX18gc2hlbGYuJyxvcHRzOltbJ0EnLCdnb29kJ10sWydCJywncG9zc2libGUnXSxbJ0MnLCdyaWdodCddXSxhbnM6J0MnfSwKICB7bjoxMCx0ZXh0OidTb21ldGltZXMgcGVvcGxlIF9fX19fIHRvIHJldHVybiB0aGVpciBib29rcyBvbiB0aW1lLicsb3B0czpbWydBJywndGhpbmsnXSxbJ0InLCdmb3JnZXQnXSxbJ0MnLCdtaW5kJ11dLGFuczonQid9LApdOwp2YXIgUDNhID0gWwogIHtuOjExLHRleHQ6J0hhdmUgYSBnb29kIGhvbGlkYXkuJyxvcHRzOltbJ0EnLCdUaGFua3MsIEkgd2lsbC4nXSxbJ0InLCdJIHRoaW5rIHNvLiddLFsnQycsJ1llcywgdmVyeSBtdWNoLiddXSxhbnM6J0EnfSwKICB7bjoxMix0ZXh0OidXaGF0IGFib3V0IGdvaW5nIHNob3BwaW5nIHRoaXMgYWZ0ZXJub29uPycsb3B0czpbWydBJywiSSdtIHRvbyB0aXJlZCEiXSxbJ0InLCdXaGF0IGEgcGl0eSEnXSxbJ0MnLCJUaGF0J3Mgbm90IHJpZ2h0ISJdXSxhbnM6J0EnfSwKICB7bjoxMyx0ZXh0OiJJIGNhbid0IGRvIG15IGhvbWV3b3JrLiIsb3B0czpbWydBJywnQ2FuIHlvdSBiZSBjYXJlZnVsPyddLFsnQicsIllvdSBjYW4ndCBoYXZlIHRoYXQuIl0sWydDJywnT2YgY291cnNlIHlvdSBjYW4uJ11dLGFuczonQyd9LAogIHtuOjE0LHRleHQ6J1doaWNoIG9mIHRoZSBib3lzIGlzIHlvdXIgZnJpZW5kPycsb3B0czpbWydBJywiSGUgc2F5cyBJJ20gcmlnaHQuIl0sWydCJywiWWVzIGhlIGlzLCBpc24ndCBoZT8iXSxbJ0MnLCdUaGF0IG9uZSBvdmVyIHRoZXJlLiddXSxhbnM6J0MnfSwKICB7bjoxNSx0ZXh0OiJJJ3ZlIHdhaXRlZCBoZXJlIGZvciB0d28gaG91cnMhIixvcHRzOltbJ0EnLCdZZXMgeW91IGRvLiddLFsnQicsIkknbSBzb3JyeSBhYm91dCB0aGF0LiJdLFsnQycsIkl0IGRpZG4ndCBtYXR0ZXIuIl1dLGFuczonQid9LApdOwp2YXIgUDNiQW5zID0gezE2OidDJywxNzonRicsMTg6J0gnLDE5OidFJywyMDonQid9Owp2YXIgUDQgPSBbCiAge246MjEsdGV4dDonUGV0ZXIgYW5kIEZyYXplciBnbyB0byB0aGUgc2FtZSBzY2hvb2wgaW4gQ2FuYWRhLicsb3B0czpbWydBJywnUmlnaHQnXSxbJ0InLCdXcm9uZyddLFsnQycsIkRvZXNuJ3Qgc2F5Il1dLGFuczonQSd9LAogIHtuOjIyLHRleHQ6J1BldGVyIGFuZCBGcmF6ZXIgbGlrZSBkb2luZyBkaWZmZXJlbnQgc3BvcnRzIHRvIHRoZWlyIGZyaWVuZHMuJyxvcHRzOltbJ0EnLCdSaWdodCddLFsnQicsJ1dyb25nJ10sWydDJywiRG9lc24ndCBzYXkiXV0sYW5zOidCJ30sCiAge246MjMsdGV4dDonRm9yIHRoZSBwYXN0IGZldyBtb250aHMsIHRoZSBib3lzIGhhdmUgc3BlbnQgbW9zdCBvZiB0aGVpciB0aW1lIG91dHNpZGUuJyxvcHRzOltbJ0EnLCdSaWdodCddLFsnQicsJ1dyb25nJ10sWydDJywiRG9lc24ndCBzYXkiXV0sYW5zOidCJ30sCiAge246MjQsdGV4dDonUGV0ZXIgYW5kIEZyYXplciBwcmVmZXIgcGxheWluZyBjb21wdXRlciBnYW1lcyB0byBkb2luZyB0aGVpciBob21ld29yay4nLG9wdHM6W1snQScsJ1JpZ2h0J10sWydCJywnV3JvbmcnXSxbJ0MnLCJEb2Vzbid0IHNheSJdXSxhbnM6J0InfSwKICB7bjoyNSx0ZXh0OidJdCB0b29rIGxlc3MgdGhhbiAyMDAgaG91cnMgdG8gZmluaXNoIHRoZSBuZXcgY29tcHV0ZXIgZ2FtZS4nLG9wdHM6W1snQScsJ1JpZ2h0J10sWydCJywnV3JvbmcnXSxbJ0MnLCJEb2Vzbid0IHNheSJdXSxhbnM6J0EnfSwKICB7bjoyNix0ZXh0OidJbiB0aGUgY29tcHV0ZXIgZ2FtZSwgeW91IHNlZSBhIHBpY3R1cmUgb2YgYSB3b3JkIGFuZCBoZWFyIGl0IHNwb2tlbi4nLG9wdHM6W1snQScsJ1JpZ2h0J10sWydCJywnV3JvbmcnXSxbJ0MnLCJEb2Vzbid0IHNheSJdXSxhbnM6J0MnfSwKICB7bjoyNyx0ZXh0OidTdHVkZW50cyBpbiBvdGhlciBjb3VudHJpZXMgaGF2ZSBzYWlkIHRoZXkgd291bGQgbGlrZSB0byB1c2UgdGhlIGNvbXB1dGVyIGdhbWUuJyxvcHRzOltbJ0EnLCdSaWdodCddLFsnQicsJ1dyb25nJ10sWydDJywiRG9lc24ndCBzYXkiXV0sYW5zOidDJ30sCl07CnZhciBQNSA9IFsKICB7bjoyOCxvcHRzOltbJ0EnLCdmaW5kcyddLFsnQicsJ2ZpbmQnXSxbJ0MnLCdmb3VuZCddXSxhbnM6J0MnfSwKICB7bjoyOSxvcHRzOltbJ0EnLCdzbyddLFsnQicsJ3RoYXQnXSxbJ0MnLCdiZWNhdXNlJ11dLGFuczonQyd9LAogIHtuOjMwLG9wdHM6W1snQScsJ3NvbWV3aGVyZSddLFsnQicsJ3NvbWV0aW1lcyddLFsnQycsJ3NvbWV0aGluZyddXSxhbnM6J0InfSwKICB7bjozMSxvcHRzOltbJ0EnLCdIZXJlJ10sWydCJywnVGhleSddLFsnQycsJ1RoZXJlJ11dLGFuczonQyd9LAogIHtuOjMyLG9wdHM6W1snQScsJ2ZvciddLFsnQicsJ2J5J10sWydDJywnd2l0aCddXSxhbnM6J0EnfSwKICB7bjozMyxvcHRzOltbJ0EnLCdjYW4nXSxbJ0InLCdkaWQnXSxbJ0MnLCdhcmUnXV0sYW5zOidBJ30sCiAge246MzQsb3B0czpbWydBJywnbW9yZSddLFsnQicsJ3ZlcnknXSxbJ0MnLCdtdWNoJ11dLGFuczonQid9LAogIHtuOjM1LG9wdHM6W1snQScsJ2RvbmUnXSxbJ0InLCdkb2luZyddLFsnQycsJ2RvZXMnXV0sYW5zOidCJ30sCl07CnZhciBQNiA9IFsKICB7bjozNix0ZXh0OiJJZiB5b3UgZW5qb3kgY2FtcGluZywgeW91J2xsIG5lZWQgdGhpcyB0byBzbGVlcCBpbi4iLGZpcnN0Oid0JyxhbnM6J3RlbnQnfSwKICB7bjozNyx0ZXh0OidQZW9wbGUgbGVhcm4gdG8gcGxheSBtdXNpYyBvbiB0aGlzLicsZmlyc3Q6J2cnLGFuczonZ3VpdGFyJ30sCiAge246MzgsdGV4dDonSWYgeW91IGxpa2UgcmVhZGluZyBzdG9yaWVzIGFib3V0IHBvcCBzdGFycywgeW91IG1heSBuZWVkIHRvIGJ1eSB0aGVzZSBldmVyeSB3ZWVrLicsZmlyc3Q6J20nLGFuczonbWFnYXppbmVzJ30sCiAge246MzksdGV4dDonUGVvcGxlIHdobyBsaWtlIHdhbGtpbmcgaW4gdGhlIGZvcmVzdCBuZWVkIHRoZXNlIHRvIGtlZXAgdGhlaXIgZmVldCBkcnkuJyxmaXJzdDonYicsYW5zOidib290cyd9LAogIHtuOjQwLHRleHQ6J0lmIHlvdSBlbmpveSB3YXRjaGluZyBmaWxtcyBhdCBob21lLCB5b3UgbWF5IG5lZWQgdG8gcmVudCB0aGlzLicsZmlyc3Q6J3YnLGFuczondmlkZW8nfSwKXTsKdmFyIFA3QW5zID0gewogIDQxOlsnYSddLAogIDQyOlsndGhhbicsJ2JlY2F1c2UnXSwKICA0MzpbJ3dpdGgnXSwKICA0NDpbJ2dvJ10sCiAgNDU6Wyd1cCddLAogIDQ2OlsndG8nXSwKICA0NzpbJ21lJywnYW55b25lJywndXMnXSwKICA0ODpbJ2l0J10sCiAgNDk6WydoZXInXSwKICA1MDpbJ2lmJywnd2hlbiddLAp9Owp2YXIgUDhBbnMgPSB7CiAgNTE6WydzdG9ybSddLAogIDUyOlsnMTEnLCcxMS4wMCcsJzExIGFtJywnMTFhbScsJzExLjAwYW0nLCcxMS4wMCBhbScsJzExIGEubS4nLCdlbGV2ZW4nLCJlbGV2ZW4gbydjbG9jayIsIjExIG8nY2xvY2siLCIxMS4wMCBvJ2Nsb2NrIl0sCiAgNTM6WydzdW5kYXkgMjNyZCBqdW5lJywnc3VuZGF5IDIzIGp1bmUnLCcyM3JkIGp1bmUnLCcyMyBqdW5lJywnc3VuZGF5JywnMjNyZCcsJ3N1bmRheSAyM3JkJywnc3VuZGF5IDIzcmQganVuZScsJ3R3ZW50eS10aGlyZCBqdW5lJywnMjNyZCBvZiBqdW5lJ10sCiAgNTQ6WyczJywndGhyZWUnXSwKICA1NTpbJzYnLCdcdTAwQTM2JywnNi4wMCcsJ1x1MDBBMzYuMDAnLCdzaXgnLCdzaXggcG91bmRzJywnNiBwb3VuZHMnXSwKfTsKCi8vID09PT09IFJlbmRlcmluZyA9PT09PQpmdW5jdGlvbiByZW5kZXJNQ1EobGlzdEVsLCBkYXRhKXsKICBkYXRhLmZvckVhY2goZnVuY3Rpb24ocSl7CiAgICB2YXIgZGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgZGl2LmNsYXNzTmFtZT0ncS1pdGVtJzsgZGl2LmRhdGFzZXQucWlkPXEubjsKICAgIHZhciBvcHRzSFRNTD0nJzsKICAgIGlmKEFycmF5LmlzQXJyYXkocS5vcHRzKSl7CiAgICAgIHEub3B0cy5mb3JFYWNoKGZ1bmN0aW9uKG8pewogICAgICAgIG9wdHNIVE1MICs9ICc8bGFiZWwgY2xhc3M9Im9wdCIgZGF0YS1sZXR0ZXI9Iicrb1swXSsnIj48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InEnK3EubisnIiB2YWx1ZT0iJytvWzBdKyciPjxzcGFuIGNsYXNzPSJvcHQtbGV0dGVyIj4nK29bMF0rJzwvc3Bhbj4gJytlc2NhcGVIdG1sKG9bMV0pKyc8L2xhYmVsPic7CiAgICAgIH0pOwogICAgfSBlbHNlIHsKICAgICAgLy8gc3RyaW5nIG9mIGxldHRlcnMgKFAxKQogICAgICBmb3IodmFyIGk9MDtpPHEub3B0cy5sZW5ndGg7aSsrKXsKICAgICAgICB2YXIgTD1xLm9wdHNbaV07CiAgICAgICAgb3B0c0hUTUwgKz0gJzxsYWJlbCBjbGFzcz0ib3B0IiBkYXRhLWxldHRlcj0iJytMKyciPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0icScrcS5uKyciIHZhbHVlPSInK0wrJyI+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 5 &#8212; Test 1Reading &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-4023","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/4023","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=4023"}],"version-history":[{"count":2,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/4023\/revisions"}],"predecessor-version":[{"id":5898,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/4023\/revisions\/5898"}],"wp:attachment":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/media?parent=4023"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}