{"id":5093,"date":"2026-06-26T02:04:26","date_gmt":"2026-06-26T02:04:26","guid":{"rendered":"https:\/\/allenglish4u.com\/cambridge-starters-8-test-2-rw\/"},"modified":"2026-07-05T02:43:14","modified_gmt":"2026-07-05T02:43:14","slug":"cambridge-starters-8-test-2-rw","status":"publish","type":"page","link":"https:\/\/allenglish4u.com\/vi\/cambridge-starters-8-test-2-rw\/","title":{"rendered":"Cambridge YLE Starters 8 Test 2 Reading and 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.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:#06B6D4; \/* cyan for Starters - friendly for kids *\/\n  --accent-2:#3B82F6; \/* blue *\/\n  --gold:#F9C74F;\n  --green:#10B981;\n  --red:#EF4444;\n  --light-1:#ECFEFF;\n  --light-2:#F0F9FF;\n  --white:#FFFFFF;\n  --text:#0F172A;\n  --muted:#475569;\n  --border:#E2E8F0;\n  --dark-1:#0C4A6E;\n  --r-10:10px;--r-16:16px;\n  --sh-card:0 2px 8px rgba(0,0,0,.06);\n}\n*{margin:0;padding:0;box-sizing:border-box}\nhtml{scroll-behavior:smooth}\nbody{font-family:'Plus Jakarta Sans',system-ui,sans-serif !important;color:var(--text);background:var(--light-2);-webkit-font-smoothing:antialiased;overflow-x:hidden;}\n.serif{font-family:'Fraunces',Georgia,serif !important;font-weight:700;letter-spacing:-.01em}\n.wrap{max-width:980px;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 *\/\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)}\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}\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{padding:9px 13px;font-size:14.5px;font-weight:600;color:rgba(255,255,255,.82);border-radius:var(--r-10)}\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;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)}\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 - playful Starters style *\/\n.hero{position:relative;min-height:340px;padding:120px 0 50px;background:linear-gradient(135deg,#0EA5E9 0%,#3B82F6 50%,#1E40AF 100%);color:#fff;overflow:hidden;}\n.hero::before{content:\"\";position:absolute;inset:0;background-image:radial-gradient(circle at 15% 25%,rgba(255,255,255,.18) 0%,transparent 50%),radial-gradient(circle at 85% 75%,rgba(255,255,255,.12) 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:12px}\n.hero h1{font-size:clamp(32px,5vw,48px);line-height:1.05;margin-bottom:14px}\n.hero h1 span{font-style:italic;color:var(--gold)}\n.hero p.sub{font-size:16px;line-height:1.6;max-width:680px;opacity:.95;margin-bottom:20px}\n.hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}\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)}\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)}\n\n\/* SCORE BAR *\/\n.score-bar{position:sticky;top:72px;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:14px 0;}\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(6,182,212,.32)}\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)}\n\n\/* PARTS *\/\n.part-section{padding:42px 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:22px}\n.part-num{flex-shrink:0;width:60px;height:60px;border-radius:18px;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));color:#fff;display:grid;place-items:center;font-family:'Fraunces',serif !important;font-weight:700;font-size:26px;box-shadow:0 8px 22px rgba(6,182,212,.3)}\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\/* Scene image - hero picture *\/\n.scene{background:#fff;border:1px solid var(--border);border-radius:18px;padding:14px;margin:8px 0 22px;box-shadow:var(--sh-card);text-align:center}\n.scene img{width:100%;max-width:760px;height:auto;border-radius:12px;display:block;margin:0 auto}\n.scene-caption{margin-top:8px;color:var(--muted);font-size:13.5px;font-style:italic}\n\n\/* Q items *\/\n.q-list{display:flex;flex-direction:column;gap:14px;margin-top:8px}\n.q-item{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px 20px;display:flex;flex-direction:column;gap:10px;transition:border-color .2s ease,box-shadow .2s ease}\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-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;min-width:24px}\n.q-img-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}\n.q-img-row img{width:120px;height:auto;border-radius:10px;border:1px solid var(--border)}\n\n\/* PART 1 - tick\/cross *\/\n.tc-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}\n.tc-radio{display:flex;gap:8px}\n.tc-opt{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:10px;background:#F8FAFF;border:1.5px solid var(--border);font-weight:700;font-size:18px;color:var(--text);cursor:pointer;transition:all .15s ease;user-select:none;min-width:50px;justify-content:center}\n.tc-opt:hover{background:var(--light-1);border-color:var(--accent-1)}\n.tc-opt input{display:none}\n.tc-opt.selected{background:linear-gradient(100deg,rgba(6,182,212,.12),rgba(59,130,246,.12));border-color:var(--accent-1)}\n.tc-opt.correct-opt{background:rgba(16,185,129,.12)!important;border-color:var(--green)!important;color:#065F46}\n.tc-opt.wrong-opt{background:rgba(239,68,68,.10)!important;border-color:var(--red)!important;color:#991B1B}\n\n\/* PART 2 - yes\/no select *\/\n.yn-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}\n.yn-select{padding:8px 14px;border-radius:10px;border:1.5px solid var(--border);background:#fff;font-family:inherit !important;font-size:14.5px;font-weight:600;color:var(--text);min-width:120px;cursor:pointer}\n.yn-select:focus{outline:none;border-color:var(--accent-1)}\n\n\/* PART 3 - scrambled letters + input *\/\n.letter-bag{display:inline-flex;flex-wrap:wrap;gap:6px;padding:8px 12px;background:#FEF3C7;border:1.5px dashed var(--gold);border-radius:12px;font-family:'Fraunces',serif !important;font-weight:700;color:#92400E;font-size:16px;letter-spacing:.1em;min-width:120px;justify-content:center}\n.word-input{display:inline-block;min-width:140px;border:none;border-bottom:2px dashed var(--accent-1);background:transparent;font-family:inherit !important;font-size:18px;color:var(--text);font-weight:700;padding:4px 8px;text-align:center;outline:none}\n.word-input:focus{border-bottom-style:solid;background:var(--light-1)}\n.word-input.correct{border-bottom-color:var(--green);color:#065F46;background:rgba(16,185,129,.10)}\n.word-input.wrong{border-bottom-color:var(--red);color:#991B1B;background:rgba(239,68,68,.08)}\n.first-letter{font-weight:700;color:var(--accent-1);font-size:18px;font-family:'Fraunces',serif}\n\n\/* PART 4 cloze *\/\n.cloze-passage{background:#fff;border:1px solid var(--border);border-radius:18px;padding:22px 26px;font-size:16px;line-height:2;color:var(--text);box-shadow:var(--sh-card);margin-bottom:18px}\n.cloze-passage h3{font-family:'Fraunces',serif !important;font-size:24px;text-align:center;color:var(--accent-2);margin-bottom:14px}\n.cloze-blank{display:inline-block;min-width:90px;padding:2px 8px;background:var(--light-1);border:1.5px dashed var(--accent-1);border-radius:8px;color:var(--accent-1);font-weight:700;text-align:center}\n.bank-img{max-width:100%;height:auto;border-radius:12px;border:1px solid var(--border);box-shadow:var(--sh-card)}\n\n\/* PART 5 one-word answer *\/\n.ow-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}\n.ow-prefix{font-weight:700;color:var(--accent-1);font-size:18px;font-family:'Fraunces',serif}\n\n\/* PER-Q PICTURE LAYOUT (v2) *\/\n.q-pic-row{display:flex;gap:18px;align-items:center;width:100%}\n.q-pic{width:200px;height:auto;border-radius:12px;border:1px solid var(--border);box-shadow:var(--sh-card);flex-shrink:0;background:#fff}\n.q-pic-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}\n@media (max-width:680px){\n  .q-pic-row{flex-direction:column;align-items:stretch;gap:12px}\n  .q-pic{width:100%;max-width:320px;align-self:center}\n}\n\n\/* SHOW ANSWER PER-Q *\/\n\n.show-ans-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:8px;background:rgba(6,182,212,.10);color:var(--accent-1);font-weight:700;font-size:12px;border:1px solid rgba(6,182,212,.30);cursor:pointer;font-family:inherit !important;align-self:flex-start;margin-top:4px;letter-spacing:.02em;}\n.show-ans-btn:hover{background:rgba(6,182,212,.18);border-color:var(--accent-1)}\n.show-ans-btn[disabled]{opacity:.45;cursor:not-allowed}\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.q-item.answered.show-ans-only .feedback{background:rgba(6,182,212,.10);color:var(--accent-2)}\n\n\/* RESULTS BANNER *\/\n.results-banner{display:none;margin:32px auto;padding:30px;border-radius:22px;background:linear-gradient(135deg,#0EA5E9,#3B82F6);color:#fff;text-align:center;max-width:720px;box-shadow:0 16px 50px rgba(6,182,212,.3)}\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@media (max-width:820px){\n  .nav{display:none}\n  .hamburger{display:flex}\n  .hero{padding:110px 0 40px}\n  .part-head{flex-direction:column;gap:12px}\n  .part-num{width:50px;height:50px;font-size:22px}\n  .q-img-row img{width:90px}\n  .sb-inner{gap:10px}\n  .sb-prog{order:3;flex:1 1 100%}\n}\n\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\n\/* === v2 CROP RULES L-6 === *\/\n.q-pic-row { display:flex; gap:14px; align-items:flex-start; }\n.q-pic-row .q-pic-content { flex:1; min-width:0; }\n.q-pic-sm { width:160px; aspect-ratio:1\/1; object-fit:contain; background:#fafafa; border-radius:8px; flex-shrink:0; }\n.q-letters { width:120px; aspect-ratio:4\/1; object-fit:contain; vertical-align:middle; margin-right:8px; }\nimg.q-pic { object-fit:contain; aspect-ratio:1\/1; background:#fafafa; }\n@media (max-width:680px){ .q-pic-row { flex-direction:column; } .q-pic-sm { width:200px; } }\n<\/style>\n\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\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.3\"><path d=\"M18 6L6 18M6 6l12 12\"\/><\/svg><\/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<section class=\"hero\">\n  <div class=\"wrap\">\n    <span class=\"kicker\">Cambridge English &#183; YLE Starters<\/span>\n    <h1 class=\"serif\">Starters 8 &#8212; Test 2<br><span>Reading &amp; Writing<\/span><\/h1>\n    <p class=\"sub\">A fun Pre-A1 paper for young learners &#8212; 5 parts, 25 questions, picture-based exercises with instant auto-grading. Practise like the real Cambridge Starters exam!<\/p>\n    <div class=\"hero-meta\">\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>20 minutes<\/span>\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>5 Parts<\/span>\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>25 auto-graded<\/span>\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>Pre-A1 level<\/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<div class=\"score-bar\" id=\"scoreBar\">\n  <div class=\"wrap sb-inner\">\n    <div class=\"sb-score\">Score <b><span id=\"scoreNow\">0<\/span>\/25<\/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 25 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 &#8212; Tick \/ Cross ============== -->\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\">5 questions<\/span>\n        <h2 class=\"serif\">Look and read &#8212; tick or cross<\/h2>\n        <p>Look at each picture and sentence. Put a tick (&#10003;) if the sentence is right, or a cross (&#10007;) if it is wrong. <b>Examples:<\/b> &#8220;This is a tree.&#8221; &#8594; &#10003; &nbsp;|&nbsp; &#8220;This is an ice cream.&#8221; (cake) &#8594; &#10007;<\/p>\n      <\/div>\n    <\/div>\n    <div class=\"q-list\" style=\"margin-bottom:18px\">\n      <div class=\"q-item\">\n        <div class=\"q-pic-row\">\n          <img decoding=\"async\" class=\"q-pic\" src=\"https:\/\/allenglish4u.com\/wp-content\/uploads\/2026\/06\/s8t2v2_p1_ex1.jpg\" alt=\"Example 1: ruler\" loading=\"lazy\">\n          <div class=\"q-pic-content\">\n            <div class=\"q-text\"><b class=\"qn\">Ex 1.<\/b><span>This is a ruler. &#8594; &#10003;<\/span><\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n      <div class=\"q-item\">\n        <div class=\"q-pic-row\">\n          <img decoding=\"async\" class=\"q-pic\" src=\"https:\/\/allenglish4u.com\/wp-content\/uploads\/2026\/06\/s8t2v2_p1_ex2.jpg\" alt=\"Example 2: pineapple\" loading=\"lazy\">\n          <div class=\"q-pic-content\">\n            <div class=\"q-text\"><b class=\"qn\">Ex 2.<\/b><span>This is a potato. &#8594; &#10007;<\/span><\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n    <div class=\"q-list\" id=\"part1List\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 2 &#8212; Yes \/ No ============== -->\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\">5 questions<\/span>\n        <h2 class=\"serif\">Look and read &#8212; write yes or no<\/h2>\n        <p>Look at the picture and read the sentences. Write <b>yes<\/b> if the sentence is right, <b>no<\/b> if it is wrong. <b>Examples:<\/b> &#8220;The monsters are at a party.&#8221; &#8594; yes &nbsp;|&nbsp; &#8220;There is a birthday cake.&#8221; &#8594; no<\/p>\n      <\/div>\n    <\/div>\n    <div class=\"scene\">\n      <img decoding=\"async\" src=\"https:\/\/allenglish4u.com\/wp-content\/uploads\/2026\/06\/s8t2v2_p2_scene.jpg\" alt=\"Part 2 living room scene\" loading=\"lazy\">\n      <div class=\"scene-caption\">Living room: children, sofa, TV, kite, mat with toy cars<\/div>\n    <\/div>\n    <div class=\"q-list\" id=\"part2List\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 3 &#8212; Spell the word ============== -->\n<section class=\"part-section\" id=\"part3\">\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\">5 questions<\/span>\n        <h2 class=\"serif\">Look at the pictures &#8212; write the words<\/h2>\n        <p>Look at each picture (an animal). Read the letters near the paw prints to spell the word. <b>Example:<\/b> picture of a cat, letters c\/a\/t &#8594; <b>cat<\/b><\/p>\n      <\/div>\n    <\/div>\n    <div class=\"scene\">\n      <!-- P3 v2: per-Q images via JS render -->\n      <div class=\"scene-caption\">Animals + scrambled letters on paw prints<\/div>\n    <\/div>\n    <div class=\"q-list\" id=\"part3List\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 4 &#8212; Cloze with word bank ============== -->\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\">5 questions<\/span>\n        <h2 class=\"serif\">A crocodile &#8212; choose the right word<\/h2>\n        <p>Read the riddle. Choose a word from the word bank below to fill each gap. There is one example.<\/p>\n      <\/div>\n    <\/div>\n    <div style=\"text-align:center;margin:8px 0 16px\">\n      <img decoding=\"async\" src=\"https:\/\/allenglish4u.com\/wp-content\/uploads\/2026\/06\/s8t2v2_p4_hero.jpg\" alt=\"A crocodile\" style=\"max-width:240px;height:auto;border-radius:14px;box-shadow:var(--sh-card)\">\n    <\/div>\n    <div class=\"cloze-passage\" style=\"line-height:2.1\">\n      <h3>A CROCODILE<\/h3>\n      <p>I am a long, green animal. My babies come from <u><b style=\"color:var(--accent-1)\">eggs<\/b><\/u>. I see with two big <span data-q=\"p4_1\" class=\"cloze-blank\">[1]<\/span> and eat animals with my very big <span data-q=\"p4_2\" class=\"cloze-blank\">[2]<\/span>. I can walk and run on my short <span data-q=\"p4_3\" class=\"cloze-blank\">[3]<\/span>. I swim in <span data-q=\"p4_4\" class=\"cloze-blank\">[4]<\/span> and live next to it. Children come and see me in a <span data-q=\"p4_5\" class=\"cloze-blank\">[5]<\/span>. What am I? I am a crocodile.<\/p>\n    <\/div>\n    <div style=\"text-align:center;margin-bottom:18px\">\n      <img decoding=\"async\" class=\"bank-img\" src=\"https:\/\/allenglish4u.com\/wp-content\/uploads\/2026\/06\/s8t2v2_p4_bank.jpg\" alt=\"Word bank: eggs, eyes, mouth, skirt, hockey, water, legs, zoo\">\n      <div class=\"scene-caption\">Word bank: <b>eggs<\/b> (example), eyes, mouth, skirt, hockey, water, legs, zoo<\/div>\n    <\/div>\n    <div class=\"q-list\" id=\"part4List\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 5 &#8212; One-word answer ============== -->\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\">5 questions<\/span>\n        <h2 class=\"serif\">Look at the pictures &#8212; answer the questions<\/h2>\n        <p>Look at each picture and read the question. Write a <b>one-word<\/b> answer. <b>Examples:<\/b> &#8220;Where are the children?&#8221; &#8594; at school &nbsp;|&nbsp; &#8220;How many children are there?&#8221; &#8594; five<\/p>\n      <\/div>\n    <\/div>\n    <div class=\"scene\">\n      <img decoding=\"async\" src=\"https:\/\/allenglish4u.com\/wp-content\/uploads\/2026\/06\/s8t2v2_p5_sc_a.jpg\" alt=\"Part 5 scene A: helicopter flying above school with trees and playground\" loading=\"lazy\">\n      <div class=\"scene-caption\">Questions 1, 2 &amp; 3<\/div>\n    <\/div>\n    <div class=\"q-list\" id=\"part5List_a\"><\/div>\n\n    <div class=\"scene\" style=\"margin-top:24px\">\n      <img decoding=\"async\" src=\"https:\/\/allenglish4u.com\/wp-content\/uploads\/2026\/06\/s8t2v2_p5_sc_b.jpg\" alt=\"Part 5 scene B: someone waving from the helicopter\" loading=\"lazy\">\n      <div class=\"scene-caption\">Question 4<\/div>\n    <\/div>\n    <div class=\"q-list\" id=\"part5List_b\"><\/div>\n\n    <div class=\"scene\" style=\"margin-top:24px\">\n      <img decoding=\"async\" src=\"https:\/\/allenglish4u.com\/wp-content\/uploads\/2026\/06\/s8t2v2_p5_sc_c.jpg\" alt=\"Part 5 scene C: woman taking a photo\" loading=\"lazy\">\n      <div class=\"scene-caption\">Question 5<\/div>\n    <\/div>\n    <div class=\"q-list\" id=\"part5List_c\"><\/div>\n  <\/div>\n<\/section>\n\n<div class=\"wrap\">\n  <div class=\"results-banner\" id=\"resultsBanner\">\n    <h3>Your Starters 8 Test 2 &#8212; Reading &amp; Writing score<\/h3>\n    <div class=\"score-big\"><span id=\"finalScore\">0<\/span>\/25<\/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 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('CihmdW5jdGlvbigpewp2YXIgaGRyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdoZHInKTsKdmFyIHNldFNvbGlkPWZ1bmN0aW9uKCl7aWYod2luZG93LnNjcm9sbFk+NDApaGRyLmNsYXNzTGlzdC5hZGQoJ3NvbGlkJyk7ZWxzZSBoZHIuY2xhc3NMaXN0LnJlbW92ZSgnc29saWQnKX07CndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLHNldFNvbGlkLHtwYXNzaXZlOnRydWV9KTtzZXRTb2xpZCgpOwp2YXIgaGFtYj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaGFtYicpLGRyYXdlcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHJhd2VyJyksZENsb3NlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkcmF3ZXJDbG9zZScpOwppZihoYW1iKWhhbWIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKCl7ZHJhd2VyLmNsYXNzTGlzdC5hZGQoJ29wZW4nKX0pOwppZihkQ2xvc2UpZENsb3NlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbigpe2RyYXdlci5jbGFzc0xpc3QucmVtb3ZlKCdvcGVuJyl9KTsKaWYoZHJhd2VyKWRyYXdlci5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oZSl7aWYoZS50YXJnZXQ9PT1kcmF3ZXIpZHJhd2VyLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKX0pOwoKLy8gPT09PT0gREFUQSA9PT09PQovLyBQQVJUIDEgLSB0aWNrL2Nyb3NzCnZhciBQMSA9IFsKICB7bjoxLHBpYzonaHR0cHM6Ly9hbGxlbmdsaXNoNHUuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA2L3M4dDJ2Ml9wMV9xMS5qcGcnLHNlbnRlbmNlOidUaGlzIGlzIGEgd2F0ZXJtZWxvbi4nLGFuczondGljayd9LAogIHtuOjIscGljOidodHRwczovL2FsbGVuZ2xpc2g0dS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvczh0MnYyX3AxX3EyLmpwZycsc2VudGVuY2U6J1RoaXMgaXMgYW4gZWFyLicsYW5zOidjcm9zcyd9LAogIHtuOjMscGljOidodHRwczovL2FsbGVuZ2xpc2g0dS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvczh0MnYyX3AxX3EzLmpwZycsc2VudGVuY2U6J1RoaXMgaXMgYSBzaGVsbC4nLGFuczondGljayd9LAogIHtuOjQscGljOidodHRwczovL2FsbGVuZ2xpc2g0dS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvczh0MnYyX3AxX3E0LmpwZycsc2VudGVuY2U6J1RoaXMgaXMgYSB3YWxsLicsYW5zOidjcm9zcyd9LAogIHtuOjUscGljOidodHRwczovL2FsbGVuZ2xpc2g0dS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvczh0MnYyX3AxX3E1LmpwZycsc2VudGVuY2U6J1RoaXMgaXMgYSBsaXphcmQuJyxhbnM6J3RpY2snfQpdOwovLyBQQVJUIDIgLSB5ZXMvbm8KdmFyIFAyID0gWwogIHtuOjEsc2VudGVuY2U6J1RoZSBib3kgb24gdGhlIGZsb29yIGlzIGVhdGluZyBhbiBhcHBsZS4nLGFuczonbm8nfSwKICB7bjoyLHNlbnRlbmNlOidUaGUgZG9vciBpcyBvcGVuLicsYW5zOid5ZXMnfSwKICB7bjozLHNlbnRlbmNlOidUd28gZ2lybHMgYXJlIHdhdGNoaW5nIHRoZSB0ZWxldmlzaW9uLicsYW5zOidubyd9LAogIHtuOjQsc2VudGVuY2U6IlRoZXJlJ3MgYSBraXRlIHVuZGVyIHRoZSBzb2ZhLiIsYW5zOidubyd9LAogIHtuOjUsc2VudGVuY2U6J1RoZXJlIGFyZSBmaXZlIGNhcnMgb24gdGhlIG1hdC4nLGFuczoneWVzJ30KXTsKLy8gUEFSVCAzIC0gc3BlbGwgZnJvbSBzY3JhbWJsZWQKdmFyIFAzID0gWwogIHtuOjEsc2NyYW1ibGVkOidhIHIgZSBwJyxmaXJzdDoncCcsYW5zOidwZWFyJyxkZXNjOidhIHBlYXInfSwKICB7bjoyLHNjcmFtYmxlZDonZyBhIG4gciBlIG8nLGZpcnN0OidvJyxhbnM6J29yYW5nZScsZGVzYzonYW4gb3JhbmdlJ30sCiAge246MyxzY3JhbWJsZWQ6J2EgcCBlIHIgcyBnJyxmaXJzdDonZycsYW5zOidncmFwZXMnLGRlc2M6J2dyYXBlcyd9LAogIHtuOjQsc2NyYW1ibGVkOidhIGEgbiBhIGIgbicsZmlyc3Q6J2InLGFuczonYmFuYW5hJyxkZXNjOidhIGJhbmFuYSd9LAogIHtuOjUsc2NyYW1ibGVkOidvIHUgbiBvIGMgdCBjJyxmaXJzdDonYycsYW5zOidjb2NvbnV0JyxkZXNjOidhIGNvY29udXQnfQpdOwovLyBQQVJUIDQgLSBjbG96ZSBJRCAtPiB7aGludCwgYW5zfQp2YXIgUDQgPSBbCiAge3FpZDoncDRfMScsaGludDonSSBzZWUgd2l0aCB0d28gYmlnIF9fX19fLicsYW5zOidleWVzJ30sCiAge3FpZDoncDRfMicsaGludDonSSBlYXQgYW5pbWFscyB3aXRoIG15IHZlcnkgYmlnIF9fX19fLicsYW5zOidtb3V0aCd9LAogIHtxaWQ6J3A0XzMnLGhpbnQ6J0kgY2FuIHdhbGsgYW5kIHJ1biBvbiBteSBzaG9ydCBfX19fXy4nLGFuczonbGVncyd9LAogIHtxaWQ6J3A0XzQnLGhpbnQ6J0kgc3dpbSBpbiBfX19fXyBhbmQgbGl2ZSBuZXh0IHRvIGl0LicsYW5zOid3YXRlcid9LAogIHtxaWQ6J3A0XzUnLGhpbnQ6J0NoaWxkcmVuIGNvbWUgYW5kIHNlZSBtZSBpbiBhIF9fX19fLicsYW5zOid6b28nfQpdOwovLyBQQVJUIDUgLSBvbmUtd29yZCBhbnN3ZXIKdmFyIFA1ID0gWwogIHtuOjEsc2NlbmU6J2EnLHE6J1doYXQgY29sb3VyIGlzIHRoZSBzY2hvb2w\/JyxwcmVmaXg6JycsYWNjZXB0ZWQ6Wyd5ZWxsb3cnXX0sCiAge246MixzY2VuZTonYScscTonSG93IG1hbnkgdHJlZXMgYXJlIHRoZXJlPycscHJlZml4OicnLGFjY2VwdGVkOlsnNCcsJ2ZvdXInXX0sCiAge246MyxzY2VuZTonYScscTonV2hlcmUgYXJlIHRoZSBjaGlsZHJlbj8nLHByZWZpeDonaW4gdGhlJyxhY2NlcHRlZDpbJ3BsYXlncm91bmQnXX0sCiAge246NCxzY2VuZTonYicscTonV2hvIGlzIHdhdmluZz8nLHByZWZpeDondGhlJyxhY2NlcHRlZDpbJ2JveSddfSwKICB7bjo1LHNjZW5lOidjJyxxOidXaGF0IGlzIHRoZSB3b21hbiBkb2luZz8nLHByZWZpeDondGFraW5nIGEnLGFjY2VwdGVkOlsncGhvdG8nLCdwaG90b2dyYXBoJywncGljdHVyZSddfQpdOwoKLy8gPT09PT0gUmVuZGVyaW5nID09PT09CmZ1bmN0aW9uIGVzY2FwZUh0bWwocyl7cmV0dXJuIFN0cmluZyhzKS5yZXBsYWNlKC9bJjw+IiddL2csZnVuY3Rpb24oYyl7cmV0dXJuIHsnJic6JyZhbXA7JywnPCc6JyZsdDsnLCc+JzonJmd0OycsJyInOicmcXVvdDsnLCInIjonJiMzOTsnfVtjXX0pfQoKLy8gUEFSVCAxIFx1MjAxNCB0aWNrL2Nyb3NzIHJhZGlvCihmdW5jdGlvbigpewogIHZhciBsaXN0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJ0MUxpc3QnKTsKICBQMS5mb3JFYWNoKGZ1bmN0aW9uKHEpewogICAgdmFyIGRpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsgZGl2LmNsYXNzTmFtZT0ncS1pdGVtJzsgZGl2LmRhdGFzZXQucWlkPSdwMV8nK3EubjsKICAgIGRpdi5pbm5lckhUTUw9JzxkaXYgY2xhc3M9InEtcGljLXJvdyI+JysnPGltZyBjbGFzcz0icS1waWMiIHNyYz0iJytxLnBpYysnIiBhbHQ9IlF1ZXN0aW9uICcrcS5uKyciIGxvYWRpbmc9ImxhenkiPicrJzxkaXYgY2xhc3M9InEtcGljLWNvbnRlbnQiPicrJzxkaXYgY2xhc3M9InEtdGV4dCI+PGIgY2xhc3M9InFuIj4nK3EubisnLjwvYj48c3Bhbj4nK2VzY2FwZUh0bWwocS5zZW50ZW5jZSkrJzwvc3Bhbj48L2Rpdj4nKwogICAgICAnPGRpdiBjbGFzcz0idGMtcm93Ij48ZGl2IGNsYXNzPSJ0Yy1yYWRpbyI+JysKICAgICAgJzxsYWJlbCBjbGFzcz0idGMtb3B0IiBkYXRhLWxldHRlcj0idGljayI+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJwMV8nK3EubisnIiB2YWx1ZT0idGljayI+PHNwYW4+XHUyNzEzPC9zcGFuPjwvbGFiZWw+JysKICAgICAgJzxsYWJlbCBjbGFzcz0idGMtb3B0IiBkYXRhLWxldHRlcj0iY3Jvc3MiPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0icDFfJytxLm4rJyIgdmFsdWU9ImNyb3NzIj48c3Bhbj5cdTI3MTc8L3NwYW4+PC9sYWJlbD4nKwogICAgICAnPC9kaXY+PC9kaXY+JysKICAgICAgJzwvZGl2PjwvZGl2PicrJzxkaXYgY2xhc3M9ImZlZWRiYWNrIj48L2Rpdj4nOwogICAgbGlzdC5hcHBlbmRDaGlsZChkaXYpOwogIH0pOwp9KSgpOwoKLy8gUEFSVCAyIFx1MjAxNCB5ZXMvbm8gc2VsZWN0CihmdW5jdGlvbigpewogIHZhciBsaXN0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJ0Mkxpc3QnKTsKICBQMi5mb3JFYWNoKGZ1bmN0aW9uKHEpewogICAgdmFyIGRpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsgZGl2LmNsYXNzTmFtZT0ncS1pdGVtJzsgZGl2LmRhdGFzZXQucWlkPSdwMl8nK3EubjsKICAgIGRpdi5pbm5lckhUTUw9JzxkaXYgY2xhc3M9InEtdGV4dCI+PGIgY2xhc3M9InFuIj4nK3EubisnLjwvYj48c3Bhbj4nK2VzY2FwZUh0bWwocS5zZW50ZW5jZSkrJzwvc3Bhbj48L2Rpdj4nKwogICAgICAnPGRpdiBjbGFzcz0ieW4tcm93Ij48c2VsZWN0IGNsYXNzPSJ5bi1zZWxlY3QiIGRhdGEtcT0icDJfJytxLm4rJyI+PG9wdGlvbiB2YWx1ZT0iIj5cdTIwMTQgY2hvb3NlIFx1MjAxNDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InllcyI+eWVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibm8iPm5vPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+JysKICAgICAgJzxkaXYgY2xhc3M9ImZlZWRiYWNrIj48L2Rpdj4nOwogICAgbGlzdC5hcHBlbmRDaGlsZChkaXYpOwogIH0pOwp9KSgpOwoKLy8gUEFSVCAzIFx1MjAxNCBzY3JhbWJsZWQgbGV0dGVycwooZnVuY3Rpb24oKXsKICB2YXIgbGlzdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFydDNMaXN0Jyk7CiAgUDMuZm9yRWFjaChmdW5jdGlvbihxKXsKICAgIHZhciBkaXY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7IGRpdi5jbGFzc05hbWU9J3EtaXRlbSc7IGRpdi5kYXRhc2V0LnFpZD0ncDNfJytxLm47CiAgICBkaXYuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJxLXBpYy1yb3ciPicrCiAgICAgICAgJzxpbWcgY2xhc3M9InEtcGljLXNtIiBzcmM9Imh0dHBzOi8vYWxsZW5nbGlzaDR1LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9zOHQydjJfcDNfcScrcS5uKycuanBnIiBhbHQ9InBpY3R1cmUgUScrcS5uKyciIGxvYWRpbmc9ImxhenkiPicrCiAgICAgICAgJzxkaXYgY2xhc3M9InEtcGljLWNvbnRlbnQiPicrCiAgICAgICAgICAnPGRpdiBjbGFzcz0icS10ZXh0Ij48YiBjbGFzcz0icW4iPicrcS5uKycuPC9iPjxzcGFuPlRoZSB3b3JkIGZvciAiJytlc2NhcGVIdG1sKHEuZGVzYykrJyIgXHUyMDE0IGZpcnN0IGxldHRlciA8YiBzdHlsZT0iY29sb3I6dmFyKC0tYWNjZW50LTEpIj4nK3EuZmlyc3QrJzwvYj48L3NwYW4+PC9kaXY+JysKICAgICAgICAgICc8ZGl2IGNsYXNzPSJ0Yy1yb3ciPjxpbWcgY2xhc3M9InEtbGV0dGVycyIgc3JjPSJodHRwczovL2FsbGVuZ2xpc2g0dS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvczh0MnYyX3AzX2xldHRlcnMnK3EubisnLmpwZyIgYWx0PSJzY3JhbWJsZWQgbGV0dGVycyBRJytxLm4rJyIgbG9hZGluZz0ibGF6eSI+PHNwYW4gY2xhc3M9ImZpcnN0LWxldHRlciI+JytxLmZpcnN0Kyc8L3NwYW4+PGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJ3b3JkLWlucHV0IiBkYXRhLXE9InAzXycrcS5uKyciIHBsYWNlaG9sZGVyPSJ0eXBlIHRoZSB3b3JkIj48L2Rpdj4nKwogICAgICAgICAgJzxkaXYgY2xhc3M9ImZlZWRiYWNrIj48L2Rpdj4nKwogICAgICAgICc8L2Rpdj4nKwogICAgICAnPC9kaXY+JzsKICAgIGxpc3QuYXBwZW5kQ2hpbGQoZGl2KTsKICB9KTsKfSkoKTsKCi8vIFBBUlQgNCBcdTIwMTQgd2lyZSBjbG96ZSBibGFua3MgYXMgcS1pdGVtcwooZnVuY3Rpb24oKXsKICB2YXIgbGlzdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFydDRMaXN0Jyk7CiAgUDQuZm9yRWFjaChmdW5jdGlvbihxLGkpewogICAgdmFyIG49aSsxOwogICAgdmFyIGRpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsgZGl2LmNsYXNzTmFtZT0ncS1pdGVtJzsgZGl2LmRhdGFzZXQucWlkPXEucWlkOwogICAgZGl2LmlubmVySFRNTD0nPGRpdiBjbGFzcz0icS10ZXh0Ij48YiBjbGFzcz0icW4iPicrbisnLjwvYj48c3Bhbj4nK2VzY2FwZUh0bWwocS5oaW50KSsnPC9zcGFuPjwvZGl2PicrCiAgICAgICc8ZGl2IGNsYXNzPSJ0Yy1yb3ciPjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0id29yZC1pbnB1dCIgZGF0YS1xPSInK3EucWlkKyciIHBsYWNlaG9sZGVyPSJ0eXBlIGEgd29yZCBmcm9tIHRoZSBiYW5rIj48L2Rpdj4nKwogICAgICAnPGRpdiBjbGFzcz0iZmVlZGJhY2siPjwvZGl2Pic7CiAgICBsaXN0LmFwcGVuZENoaWxkKGRpdik7CiAgfSk7Cn0pKCk7CgovLyBQQVJUIDUgXHUyMDE0IG9uZS13b3JkIGFuc3dlciAoZ3JvdXBlZCBieSBzY2VuZSkKKGZ1bmN0aW9uKCl7CiAgUDUuZm9yRWFjaChmdW5jdGlvbihxKXsKICAgIHZhciBsaXN0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJ0NUxpc3RfJytxLnNjZW5lKTsKICAgIHZhciBkaXY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7IGRpdi5jbGFzc05hbWU9J3EtaXRlbSc7IGRpdi5kYXRhc2V0LnFpZD0ncDVfJytxLm47CiAgICB2YXIgcHJlZml4SHRtbCA9IHEucHJlZml4ID8gJzxzcGFuIGNsYXNzPSJvdy1wcmVmaXgiPicrcS5wcmVmaXgrJzwvc3Bhbj4nIDogJyc7CiAgICBkaXYuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJxLXRleHQiPjxiIGNsYXNzPSJxbiI+JytxLm4rJy48L2I+PHNwYW4+Jytlc2NhcGVIdG1sKHEucSkrJzwvc3Bhbj48L2Rpdj4nKwogICAgICAnPGRpdiBjbGFzcz0ib3ctcm93Ij4nK3ByZWZpeEh0bWwrJzxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0id29yZC1pbnB1dCIgZGF0YS1xPSJwNV8nK3EubisnIiBwbGFjZWhvbGRlcj0ib25lIHdvcmQiPjwvZGl2PicrCiAgICAgICc8ZGl2IGNsYXNzPSJmZWVkYmFjayI+PC9kaXY+JzsKICAgIGxpc3QuYXBwZW5kQ2hpbGQoZGl2KTsKICB9KTsKfSkoKTsKCi8vID09PT09IFdpcmUgaW50ZXJhY3Rpb25zID09PT09CmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy50Yy1vcHQnKS5mb3JFYWNoKGZ1bmN0aW9uKG9wdCl7CiAgb3B0LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbihlKXsKICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgIHZhciBpbnB1dD1vcHQucXVlcnlTZWxlY3RvcignaW5wdXQnKTsKICAgIHZhciBncm91cD1vcHQucGFyZW50RWxlbWVudDsKICAgIGdyb3VwLnF1ZXJ5U2VsZWN0b3JBbGwoJy50Yy1vcHQnKS5mb3JFYWNoKGZ1bmN0aW9uKG8pe28uY2xhc3NMaXN0LnJlbW92ZSgnc2VsZWN0ZWQnKX0pOwogICAgb3B0LmNsYXNzTGlzdC5hZGQoJ3NlbGVjdGVkJyk7CiAgICBpbnB1dC5jaGVja2VkPXRydWU7CiAgICB1cGRhdGVQcm9ncmVzcygpOwogIH0pOwp9KTsKZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnluLXNlbGVjdCwud29yZC1pbnB1dCcpLmZvckVhY2goZnVuY3Rpb24oZWwpewogIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0Jyx1cGRhdGVQcm9ncmVzcyk7CiAgZWwuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJyx1cGRhdGVQcm9ncmVzcyk7Cn0pOwoKZnVuY3Rpb24gZ2V0UmFkaW8ocWlkKXt2YXIgcz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dFtuYW1lPSInK3FpZCsnIl06Y2hlY2tlZCcpO3JldHVybiBzP3MudmFsdWU6bnVsbH0KZnVuY3Rpb24gZ2V0U2VsZWN0KHFpZCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnluLXNlbGVjdFtkYXRhLXE9IicrcWlkKyciXScpO3JldHVybiBlP2UudmFsdWU6Jyd9CmZ1bmN0aW9uIGdldElucHV0KHFpZCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLndvcmQtaW5wdXRbZGF0YS1xPSInK3FpZCsnIl0nKTtyZXR1cm4gZT9lLnZhbHVlLnRyaW0oKS50b0xvd2VyQ2FzZSgpOicnfQoKZnVuY3Rpb24gYW5zd2VyZWRDb3VudCgpewogIHZhciBuPTA7CiAgZm9yKHZhciBpPTE7aTw9NTtpKyspe2lmKGdldFJhZGlvKCdwMV8nK2kpKW4rK30KICBmb3IodmFyIGk9MTtpPD01O2krKyl7aWYoZ2V0U2VsZWN0KCdwMl8nK2kpKW4rK30KICBmb3IodmFyIGk9MTtpPD01O2krKyl7aWYoZ2V0SW5wdXQoJ3AzXycraSkpbisrfQogIGZvcih2YXIgaT0xO2k8PTU7aSsrKXtpZihnZXRJbnB1dCgncDRfJytpKSluKyt9CiAgZm9yKHZhciBpPTE7aTw9NTtpKyspe2lmKGdldElucHV0KCdwNV8nK2kpKW4rK30KICByZXR1cm4gbjsKfQpmdW5jdGlvbiB1cGRhdGVQcm9ncmVzcygpewogIHZhciBhPWFuc3dlcmVkQ291bnQoKTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYW5zd2VyZWRDb3VudCcpLnRleHRDb250ZW50PWE7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Byb2dGaWxsJykuc3R5bGUud2lkdGg9KGEvMjUqMTAwKSsnJSc7Cn0KCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdWJtaXRCdG4nKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oKXsKICB2YXIgc2NvcmU9MDsKICAvLyBQQVJUIDEKICBQMS5mb3JFYWNoKGZ1bmN0aW9uKHEpewogICAgdmFyIHY9Z2V0UmFkaW8oJ3AxXycrcS5uKTsKICAgIHZhciBpdGVtPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5xLWl0ZW1bZGF0YS1xaWQ9InAxXycrcS5uKyciXScpOwogICAgaWYoIWl0ZW0pIHJldHVybjsKICAgIGl0ZW0uY2xhc3NMaXN0LmFkZCgnYW5zd2VyZWQnKTsKICAgIGl0ZW0ucXVlcnlTZWxlY3RvckFsbCgnLnRjLW9wdCcpLmZvckVhY2goZnVuY3Rpb24obyl7CiAgICAgIHZhciBMPW8uZGF0YXNldC5sZXR0ZXI7CiAgICAgIGlmKEw9PT1xLmFucykgby5jbGFzc0xpc3QuYWRkKCdjb3JyZWN0LW9wdCcpOwogICAgICBpZih2PT09TCkgaWYoTCE9PXEuYW5zKSBvLmNsYXNzTGlzdC5hZGQoJ3dyb25nLW9wdCcpOwogICAgfSk7CiAgICB2YXIgZmI9aXRlbS5xdWVyeVNlbGVjdG9yKCcuZmVlZGJhY2snKTsKICAgIGlmKHY9PT1xLmFucyl7c2NvcmUrKzsgaXRlbS5jbGFzc0xpc3QuYWRkKCdjb3JyZWN0Jyk7IGZiLnRleHRDb250ZW50PSdcdTI3MTQgQ29ycmVjdCBcdTIwMTQgJysocS5hbnM9PT0ndGljayc\/J1x1MjcxMyc6J1x1MjcxNycpO30KICAgIGVsc2V7aXRlbS5jbGFzc0xpc3QuYWRkKCd3cm9uZycpOyBmYi50ZXh0Q29udGVudD0nXHUyNzE4IFdyb25nIFx1MjAxNCBjb3JyZWN0OiAnKyhxLmFucz09PSd0aWNrJz8nXHUyNzEzJzonXHUyNzE3JykrKHY\/KCcgKHlvdSBjaG9zZSAnKyh2PT09J3RpY2snPydcdTI3MTMnOidcdTI3MTcnKSsnKScpOicgKG5vIGFuc3dlciknKTt9CiAgfSk7CiAgLy8gUEFSVCAyCiAgUDIuZm9yRWFjaChmdW5jdGlvbihxKXsKICAgIHZhciB2PWdldFNlbGVjdCgncDJfJytxLm4pOwogICAgdmFyIGl0ZW09ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnEtaXRlbVtkYXRhLXFpZD0icDJfJytxLm4rJyJdJyk7CiAgICBpZighaXRlbSkgcmV0dXJuOwogICAgaXRlbS5jbGFzc0xpc3QuYWRkKCdhbnN3ZXJlZCcpOwogICAgdmFyIHNlbD1pdGVtLnF1ZXJ5U2VsZWN0b3IoJy55bi1zZWxlY3QnKTsKICAgIHZhciBmYj1pdGVtLnF1ZXJ5U2VsZWN0b3IoJy5mZWVkYmFjaycpOwogICAgaWYodj09PXEuYW5zKXtzY29yZSsrOyBpdGVtLmNsYXNzTGlzdC5hZGQoJ2NvcnJlY3QnKTsgc2VsLnN0eWxlLmJvcmRlckNvbG9yPScjMTBCOTgxJzsgc2VsLnN0eWxlLmJvcmRlcldpZHRoPScycHgnOyBmYi50ZXh0Q29udGVudD0nXHUyNzE0IENvcnJlY3QgXHUyMDE0ICcrcS5hbnM7fQogICAgZWxzZXtpdGVtLmNsYXNzTGlzdC5hZGQoJ3dyb25nJyk7IHNlbC5zdHlsZS5ib3JkZXJDb2xvcj0nI0VGNDQ0NCc7IHNlbC5zdHlsZS5ib3JkZXJXaWR0aD0nMnB4JzsgZmIudGV4dENvbnRlbnQ9J1x1MjcxOCBXcm9uZyBcdTIwMTQgY29ycmVjdDogJytxLmFucysodj8nICh5b3UgY2hvc2UgJyt2KycpJzonIChubyBhbnN3ZXIpJyk7fQogIH0pOwogIC8vIFBBUlQgMwogIFAzLmZvckVhY2goZnVuY3Rpb24ocSl7CiAgICB2YXIgdj1nZXRJbnB1dCgncDNfJytxLm4pOwogICAgdmFyIGl0ZW09ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnEtaXRlbVtkYXRhLXFpZD0icDNfJytxLm4rJyJdJyk7CiAgICB2YXIgZWw9aXRlbS5xdWVyeVNlbGVjdG9yKCcud29yZC1pbnB1dCcpOwogICAgaWYoIWl0ZW0pIHJldHVybjsKICAgIGl0ZW0uY2xhc3NMaXN0LmFkZCgnYW5zd2VyZWQnKTsKICAgIHZhciBmYj1pdGVtLnF1ZXJ5U2VsZWN0b3IoJy5mZWVkYmFjaycpOwogICAgaWYodj09PXEuYW5zKXtzY29yZSsrOyBpdGVtLmNsYXNzTGlzdC5hZGQoJ2NvcnJlY3QnKTsgZWwuY2xhc3NMaXN0LmFkZCgnY29ycmVjdCcpOyBmYi50ZXh0Q29udGVudD0nXHUyNzE0IENvcnJlY3QgXHUyMDE0ICcrcS5hbnM7fQogICAgZWxzZXtpdGVtLmNsYXNzTGlzdC5hZGQoJ3dyb25nJyk7IGVsLmNsYXNzTGlzdC5hZGQoJ3dyb25nJyk7IGZiLnRleHRDb250ZW50PSdcdTI3MTggV3JvbmcgXHUyMDE0IGNvcnJlY3Q6ICcrcS5hbnM7fQogIH0pOwogIC8vIFBBUlQgNAogIFA0LmZvckVhY2goZnVuY3Rpb24ocSl7CiAgICB2YXIgdj1nZXRJbnB1dChxLnFpZCk7CiAgICB2YXIgaXRlbT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucS1pdGVtW2RhdGEtcWlkPSInK3EucWlkKyciXScpOwogICAgdmFyIGVsPWl0ZW0ucXVlcnlTZWxlY3RvcignLndvcmQtaW5wdXQnKTsKICAgIGlmKCFpdGVtKSByZXR1cm47CiAgICBpdGVtLmNsYXNzTGlzdC5hZGQoJ2Fuc3dlcmVkJyk7CiAgICB2YXIgZmI9aXRlbS5xdWVyeVNlbGVjdG9yKCcuZmVlZGJhY2snKTsKICAgIGlmKHY9PT1xLmFucyl7c2NvcmUrKzsgaXRlbS5jbGFzc0xpc3QuYWRkKCdjb3JyZWN0Jyk7IGVsLmNsYXNzTGlzdC5hZGQoJ2NvcnJlY3QnKTsgZmIudGV4dENvbnRlbnQ9J1x1MjcxNCBDb3JyZWN0IFx1MjAxNCAnK3EuYW5zO30KICAgIGVsc2V7aXRlbS5jbGFzc0xpc3QuYWRkKCd3cm9uZycpOyBlbC5jbGFzc0xpc3QuYWRkKCd3cm9uZycpOyBmYi50ZXh0Q29udGVudD0nXHUyNzE4IFdyb25nIFx1MjAxNCBjb3JyZWN0OiAnK3EuYW5zO30KICB9KTsKICAvLyBQQVJUIDUKICBQNS5mb3JFYWNoKGZ1bmN0aW9uKHEpewogICAgdmFyIHY9Z2V0SW5wdXQoJ3A1XycrcS5uKTsKICAgIHZhciBpdGVtPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5xLWl0ZW1bZGF0YS1xaWQ9InA1XycrcS5uKyciXScpOwogICAgdmFyIGVsPWl0ZW0ucXVlcnlTZWxlY3RvcignLndvcmQtaW5wdXQnKTsKICAgIGlmKCFpdGVtKSByZXR1cm47CiAgICBpdGVtLmNsYXNzTGlzdC5hZGQoJ2Fuc3dlcmVkJyk7CiAgICB2YXIgb2s9cS5hY2NlcHRlZC5pbmRleE9mKHYpPj0wOwogICAgdmFyIGZiPWl0ZW0ucXVlcnlTZWxlY3RvcignLmZlZWRiYWNrJyk7CiAgICBpZihvayl7c2NvcmUrKzsgaXRlbS5jbGFzc0xpc3QuYWRkKCdjb3JyZWN0Jyk7IGVsLmNsYXNzTGlzdC5hZGQoJ2NvcnJlY3QnKTsgZmIudGV4dENvbnRlbnQ9J1x1MjcxNCBDb3JyZWN0IFx1MjAxNCAnK3EuYWNjZXB0ZWRbMF07fQogICAgZWxzZXtpdGVtLmNsYXNzTGlzdC5hZGQoJ3dyb25nJyk7IGVsLmNsYXNzTGlzdC5hZGQoJ3dyb25nJyk7IGZiLnRleHRDb250ZW50PSdcdTI3MTggV3JvbmcgXHUyMDE0IGNvcnJlY3Q6ICcrcS5hY2NlcHRlZC5qb2luKCcgLyAnKTt9CiAgfSk7CgogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY29yZU5vdycpLnRleHRDb250ZW50PXNjb3JlOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaW5hbFNjb3JlJykudGV4dENvbnRlbnQ9c2NvcmU7CiAgdmFyIHBjdD1NYXRoLnJvdW5kKHNjb3JlLzI1KjEwMCk7CiAgdmFyIG1zZz0nJzsKICBpZihwY3Q+PTg1KSBtc2c9J1x1ezFGM0M2fSBFeGNlbGxlbnQhIFlvdSBkaWQgYSBncmVhdCBqb2IhJzsKICBlbHNlIGlmKHBjdD49NzApIG1zZz0nXHV7MUY0NER9IFdlbGwgZG9uZSEgS2VlcCBwcmFjdGlzaW5nLic7CiAgZWxzZSBpZihwY3Q+PTUwKSBtc2c9J1x1ezFGNERBfSBHb29kIHRyeSBcdTIwMTQgcmV2aWV3IHlvdXIgYW5zd2VycyBhYm92ZS4nOwogIGVsc2UgbXNnPSdcdXsxRjRBQX0gVHJ5IGFnYWluISBMZWFybmluZyBpcyBmdW4uJzsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0c01zZycpLnRleHRDb250ZW50PW1zZzsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0c0Jhbm5lcicpLmNsYXNzTGlzdC5hZGQoJ3Nob3cnKTsKICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdHNCYW5uZXInKS5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6J3Ntb290aCcsYmxvY2s6J2NlbnRlcid9KX0sMTIwKTsKfSk7Cgpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzZXRCdG4nKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oKXsKICBpZighY29uZmlybSgnUmVzZXQgYWxsIGFuc3dlcnM\/JykpIHJldHVybjsKICBsb2NhdGlvbi5yZWxvYWQoKTsKfSk7CgovLyA9PT09PSBTSE9XIEFOU1dFUiBQRVItUSA9PT09PQpkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucS1pdGVtJykuZm9yRWFjaChmdW5jdGlvbihpdGVtKXsKICBpZihpdGVtLnF1ZXJ5U2VsZWN0b3IoJy5zaG93LWFucy1idG4nKSkgcmV0dXJuOwogIHZhciBxaWQ9aXRlbS5kYXRhc2V0LnFpZDsKICB2YXIgYnRuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogIGJ0bi5jbGFzc05hbWU9J3Nob3ctYW5zLWJ0bic7IGJ0bi50eXBlPSdidXR0b24nOwogIGJ0bi5pbm5lckhUTUw9J1x1ezFGNDQxfSBTaG93IEFuc3dlcic7CiAgYnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbigpewogICAgaWYocWlkLmluZGV4T2YoJ3AxXycpPT09MCl7CiAgICAgIHZhciBuPXBhcnNlSW50KHFpZC5zdWJzdHJpbmcoMykpOwogICAgICB2YXIgcT1QMS5maW5kKGZ1bmN0aW9uKHgpe3JldHVybiB4Lm49PT1ufSk7CiAgICAgIGlmKCFxKSByZXR1cm47CiAgICAgIGl0ZW0ucXVlcnlTZWxlY3RvckFsbCgnLnRjLW9wdCcpLmZvckVhY2goZnVuY3Rpb24obyl7aWYoby5kYXRhc2V0LmxldHRlcj09PXEuYW5zKSBvLmNsYXNzTGlzdC5hZGQoJ2NvcnJlY3Qtb3B0Jyk7fSk7CiAgICAgIGl0ZW0uY2xhc3NMaXN0LmFkZCgnYW5zd2VyZWQnKTsgaXRlbS5jbGFzc0xpc3QuYWRkKCdzaG93LWFucy1vbmx5Jyk7CiAgICAgIGl0ZW0ucXVlcnlTZWxlY3RvcignLmZlZWRiYWNrJykudGV4dENvbnRlbnQ9J1x1ezFGNDQxfSBBbnN3ZXI6ICcrKHEuYW5zPT09J3RpY2snPydcdTI3MTMnOidcdTI3MTcnKTsKICAgIH0gZWxzZSBpZihxaWQuaW5kZXhPZigncDJfJyk9PT0wKXsKICAgICAgdmFyIG49cGFyc2VJbnQocWlkLnN1YnN0cmluZygzKSk7CiAgICAgIHZhciBxPVAyLmZpbmQoZnVuY3Rpb24oeCl7cmV0dXJuIHgubj09PW59KTsKICAgICAgdmFyIHNlbD1pdGVtLnF1ZXJ5U2VsZWN0b3IoJy55bi1zZWxlY3QnKTsKICAgICAgaWYoc2VsKSBpZihxKXtzZWwudmFsdWU9cS5hbnM7IHNlbC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJykpOyBzZWwuc3R5bGUuYm9yZGVyQ29sb3I9JyMxMEI5ODEnOyBzZWwuc3R5bGUuYm9yZGVyV2lkdGg9JzJweCc7fQogICAgICBpdGVtLmNsYXNzTGlzdC5hZGQoJ2Fuc3dlcmVkJyk7IGl0ZW0uY2xhc3NMaXN0LmFkZCgnc2hvdy1hbnMtb25seScpOwogICAgICBpdGVtLnF1ZXJ5U2VsZWN0b3IoJy5mZWVkYmFjaycpLnRleHRDb250ZW50PSdcdXsxRjQ0MX0gQW5zd2VyOiAnK3EuYW5zOwogICAgfSBlbHNlIGlmKHFpZC5pbmRleE9mKCdwM18nKT09PTApewogICAgICB2YXIgbj1wYXJzZUludChxaWQuc3Vic3RyaW5nKDMpKTsKICAgICAgdmFyIHE9UDMuZmluZChmdW5jdGlvbih4KXtyZXR1cm4geC5uPT09bn0pOwogICAgICB2YXIgaW5wPWl0ZW0ucXVlcnlTZWxlY3RvcignLndvcmQtaW5wdXQnKTsKICAgICAgaWYoaW5wKSBpZihxKXtpbnAudmFsdWU9cS5hbnM7IGlucC5jbGFzc0xpc3QuYWRkKCdjb3JyZWN0Jyk7IGlucC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnaW5wdXQnKSk7fQogICAgICBpdGVtLmNsYXNzTGlzdC5hZGQoJ2Fuc3dlcmVkJyk7IGl0ZW0uY2xhc3NMaXN0LmFkZCgnc2hvdy1hbnMtb25seScpOwogICAgICBpdGVtLnF1ZXJ5U2VsZWN0b3IoJy5mZWVkYmFjaycpLnRleHRDb250ZW50PSdcdXsxRjQ0MX0gQW5zd2VyOiAnK3EuYW5zOwogICAgfSBlbHNlIGlmKHFpZC5pbmRleE9mKCdwNF8nKT09PTApewogICAgICB2YXIgcT1QNC5maW5kKGZ1bmN0aW9uKHgpe3JldHVybiB4LnFpZD09PXFpZH0pOwogICAgICB2YXIgaW5wPWl0ZW0ucXVlcnlTZWxlY3RvcignLndvcmQtaW5wdXQnKTsKICAgICAgaWYoaW5wKSBpZihxKXtpbnAudmFsdWU9cS5hbnM7IGlucC5jbGFzc0xpc3QuYWRkKCdjb3JyZWN0Jyk7IGlucC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnaW5wdXQnKSk7fQogICAgICBpdGVtLmNsYXNzTGlzdC5hZGQoJ2Fuc3dlcmVkJyk7IGl0ZW0uY2xhc3NMaXN0LmFkZCgnc2hvdy1hbnMtb25seScpOwogICAgICBpdGVtLnF1ZXJ5U2VsZWN0b3IoJy5mZWVkYmFjaycpLnRleHRDb250ZW50PSdcdXsxRjQ0MX0gQW5zd2VyOiAnK3EuYW5zOwogICAgfSBlbHNlIGlmKHFpZC5pbmRleE9mKCdwNV8nKT09PTApewogICAgICB2YXIgbj1wYXJzZUludChxaWQuc3Vic3RyaW5nKDMpKTsKICAgICAgdmFyIHE9UDUuZmluZChmdW5jdGlvbih4KXtyZXR1cm4geC5uPT09bn0pOwogICAgICB2YXIgaW5wPWl0ZW0ucXVlcnlTZWxlY3RvcignLndvcmQtaW5wdXQnKTsKICAgICAgaWYoaW5wKSBpZihxKXtpbnAudmFsdWU9cS5hY2NlcHRlZFswXTsgaW5wLmNsYXNzTGlzdC5hZGQoJ2NvcnJlY3QnKTsgaW5wLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdpbnB1dCcpKTt9CiAgICAgIGl0ZW0uY2xhc3NMaXN0LmFkZCgnYW5zd2VyZWQnKTsgaXRlbS5jbGFzc0xpc3QuYWRkKCdzaG93LWFucy1vbmx5Jyk7CiAgICAgIGl0ZW0ucXVlcnlTZWxlY3RvcignLmZlZWRiYWNrJykudGV4dENvbnRlbnQ9J1x1ezFGNDQxfSBBbnN3ZXI6ICcrcS5hY2NlcHRlZFswXTsKICAgIH0KICAgIGJ0bi5kaXNhYmxlZD10cnVlOwogIH0pOwogIGl0ZW0uYXBwZW5kQ2hpbGQoYnRuKTsKfSk7Cgp9KSgpOwo='));<\/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; YLE Starters Starters 8 &#8212; Test 2Reading &amp; Writing A fun Pre-A1 paper for young learners &#8212; 5 parts, 25 questions, picture-based exercises with instant auto-grading. Practise like the real Cambridge Starters exam! 20 minutes 5 [&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-5093","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/5093","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=5093"}],"version-history":[{"count":2,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/5093\/revisions"}],"predecessor-version":[{"id":5844,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/5093\/revisions\/5844"}],"wp:attachment":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/media?parent=5093"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}