{"version":3,"sources":["assets/images/popups/taskhelp/IELTS-Listening-MultiChoice.png","assets/images/popups/taskhelp/IELTS-Listening-TableMatch.png","components/Button.js","components/Timer.js","components/AudioPlay.js","components/staticComponents/HideButtonPopup.js","components/staticComponents/helpContents/Information.js","components/staticComponents/helpContents/TestHelp.js","components/staticComponents/helpContents/TaskHelp.js","components/staticComponents/HelpButtonPopup.js","containers/Banner.js","components/Hint.js","containers/pageContents/ConfirmDetails.js","containers/pageContents/Introductions.js","containers/pageContents/TestSound.js","components/GroupInputs.js","components/MultiChoices.js","components/TextInput.js","components/MultiInputs.js","components/DndItemType.js","components/DragBox.js","components/DropBoxEmpty.js","components/DropBoxFull.js","components/DropContents.js","components/MultiInputInPra.js","components/MultiInputsInImage.js","components/TextArea.js","components/TableInputs.js","components/Answers.js","containers/pageContents/DropQuestion.js","containers/pageContents/Tests.js","containers/pageContents/ConfirmFinish.js","assets/content/intros.js","assets/content/tests.js","components/staticComponents/HighlightNotes.js","containers/MainContent.js","App.js","serviceWorker.js","index.js","assets/audios/sample-audio.mp3","assets/audios/Sample-Listening-Multiple-Choice-One-Answer-trimmed.mp3","assets/images/IELTSlogo.png","assets/images/IELTSpartners.jpg","assets/audios/Sample-Listening-Multiple-Choice-More-Than-One-Answer-trimmed.mp3","assets/audios/Sample-Listening-Matching-trimmed.mp3","assets/audios/Sample-Listening-Plan-Map-Diagram-Labelling-Type-A-trimmed.mp3","assets/audios/Sample-Listening-Note-Completion-trimmed.mp3","assets/audios/Sample-Listening-Short-Answer-Questons-trimmed.mp3","assets/images/popups/testhelp/screenCandidate.png","assets/images/popups/testhelp/screenClock.png","assets/images/popups/testhelp/screenNav.png","assets/images/popups/testhelp/next-question-button.png","assets/images/popups/testhelp/previous-question-button.png","assets/images/popups/testhelp/screenReview.png","assets/images/popups/testhelp/iconMinimise.png","assets/images/popups/testhelp/iconMaximise.png","assets/images/popups/testhelp/screenNavCurrent.png","assets/images/popups/testhelp/screenNavAnswered.png","assets/images/popups/testhelp/screenNavReview.png","assets/images/popups/testhelp/screenNavNormal.png","assets/images/popups/testhelp/screenRightClick.png","assets/images/popups/testhelp/screenRightHighlight.png","assets/images/popups/testhelp/screenRightNotes.png","assets/images/popups/testhelp/screenNotes.png","assets/images/popups/testhelp/screenNotesIcon.png","assets/images/popups/testhelp/screenRightClickHighlight.png","assets/images/popups/testhelp/screenRightClear.png","assets/images/popups/testhelp/screenRightClearAll.png","assets/images/popups/testhelp/screenVolume.png","assets/images/popups/taskhelp/IELTS-Listening-GapFill.png","assets/images/popups/taskhelp/IELTS-Listening-DragDrop1.png","assets/images/popups/taskhelp/IELTS-Listening-DragDrop2.png","assets/images/popups/taskhelp/IELTS-Listening-Choice.png"],"names":["module","exports","__webpack_require__","p","Button","_ref","btnText","handleClick","react_default","a","createElement","onClick","Timer","props","_this","Object","classCallCheck","this","possibleConstructorReturn","getPrototypeOf","call","tick","min","Math","floor","state","secondsRemaining","minPlusOne","ceil","sec","setState","minutes","seconds","minutesPlueOne","concat","forceEndTest","hideTime","startingMin","timer","setInterval","clearInterval","className","_this2","flash","renderTime","Component","AudioPlay","track","soundfile1","volumeRange","handleChange","event","target","value","player","volume","pageNumber","soundfile2","src","Play","nextProps","_this3","validTrack","soundfile3","soundfile4","soundfile5","soundfile6","soundfile7","Pause","playTestSound","play","pause","_this4","type","max","step","onChange","ref","node","loop","HideButtonPopup","toggleHidePopup","components_Button","Information","TestHelp","ScreenCandidate","height","alt","ScreenClock","ScreenVolume","ScreenNav","NextQBtn","PreviousQBtn","ScreenReview","IconMinimise","IconMaximise","ScreenNavCurrent","ScreenNavAnswered","ScreenNavReview","ScreenNavNormal","ScreenRightClick","ScreenRightHighlight","style","paddingLeft","ScreenRightNotes","ScreenNotes","ScreenNotesIcon","ScreenRightClickHighlight","ScreenRightClear","ScreenRightClearAll","TaskHelp","targetId","generateTarget","document","getElementById","scrollIntoView","behavior","id","IELTSListeningGapFill","IELTSListeningDragDrop1","IELTSListeningDragDrop2","IELTSListeningChoice","IELTSListeningMultiChoice","IELTSListeningTableMatch","HelpButtonPopup","pos3","pos4","dragEnable","showContentIndex","clientX","clientY","pos1","pos2","moveTarget","top","offsetTop","left","offsetLeft","index","_this$props","toggleHelpPopup","onMouseDown","onMouseMove","onMouseUp","switchContent","helpContents_Information","helpContents_TestHelp","helpContents_TaskHelp","Banner","showHidePopup","showHelpPopup","pageType","renderHelpItems","components_Timer","helpContainerClass","Logo","ParntersImage","components_AudioPlay","staticComponents_HelpButtonPopup","staticComponents_HideButtonPopup","Message","_ref$type","ConfirmDetails","Hint","introductions","title","time","instructions","map","instruction","key","ReactHtmlParser","information","message","TestSound","updatePlayTestSound","testSoundBtn","GroupInputs","answerChecked","storedAnswers","filter","answer","questionId","length","i","answers","push","toConsumableArray","checkedNumber","x","answerType","checkAnsweredQuestion","storeAnswers","_this5","toggleQuestion","content","checked","MultiChoices","chosenQuestionId","question","components_GroupInputs","TextInput","handleFocus","handleBlur","nameInput","focus","spellCheck","input","autoFocus","onFocus","onBlur","MultiInputs","components_TextInput","DndItemType","DragBox","_Component","apply","arguments","inherits","createClass","connectDragSource","text","DragSource","beginDrag","connect","monitor","dragSource","isDragging","DropBoxEmpty","HoveringInText","isOver","didDrop","item","generateReplacedText","components_DragBox","connectDropTarget","border","backgroundColor","renderText","DropTarget","drop","getItem","dropTarget","itemresult","getDropResult","DropBoxFull","movingOut","renderItems","dragItems","replacedText","storedStringAnswers","undraggedItems","forEach","DropContents","components_DropBoxEmpty","components_DropBoxFull","MultiInputInPra","MultiInputsInImage","TextArea","writingAnswerNote","wordCount","words","split","word","wordCounter","updateAnwerPerPage","TableInputs","activeTrId","activeTdId","focusTdId","handleOutsideClick","contains","classList","updateFocusTd","addEventListener","initialValues","storedAnswer","removeEventListener","trId","tdId","activeIdCurrentTR","answered","answersIndex","_this6","tr","updateActiveTr","updateActiveTd","_this7","renderThead","renderTbody","Answers","components_MultiChoices","chosenQuestion","components_MultiInputs","number","components_DropContents","components_MultiInputInPra","components_MultiInputsInImage","components_TextArea","components_TableInputs","_this$props$answers","description","dangerouslySetInnerHTML","__html","renderAnswerContent","DropQuestion","questions","Tests","answeredQuestion","reviewChecked","reviewModeNode","summaryView","chooseQForCheckbox","chosenId","page","testPageNumber","TestsPageJump","answersStatus","questionAnswered","renderReviewNode","unCheckReviewLiClick","handleNextClick","renderNextPage","test","storeAnswersWhenTestUnmount","handlePreviousClick","renderPreviousPage","q","tests","renderNavAnswers","pageContents_DropQuestion","renderQuestions","components_Answers","renderAllNavAnswers","ConfirmFinish","testEnd","INTROS","TESTS","questionType","HighlightNotes","leftClickAction","assertThisInitialized","parentEl","window","getSelection","getRangeAt","commonAncestorContainer","parentNode","getAttribute","noteVisibleId","VisibleId","rightClickAction","preventDefault","selection","rangeCount","endContainer","startContainer","wholeText","selectedText","toString","contextMenu","mode","pos","highlightedRegionClickedId","getHighlightIdFromParents","getInitialState","noteDragging","undefined","mouseClickPos","highlightedRegionsCounter","highlightedRegions","addListenerLeftClick","addListenerRightClick","el","getElementsByClassName","el1","elem","nodeType","note","offsetX","offsetY","noteId","currentTarget","innerText","clearAll","aHighlightedRegions","nodes","querySelectorAll","clearHighlight","splice","visibleId","createNewHighlightFromSelection","add","isNote","sNoteVisibleId","extractContents","span","setAttribute","appendChild","insertNode","removeAllRanges","parent","firstChild","insertBefore","removeChild","highlightedRegion","noteVisible","handleNoteClose","dragNote_Start","contentEditable","onInput","handleNoteContentChange","cssClass","contextMenuClearMode","handleClickOutside","dragNote_Stop","dragNote_Move","handleContextMenuItemClick_Highlight","handleContextMenuItemClick_Note","handleContextMenuItemClick_Clear","renderNotes","MainContent","pageContents_Tests","pageContents_ConfirmFinish","startReviewAnswers","pageContents_ConfirmDetails","pageContents_TestSound","Introductions","intro","components_staticComponents_HighlightNotes","renderPageContent","App","containers_Banner","containers_MainContent","Boolean","location","hostname","match","ReactDOM","render","cjs","backend","HTML5Backend","src_App_0","navigator","serviceWorker","ready","then","registration","unregister"],"mappings":"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","file":"static/js/main.1ef9b587.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/IELTS-Listening-TableMatch.4219f534.png\";","import React from 'react';\r\n\r\nconst Button = ({ btnText, handleClick }) => {\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default Button;\r\n","import React, { Component } from 'react';\r\n\r\nclass Timer extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n hideTime: false,\r\n minutes: props.startingMin,\r\n minutesPlueOne: props.startingMin,\r\n seconds: 60,\r\n secondsRemaining: props.startingMin * 60\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.timer = setInterval(this.tick, 1000);\r\n }\r\n\r\n componentWillUnmount() {\r\n clearInterval(this.timer);\r\n }\r\n\r\n tick = () => {\r\n const min = Math.floor(this.state.secondsRemaining / 60);\r\n const minPlusOne = Math.ceil(this.state.secondsRemaining / 60);\r\n const sec = this.state.secondsRemaining - (min * 60);\r\n\r\n this.setState({ minutes: min, seconds: sec, minutesPlueOne: minPlusOne });\r\n\r\n if (sec < 10) {\r\n this.setState({ seconds: `0${sec}` });\r\n }\r\n\r\n if (min < 10) {\r\n this.setState({ minutes: `0${min}` });\r\n }\r\n\r\n this.setState({ secondsRemaining: this.state.secondsRemaining - 1 }, () => {\r\n if (this.state.secondsRemaining === 0) {\r\n this.props.forceEndTest();\r\n }\r\n });\r\n }\r\n\r\n renderTime() {\r\n if (this.state.hideTime) {\r\n return (\r\n Click to show time\r\n )\r\n } else {\r\n return (\r\n \r\n {this.state.minutes}:{this.state.seconds} left\r\n {this.state.minutesPlueOne} minutes left\r\n \r\n )\r\n }\r\n }\r\n\r\n render() {\r\n const flash = (((this.state.secondsRemaining <= 600 && this.state.secondsRemaining >= 596) || (this.state.secondsRemaining <= 300 && this.state.secondsRemaining >= 296))\r\n && !this.state.hideTime) ? true : false;\r\n\r\n return (\r\n this.setState({ hideTime: !this.state.hideTime })}\r\n className={`timer-container ${ flash ? 'flash': ''} ${(this.state.secondsRemaining <= 300 && !this.state.hideTime) ? 'red': ''}`}\r\n >\r\n {this.renderTime()}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Timer;\r\n","import React, { Component } from 'react';\r\nimport soundfile1 from '../assets/audios/sample-audio.mp3';\r\nimport soundfile2 from '../assets/audios/Sample-Listening-Multiple-Choice-One-Answer-trimmed.mp3';\r\nimport soundfile3 from '../assets/audios/Sample-Listening-Multiple-Choice-More-Than-One-Answer-trimmed.mp3';\r\nimport soundfile4 from '../assets/audios/Sample-Listening-Matching-trimmed.mp3';\r\nimport soundfile5 from '../assets/audios/Sample-Listening-Plan-Map-Diagram-Labelling-Type-A-trimmed.mp3';\r\nimport soundfile6 from '../assets/audios/Sample-Listening-Note-Completion-trimmed.mp3';\r\nimport soundfile7 from '../assets/audios/Sample-Listening-Short-Answer-Questons-trimmed.mp3';\r\n\r\nclass AudioPlay extends Component {\r\n state = {\r\n track: soundfile1,\r\n volumeRange: 0.5\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.pageNumber === 4) {\r\n this.setState({ track: soundfile2 }, () => {\r\n this.player.src = this.state.track;\r\n this.Play();\r\n });\r\n }\r\n this.player.src = this.state.track;\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.pageNumber !== this.props.pageNumber) {\r\n let validTrack;\r\n switch(nextProps.pageNumber) {\r\n case 2:\r\n validTrack = soundfile1;\r\n break;\r\n case 4:\r\n validTrack = soundfile2;\r\n break;\r\n case 5:\r\n validTrack = soundfile3;\r\n break;\r\n case 6:\r\n validTrack = soundfile4;\r\n break;\r\n case 7:\r\n validTrack = soundfile5;\r\n break;\r\n case 8:\r\n validTrack = soundfile6;\r\n break;\r\n case 9:\r\n validTrack = soundfile7;\r\n break;\r\n default:\r\n validTrack = soundfile1;\r\n }\r\n\r\n this.setState({ track: validTrack }, () => {\r\n this.Pause();\r\n this.player.src = this.state.track;\r\n if (this.props.pageNumber !== 2 && this.props.pageNumber !== 3) {\r\n this.Play();\r\n }\r\n });\r\n }\r\n\r\n if (nextProps.playTestSound !== this.props.playTestSound) {\r\n if (nextProps.playTestSound) {\r\n this.Play();\r\n } else {\r\n this.Pause();\r\n }\r\n }\r\n }\r\n\r\n handleChange = (event) => {\r\n this.setState({ volumeRange: event.target.value }, () => {\r\n this.player.volume = this.state.volumeRange;\r\n });\r\n }\r\n\r\n Play() {\r\n this.player.play();\r\n }\r\n\r\n Pause() {\r\n this.player.pause();\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default AudioPlay;\r\n","import React from 'react';\r\nimport Button from '../Button';\r\n\r\nconst HideButtonPopup = ({ toggleHidePopup }) => {\r\n return (\r\n
\r\n
\r\n

Screen hidden\r\n \r\n

\r\n
\r\n

Your answers have been stored.

Please note that the clock is still running. The time has not been paused.

\r\n

If you wish to leave the room, please tell your invigilator.

\r\n

Click the button below to go back to your test.

\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default HideButtonPopup;\r\n","import React from 'react';\r\n\r\nconst Information = () => {\r\n return (\r\n
\r\n

INSTRUCTIONS TO CANDIDATES

\r\n \r\n

INFORMATION FOR CANDIDATES

\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default Information;\r\n","import React from 'react';\r\nimport ScreenCandidate from '../../../assets/images/popups/testhelp/screenCandidate.png';\r\nimport ScreenClock from '../../../assets/images/popups/testhelp/screenClock.png';\r\nimport ScreenNav from '../../../assets/images/popups/testhelp/screenNav.png';\r\nimport NextQBtn from '../../../assets/images/popups/testhelp/next-question-button.png';\r\nimport PreviousQBtn from '../../../assets/images/popups/testhelp/previous-question-button.png';\r\nimport ScreenReview from '../../../assets/images/popups/testhelp/screenReview.png';\r\nimport IconMinimise from '../../../assets/images/popups/testhelp/iconMinimise.png';\r\nimport IconMaximise from '../../../assets/images/popups/testhelp/iconMaximise.png';\r\nimport ScreenNavCurrent from '../../../assets/images/popups/testhelp/screenNavCurrent.png';\r\nimport ScreenNavAnswered from '../../../assets/images/popups/testhelp/screenNavAnswered.png';\r\nimport ScreenNavReview from '../../../assets/images/popups/testhelp/screenNavReview.png';\r\nimport ScreenNavNormal from '../../../assets/images/popups/testhelp/screenNavNormal.png';\r\nimport ScreenRightClick from '../../../assets/images/popups/testhelp/screenRightClick.png';\r\nimport ScreenRightHighlight from '../../../assets/images/popups/testhelp/screenRightHighlight.png';\r\nimport ScreenRightNotes from '../../../assets/images/popups/testhelp/screenRightNotes.png';\r\nimport ScreenNotes from '../../../assets/images/popups/testhelp/screenNotes.png';\r\nimport ScreenNotesIcon from '../../../assets/images/popups/testhelp/screenNotesIcon.png';\r\nimport ScreenRightClickHighlight from '../../../assets/images/popups/testhelp/screenRightClickHighlight.png';\r\nimport ScreenRightClear from '../../../assets/images/popups/testhelp/screenRightClear.png';\r\nimport ScreenRightClearAll from '../../../assets/images/popups/testhelp/screenRightClearAll.png';\r\nimport ScreenVolume from '../../../assets/images/popups/testhelp/screenVolume.png';\r\n\r\n\r\nconst TestHelp = () => {\r\n return (\r\n
\r\n

At the top of the screen you can see:

\r\n screen candidate\r\n

Your name and candidate number.

\r\n screen clock\r\n

A clock, which tells you how much time you have left. When you hover over the time you can see the seconds.

\r\n \r\n\t\t\t \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Help\r\n \r\n Click to view the help.\r\n
\r\n Settings\r\n \r\n Click to change your screen settings.\r\n
\r\n Hide\r\n \r\n Click to hide the screen content temporarily.\r\n
\r\n

Volume

\r\n

If you want to change the volume of the Listening test, click on the volume slider.

\r\n screen volume\r\n

Navigation

\r\n

At the bottom of the screen you can see the navigation bar

\r\n screen nav\r\n

Click on a number to go to that question.

\r\n \r\n\t\t\t \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n next question button\r\n \r\n Click to go to the next question.\r\n
\r\n previous question button\r\n \r\n Click to go to the previous question.\r\n
\r\n screen review\r\n \r\n Click if you want to look at this question again later. The question number in the navigation bar will turn into a circle.\r\n
\r\n IconMinimise\r\n \r\n Click to make the navigation smaller.\r\n
\r\n iconMaximise\r\n \r\n Click to make the navigation bigger.\r\n
\r\n Screen Nav Current\r\n \r\n The blue highlighting shows the question you are looking at.\r\n
\r\n Screen Nav Answered\r\n \r\n The underlining shows that you have answered this question.\r\n
\r\n Screen Nav Review\r\n \r\n The circle shows that you want to look at this question again (marked for review).\r\n
\r\n Screen Nav Normal\r\n \r\n The black highlighting shows that you have not answered the question.\r\n
\r\n

Highlighting

\r\n

To highlight something in the test:

\r\n

Select the text you want to highlight using the mouse.

\r\n

Right click over the text.

\r\n Screen Right Click\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ScreenRightHighlight\r\n \r\n Click to highlight the text you have selected.\r\n
\r\n ScreenRightNotes\r\n \r\n Click to highlight the text you have selected and to add notes about what you have highlighted.\r\n
\r\n

Notes

\r\n

To close the notes click on X in the top right. To view the notes right-click on the highlighted text (anything you write in Notes will be deleted at the end of the test).

\r\n ScreenNotes\r\n

You can locate those areas of highlighted text containing notes by hovering over each highlighted text. If a small orange box appears the highlighted text contains notes.

\r\n ScreenNotesIcon\r\n

To clear your highlighting right click on the highlighted text.

\r\n ScreenRightClickHighlight\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ScreenRightClear\r\n \r\n Click to clear the highlighting. This will also clear any notes you have made.\r\n
\r\n ScreenRightNotes\r\n \r\n Click to clear all highlighting including notes.\r\n
\r\n

\r\n
\r\n );\r\n}\r\n\r\nexport default TestHelp;\r\n","import React, { Component } from 'react';\r\nimport IELTSListeningGapFill from '../../../assets/images/popups/taskhelp/IELTS-Listening-GapFill.png';\r\nimport IELTSListeningDragDrop1 from '../../../assets/images/popups/taskhelp/IELTS-Listening-DragDrop1.png';\r\nimport IELTSListeningDragDrop2 from '../../../assets/images/popups/taskhelp/IELTS-Listening-DragDrop2.png';\r\nimport IELTSListeningChoice from '../../../assets/images/popups/taskhelp/IELTS-Listening-Choice.png';\r\nimport IELTSListeningMultiChoice from '../../../assets/images/popups/taskhelp/IELTS-Listening-MultiChoice.png';\r\nimport IELTSListeningTableMatch from '../../../assets/images/popups/taskhelp/IELTS-Listening-TableMatch.png';\r\n\r\nclass TaskHelp extends Component {\r\n componentDidMount() {\r\n if (this.props.pageNumber) {\r\n const targetId = this.generateTarget(this.props.pageNumber);\r\n const el = document.getElementById(targetId);\r\n el.scrollIntoView({ behavior: 'smooth' });\r\n }\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.pageNumber !== this.props.pageNumber) {\r\n const targetId = this.generateTarget(this.props.pageNumber);\r\n const el = document.getElementById(targetId);\r\n el.scrollIntoView({ behavior: 'smooth' });\r\n }\r\n }\r\n\r\n generateTarget(pageNumber) {\r\n let targetId;\r\n if (pageNumber === 1) {\r\n targetId = 'task-help-1';\r\n } else if (pageNumber === 2) {\r\n targetId = 'task-help-2';\r\n } else if (pageNumber === 3) {\r\n targetId = 'task-help-3';\r\n } else if (pageNumber === 4) {\r\n targetId = 'task-help-4';\r\n } else if (pageNumber === 5 || pageNumber === 6) {\r\n targetId = 'task-help-5';\r\n }\r\n\r\n return targetId;\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n

To choose a question either click on the question number at the bottom of the screen or click on the question.

\r\n

Gap fill questions

\r\n

To answer some questions, you need to write words or numbers in a gap. To answer these questions, click in the gap and write your answer. Some questions may ask you to write your answer in a table, flow-chart or diagram.

\r\n IELTS Listening GapFill\r\n

Drag and drop questions

\r\n

To answer a question, click on the answer on the right

\r\n IELTS Listening DragDrop1\r\n

and move it into the gap on the left.

\r\n IELTS Listening DragDrop2\r\n

If you want to change your answer, move another answer into the gap.

\r\n

If you want to leave the question unanswered, move the answer back.

\r\n

Don't forget! You may need to scroll to see all the questions and answers.

\r\n

Multiple choice questions

\r\n

Click on the answer you think is right.

\r\n

If you change your mind, click on a different answer.

\r\n

If you want to leave the question unanswered, click on your answer again.

\r\n IELTS Listening Choice\r\n

Multiple choice questions where there is more than one answer

\r\n

Some questions may ask you to choose two or three answers. Make sure you read the instructions and questions carefully.

\r\n IELTS Listening MultiChoice\r\n

Click on the answers you think are right.

\r\n

If you change your mind, click on a different answer.

\r\n

If you want to leave the question unanswered, click on your answer again.

\r\n

Matching questions using a table

\r\n

To choose a question, click on the question number in the table. The row will become shaded.

\r\n IELTS Listening Table Match\r\n

Choose the correct answer by clicking on the space in the table. A tick will appear.

\r\n

If you want to change your answer, click on another space.

\r\n

If you want to leave the question unanswered, click on the space again.

\r\n

Sometimes you may choose an answer more than once. Make sure you read the instructions and questions carefully.

\r\n

\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default TaskHelp;\r\n","import React, { Component } from 'react';\r\nimport Information from './helpContents/Information';\r\nimport TestHelp from './helpContents/TestHelp';\r\nimport TaskHelp from './helpContents/TaskHelp';\r\nimport Button from '../Button';\r\n\r\nclass HelpButtonPopup extends Component {\r\n\r\n state = {\r\n pos3: 0,\r\n pos4: 0,\r\n dragEnable: false,\r\n showContentIndex: 2\r\n };\r\n\r\n onMouseDown (event) {\r\n this.setState({ pos3: event.clientX, pos4: event.clientY, dragEnable: true });\r\n }\r\n\r\n onMouseUp (event) {\r\n this.setState({ dragEnable: false });\r\n }\r\n\r\n onMouseMove (event) {\r\n const pos1 = this.state.pos3 - event.clientX;\r\n const pos2 = this.state.pos4 - event.clientY;\r\n this.setState({ pos3: event.clientX, pos4: event.clientY });\r\n // set the element's new position:\r\n if (this.state.dragEnable) {\r\n this.moveTarget.style.top = (this.moveTarget.offsetTop - pos2) + \"px\";\r\n this.moveTarget.style.left = (this.moveTarget.offsetLeft - pos1) + \"px\";\r\n }\r\n }\r\n\r\n switchContent(index) {\r\n this.setState({ showContentIndex: index });\r\n }\r\n\r\n render() {\r\n const { pageNumber, toggleHelpPopup } = this.props;\r\n return (\r\n
\r\n
this.onMouseDown(event)}\r\n onMouseMove={(event) => this.onMouseMove(event)}\r\n onMouseUp={(event) => this.onMouseUp(event)}\r\n ref={(node) => { this.moveTarget = node; }}\r\n >\r\n

Help\r\n \r\n

\r\n
\r\n
    \r\n
  • this.switchContent(0)}>Information
  • \r\n
  • this.switchContent(1)}>Test help
  • \r\n
  • this.switchContent(2)}>Task help
  • \r\n
\r\n { this.state.showContentIndex === 0 && }\r\n { this.state.showContentIndex === 1 && }\r\n { this.state.showContentIndex === 2 && }\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default HelpButtonPopup;\r\n","import React, { Component } from 'react';\r\nimport Logo from '../assets/images/IELTSlogo.png';\r\nimport ParntersImage from '../assets/images/IELTSpartners.jpg';\r\nimport Button from '../components/Button';\r\nimport Timer from '../components/Timer';\r\nimport AudioPlay from '../components/AudioPlay';\r\nimport HideButtonPopup from '../components/staticComponents/HideButtonPopup';\r\nimport HelpButtonPopup from '../components/staticComponents/HelpButtonPopup';\r\n\r\nclass Banner extends Component {\r\n state = {\r\n showHidePopup: false,\r\n showHelpPopup: false\r\n }\r\n\r\n toggleHidePopup = () => {\r\n this.setState({ showHidePopup: !this.state.showHidePopup});\r\n }\r\n\r\n toggleHelpPopup = () => {\r\n this.setState({ showHelpPopup: !this.state.showHelpPopup});\r\n }\r\n\r\n render() {\r\n const { pageType, pageNumber, playTestSound } = this.props;\r\n const renderHelpItems = (\r\n \r\n );\r\n\r\n const helpContainerClass = (pageType === 'End') ? 'help-container end-page' : 'help-container';\r\n\r\n return (\r\n
\r\n { this.props.pageType === 'Intro' &&\r\n
\r\n Logo\r\n Parnters\r\n
\r\n }\r\n
\r\n {renderHelpItems}\r\n {(pageNumber !== 1 && pageNumber !== 10) &&\r\n }\r\n
\r\n { this.state.showHelpPopup &&\r\n }\r\n { this.state.showHidePopup &&\r\n }\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Banner;\r\n","import React from 'react';\r\n\r\nconst Button = ({ Message, type = 'message' }) => {\r\n return (\r\n

{Message}

\r\n );\r\n}\r\n\r\nexport default Button;\r\n","import React from 'react';\r\nimport Button from '../../components/Button';\r\nimport Hint from '../../components/Hint';\r\n\r\nconst ConfirmDetails = ({ handleClick }) => {\r\n return (\r\n
\r\n

Confirm your details

\r\n
\r\n

Name:

\r\n

Date of birth:

\r\n

Candidate number:

\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default ConfirmDetails;\r\n","import React from 'react';\r\nimport Button from '../../components/Button';\r\nimport Hint from '../../components/Hint';\r\nimport ReactHtmlParser from 'react-html-parser';\r\n\r\nconst ConfirmDetails = ({ introductions, handleClick }) => {\r\n\r\n return (\r\n
\r\n

{introductions.title}

\r\n

Time: {introductions.time}

\r\n

INSTRUCTIONS TO CANDIDATES

\r\n \r\n

INFORMATION FOR CANDIDATES

\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default ConfirmDetails;\r\n","import React from 'react';\r\nimport Button from '../../components/Button';\r\nimport Hint from '../../components/Hint';\r\n\r\nconst TestSound = ({ handleClick, updatePlayTestSound, testSoundBtn }) => {\r\n return (\r\n
\r\n

Test sound

\r\n
\r\n

Put on your headphones and click on the Play sound button to play a sample sound.

\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default TestSound;\r\n","import React, { Component } from 'react';\r\n\r\nclass GroupInputs extends Component {\r\n state = {\r\n answerChecked: []\r\n }\r\n\r\n componentDidMount() {\r\n const storedAnswers = this.props.storedAnswers.filter(answer => answer.questionId === this.props.questionId);\r\n if (storedAnswers.length > 0) {\r\n this.setState({ answerChecked: storedAnswers[0].answer });\r\n } else {\r\n const answerChecked = [];\r\n for(let i=0; i answer.questionId === this.props.questionId);\r\n if (storedAnswers.length > 0) {\r\n this.setState({ answerChecked: storedAnswers[0].answer });\r\n }\r\n }\r\n\r\n if (nextProps.answers !== this.props.answers) {\r\n const answerChecked = [];\r\n for(let i=0; i x === true);\r\n\r\n if (this.props.answerType === 'one answer') {\r\n for(let i=0; i {\r\n this.props.checkAnsweredQuestion(this.props.questionId, this.state.answerChecked);\r\n this.props.storeAnswers(this.props.questionId, this.state.answerChecked);\r\n });\r\n }\r\n\r\n render() {\r\n const { answers, answerType, questionId, toggleQuestion } = this.props;\r\n return (\r\n
    toggleQuestion(questionId)}\r\n >\r\n { answers.map(answer =>\r\n
  • this.handleChange(answer.id) }>\r\n this.handleChange(answer.id) }\r\n checked={(this.state.answerChecked[answer.id -1])? true : false}\r\n />\r\n

    {answer.content}

    \r\n
  • \r\n )}\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default GroupInputs;\r\n","import React, { Component } from 'react';\r\nimport ReactHtmlParser from 'react-html-parser';\r\nimport GroupInputs from './GroupInputs';\r\n\r\nclass MultiChoices extends Component {\r\n\r\n render() {\r\n const { content, toggleQuestion, chosenQuestionId, answerType, checkAnsweredQuestion, storeAnswers, storedAnswers } = this.props;\r\n\r\n return (\r\n
\r\n { content.map(question =>\r\n
\r\n
{ReactHtmlParser(question.question)}
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default MultiChoices;\r\n","import React, { Component } from 'react';\r\n\r\nclass TextInput extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n value: props.id\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const storedAnswers = this.props.storedAnswers.filter(answer => answer.questionId === this.props.id);\r\n if (storedAnswers.length > 0) {\r\n this.setState({ value: storedAnswers[0].answer });\r\n }\r\n }\r\n\r\n componentWillReceiveProps(nextProps){\r\n if(nextProps.chosenQuestionId !== this.props.chosenQuestionId && this.props.id === nextProps.chosenQuestionId){\r\n this.nameInput.focus();\r\n }\r\n }\r\n\r\n handleChange = (event) => {\r\n this.setState({ value: event.target.value }, () => {\r\n if (this.state.value !== '') {\r\n this.props.checkAnsweredQuestion(this.props.id, [true]);\r\n } else {\r\n this.props.checkAnsweredQuestion(this.props.id, [false]);\r\n }\r\n this.props.storeAnswers(this.props.id, this.state.value);\r\n });\r\n }\r\n\r\n handleFocus = () => {\r\n if (this.state.value === this.props.id) {\r\n this.setState({ value: '' }, () => {\r\n this.props.toggleQuestion(this.props.id);\r\n });\r\n }\r\n }\r\n\r\n handleBlur = () => {\r\n if (this.state.value === '') {\r\n this.setState({ value: this.props.id });\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n { this.nameInput = input; }}\r\n autoFocus={this.props.id === this.props.chosenQuestionId}\r\n value={this.state.value}\r\n onChange={this.handleChange}\r\n onFocus={this.handleFocus}\r\n onBlur={this.handleBlur}\r\n />\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default TextInput;\r\n","import React from 'react';\r\nimport ReactHtmlParser from 'react-html-parser';\r\nimport TextInput from './TextInput';\r\n\r\nconst MultiInputs = ({ className, content, toggleQuestion, chosenQuestionId, checkAnsweredQuestion, storeAnswers, storedAnswers }) => {\r\n return (\r\n
\r\n {content.map((p) =>\r\n
    \r\n
  • {ReactHtmlParser(p.answers[0])}\r\n \r\n {ReactHtmlParser(p.answers[1])}\r\n
  • \r\n
\r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default MultiInputs;\r\n","export default {\r\n BOX: 'box',\r\n}\r\n","import React, { Component } from 'react';\r\nimport { DragSource } from 'react-dnd';\r\nimport DndItemType from './DndItemType';\r\n\r\nconst boxSource = {\r\n beginDrag(props) {\r\n return {text: props.text}\r\n }\r\n};\r\n\r\nexport class DragBox extends Component {\r\n render() {\r\n const { connectDragSource, text } = this.props;\r\n return connectDragSource (\r\n {text}\r\n );\r\n }\r\n}\r\n\r\nexport default DragSource(DndItemType.BOX, boxSource, (connect, monitor) => ({\r\n connectDragSource: connect.dragSource(),\r\n isDragging: monitor.isDragging(),\r\n}))(DragBox);\r\n","import React, { Component } from 'react';\r\nimport { DropTarget } from 'react-dnd';\r\nimport DndItemType from './DndItemType';\r\nimport DragBox from './DragBox';\r\n\r\nconst boxTarget = {\r\n drop(props, monitor) {\r\n return monitor.getItem();\r\n },\r\n};\r\n\r\nexport class DropBoxEmpty extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n text: '',\r\n HoveringInText: '',\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n const storedAnswers = this.props.storedAnswers.filter(answer => answer.questionId === this.props.id);\r\n if (storedAnswers.length > 0) {\r\n this.setState({ text: storedAnswers[0].answer });\r\n }\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.isOver !== this.props.isOver && !nextProps.didDrop) {\r\n if (nextProps.isOver) {\r\n this.setState({ HoveringInText: this.props.item.text });\r\n } else {\r\n this.setState({ HoveringInText: '' });\r\n }\r\n }\r\n\r\n if (nextProps.item !== this.props.item) {\r\n this.setState({ HoveringInText: '' });\r\n }\r\n\r\n if (nextProps.didDrop !== this.props.didDrop && nextProps.didDrop){\r\n if (this.state.HoveringInText !== this.state.text && this.state.HoveringInText !== '') {\r\n if (this.state.text !== '') {\r\n this.props.generateReplacedText(this.state.text);\r\n } else {\r\n this.props.generateReplacedText('');\r\n }\r\n this.props.toggleQuestion(this.props.id);\r\n this.props.checkAnsweredQuestion(this.props.id, [true]);\r\n this.setState({ text: this.state.HoveringInText }, () => {\r\n this.props.storeAnswers(this.props.id, this.state.text);\r\n });\r\n } else if (this.state.text === this.props.item.text) {\r\n this.props.checkAnsweredQuestion(this.props.id, [false]);\r\n this.setState({ text: '' }, () => {\r\n this.props.storeAnswers(this.props.id, this.state.text);\r\n });\r\n }\r\n }\r\n }\r\n\r\n renderText() {\r\n if (this.state.text !== '') {\r\n return ;\r\n } else {\r\n return this.props.id;\r\n }\r\n }\r\n\r\n render() {\r\n const { isOver, connectDropTarget } = this.props;\r\n\r\n return connectDropTarget(\r\n this.props.toggleQuestion(this.props.id)}\r\n >\r\n { this.renderText() }\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default DropTarget(DndItemType.BOX, boxTarget, (connect, monitor) => ({\r\n connectDropTarget: connect.dropTarget(),\r\n isOver: monitor.isOver(),\r\n item: monitor.getItem(),\r\n itemresult:monitor.getDropResult(),\r\n didDrop:monitor.didDrop()\r\n}))(DropBoxEmpty);\r\n","import React, { Component } from 'react';\r\nimport { DropTarget } from 'react-dnd';\r\nimport DndItemType from './DndItemType';\r\nimport DragBox from './DragBox';\r\n\r\nconst boxTarget = {\r\n drop(props, monitor) {\r\n return monitor.getItem();\r\n },\r\n};\r\n\r\nexport class DropBoxFull extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n movingOut: true,\r\n renderItems: props.dragItems,\r\n replacedText: '',\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n const storedStringAnswers = this.props.storedAnswers.filter(answer => typeof answer.answer === 'string');\r\n let undraggedItems = this.props.dragItems;\r\n this.props.dragItems.forEach(item => {\r\n const isDragged = (storedStringAnswers.filter(answer => answer.answer === item)).length > 0;\r\n if (isDragged) {\r\n undraggedItems = undraggedItems.filter(i => i !== item);\r\n }\r\n });\r\n\r\n this.setState({ renderItems: undraggedItems });\r\n }\r\n\r\n componentWillReceiveProps(nextProps){\r\n if (nextProps.dragItems !== this.props.dragItems) {\r\n this.setState({ renderItems: nextProps.dragItems });\r\n }\r\n\r\n if (nextProps.isOver !== this.props.isOver && !nextProps.didDrop) {\r\n if (nextProps.isOver) {\r\n this.setState({ movingOut: false });\r\n } else {\r\n this.setState({ movingOut: true });\r\n }\r\n }\r\n\r\n if (nextProps.replacedText !== this.props.replacedText) {\r\n this.setState({ replacedText: nextProps.replacedText }, () => {\r\n if (this.state.replacedText !== '') {\r\n const renderItems = [...this.state.renderItems, this.props.replacedText];\r\n this.setState({ renderItems });\r\n }\r\n });\r\n }\r\n\r\n if (nextProps.didDrop !== this.props.didDrop && nextProps.didDrop) {\r\n let renderItems, itemExist;\r\n if (this.state.movingOut) {\r\n renderItems = this.state.renderItems.filter(item => item !== this.props.item.text);\r\n\r\n this.setState({ renderItems }, () => {\r\n const itemExistReplace = this.state.renderItems.filter(item => item === this.props.replacedText);\r\n if (itemExistReplace.length === 0 && this.state.replacedText !== '') {\r\n const renderItems = [...this.state.renderItems, this.props.replacedText];\r\n this.setState({ renderItems });\r\n }\r\n });\r\n } else {\r\n itemExist = this.state.renderItems.filter(item => item === this.props.item.text);\r\n if (itemExist.length === 0) {\r\n renderItems = [...this.state.renderItems, this.props.item.text];\r\n this.setState({ renderItems });\r\n }\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const { connectDropTarget } = this.props;\r\n\r\n return connectDropTarget(\r\n
\r\n {this.state.renderItems.map((item) => )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default DropTarget(DndItemType.BOX, boxTarget, (connect, monitor) => ({\r\n connectDropTarget: connect.dropTarget(),\r\n isOver: monitor.isOver(),\r\n item: monitor.getItem(),\r\n itemresult:monitor.getDropResult(),\r\n didDrop:monitor.didDrop()\r\n}))(DropBoxFull);\r\n","import React, { Component } from 'react';\r\nimport ReactHtmlParser from 'react-html-parser';\r\nimport DropBoxEmpty from './DropBoxEmpty';\r\nimport DropBoxFull from './DropBoxFull';\r\n\r\nclass DropContents extends Component {\r\n\r\n render() {\r\n const { content, className, toggleQuestion, chosenQuestionId, checkAnsweredQuestion, dragItems, generateReplacedText, replacedText, storeAnswers, storedAnswers } = this.props;\r\n\r\n return (\r\n
\r\n {className ==='drop-content-inline' &&
The importance of language
}\r\n {content.length > 0 && content.map((p) =>\r\n

\r\n {ReactHtmlParser(p.answers)}\r\n \r\n

\r\n )}\r\n {className ==='drop-content-inline' &&

to use. However, its sophistication is often overlooked.

}\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default DropContents;\r\n","import React from 'react';\r\nimport ReactHtmlParser from 'react-html-parser';\r\nimport TextInput from './TextInput';\r\n\r\nconst MultiInputInPra = ({ className, content, toggleQuestion, chosenQuestionId, checkAnsweredQuestion, storeAnswers, storedAnswers }) => {\r\n return (\r\n
\r\n {content.map((p) =>\r\n {ReactHtmlParser(p.answers[0])}\r\n \r\n {ReactHtmlParser(p.answers[1])}\r\n \r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default MultiInputInPra;\r\n","import React from 'react';\r\nimport TextInput from './TextInput';\r\n\r\nconst MultiInputsInImage = ({ className, content, toggleQuestion, chosenQuestionId, checkAnsweredQuestion, storeAnswers, storedAnswers }) => {\r\n return (\r\n
\r\n {content.map((p) =>\r\n \r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default MultiInputsInImage;\r\n","import React, { Component } from 'react';\r\n\r\nclass TextArea extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n content: props.writingAnswerNote,\r\n wordCount: 0\r\n }\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n const words = nextProps.writingAnswerNote.split(/\\s+/).filter(word => word !== '');\r\n this.setState({ content: nextProps.writingAnswerNote, wordCount: words.length });\r\n }\r\n\r\n wordCounter() {\r\n const words = this.state.content.split(/\\s+/).filter(word => word !== '');\r\n this.setState({ wordCount: words.length }, () => {\r\n if (this.state.wordCount === 0) {\r\n this.props.checkAnsweredQuestion(this.props.pageNumber, [false]);\r\n } else {\r\n this.props.checkAnsweredQuestion(this.props.pageNumber, [true]);\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n this.setState({ content: event.target.value },\r\n () => { this.wordCounter(); this.props.updateAnwerPerPage(this.state.content, this.props.pageNumber) })}\r\n value={this.state.content}\r\n >\r\n

Word Count: {this.state.wordCount}

\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default TextArea;\r\n","import React, { Component } from 'react';\r\n\r\nclass TableInputs extends Component {\r\n state = {\r\n activeTrId: 0,\r\n activeTdId: [],\r\n focusTdId: 0,\r\n }\r\n\r\n componentWillMount() {\r\n document.addEventListener('click', this.handleOutsideClick, false);\r\n }\r\n\r\n componentDidMount() {\r\n const initialValues = [];\r\n this.props.content.forEach((item) => {\r\n const storedAnswer = this.props.storedAnswers.filter(answer => answer.questionId === item.id);\r\n if (storedAnswer.length > 0) {\r\n initialValues[item.id - 1] = storedAnswer[0].answer;\r\n } else {\r\n initialValues[item.id - 1] = 0;\r\n }\r\n });\r\n\r\n this.setState({ activeTdId: initialValues });\r\n }\r\n\r\n componentWillUnmount() {\r\n document.removeEventListener('click', this.handleOutsideClick, false);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.chosenQuestionId !== this.state.activeTrId) {\r\n this.updateFocusTd(0);\r\n }\r\n }\r\n\r\n handleOutsideClick = (event) => {\r\n if (this.node.contains(event.target)) {\r\n return;\r\n }\r\n\r\n if (event.target.classList.contains('next') || event.target.classList.contains('previous') || event.target.classList.contains('for-detect-table-click')) {\r\n return;\r\n }\r\n\r\n this.updateFocusTd(false);\r\n }\r\n\r\n updateFocusTd(id) {\r\n this.setState({ focusTdId: id });\r\n }\r\n\r\n updateActiveTr(trId) {\r\n this.setState({ activeTrId: trId }, () => {\r\n this.props.toggleQuestion(this.state.activeTrId);\r\n });\r\n }\r\n\r\n updateActiveTd(tdId, trId) {\r\n const activeIdCurrentTR = (this.state.activeTdId[trId - 1] === tdId) ? 0 : tdId;\r\n const activeTdId = this.state.activeTdId;\r\n activeTdId[trId - 1] = activeIdCurrentTR;\r\n this.setState({ activeTdId }, () => {\r\n const answered = (this.state.activeTdId[trId - 1] === 0) ? [false] : [true];\r\n this.props.checkAnsweredQuestion(this.state.activeTrId, answered);\r\n this.props.storeAnswers(this.state.activeTrId, this.state.activeTdId[trId - 1]);\r\n });\r\n }\r\n\r\n renderThead() {\r\n return (\r\n \r\n this.updateFocusTd(false) }> \r\n {this.props.answersIndex.map((answer, index) =>\r\n this.updateFocusTd(index) } key={index}>{answer}\r\n )}\r\n \r\n );\r\n }\r\n\r\n renderTbody() {\r\n return (\r\n \r\n {this.props.content.map((tr) =>\r\n this.updateActiveTr(tr.id)}\r\n className={(this.props.chosenQuestionId === tr.id) ? 'active': ''}\r\n >\r\n this.updateFocusTd(0) }>{tr.id}{tr.answers}\r\n {this.props.answersIndex.map((answer, index) =>\r\n { this.updateActiveTd(index + 1, tr.id); this.updateFocusTd(index) }}\r\n className={`${(this.state.activeTdId[tr.id - 1] === index + 1) ? 'active': ''} ${(this.state.focusTdId === index) ? 'focus': ''}`}\r\n > \r\n )}\r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n this.node = node}>\r\n \r\n { this.renderThead() }\r\n \r\n { this.renderTbody() }\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default TableInputs;\r\n","import React, { Component } from 'react';\r\nimport ReactHtmlParser from 'react-html-parser';\r\nimport MultiChoices from './MultiChoices';\r\nimport MultiInputs from './MultiInputs';\r\nimport DropContents from './DropContents';\r\nimport MultiInputInPra from './MultiInputInPra';\r\nimport MultiInputsInImage from './MultiInputsInImage';\r\nimport TextArea from './TextArea';\r\nimport TableInputs from './TableInputs';\r\n\r\nclass Answers extends Component {\r\n\r\n renderAnswerContent() {\r\n if (this.props.answers.type === 'radios') {\r\n return (\r\n \r\n )\r\n } else if (this.props.answers.type === 'checkboxes') {\r\n return (\r\n \r\n )\r\n } else if (this.props.answers.type === 'inputTexts in paragraphs') {\r\n return (\r\n \r\n )\r\n } else if (this.props.answers.type === 'dragNDrop') {\r\n return (\r\n \r\n )\r\n } else if (this.props.answers.type === 'inputTexts in one paragraph') {\r\n return (\r\n \r\n )\r\n } else if (this.props.answers.type === 'inputTexts in an image') {\r\n return (\r\n \r\n )\r\n } else if (this.props.answers.type === 'writing') {\r\n return (\r\n \r\n )\r\n } else if (this.props.answers.type === 'table inputs') {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n )\r\n } else {\r\n return (\r\n
{ReactHtmlParser(this.props.answers.content)}
\r\n )\r\n }\r\n }\r\n\r\n render() {\r\n const { question, description, title } = this.props.answers;\r\n return (\r\n
\r\n {question &&

{question}

}\r\n {description &&

}\r\n {title &&

{title}

}\r\n {this.renderAnswerContent()}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Answers;\r\n","import React from 'react';\r\nimport ReactHtmlParser from 'react-html-parser';\r\nimport DropBoxEmpty from '../../components/DropBoxEmpty';\r\n\r\nconst DropQuestion = ({ questions, className, toggleQuestion, chosenQuestion, checkAnsweredQuestion, generateReplacedText, storeAnswers, storedAnswers }) => {\r\n\r\n return (\r\n
\r\n { questions.map((question) =>\r\n
\r\n \r\n {ReactHtmlParser(question.question)}\r\n
\r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default DropQuestion;\r\n","import React, { Component } from 'react';\r\nimport Answers from '../../components/Answers';\r\nimport DropQuestion from './DropQuestion';\r\n\r\nclass Tests extends Component {\r\n state = {\r\n chosenQuestion: 1,\r\n answeredQuestion: [],\r\n reviewChecked: false,\r\n reviewModeNode: [],\r\n summaryView: false,\r\n chooseQForCheckbox: 4,\r\n replacedText: '',\r\n storedAnswers: []\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({\r\n answeredQuestion: this.props.answeredQuestion,\r\n storedAnswers: this.props.storedAnswers,\r\n reviewModeNode: this.props.reviewModeNode\r\n });\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.testPageNumber !== this.props.testPageNumber) {\r\n this.setState({ replacedText: '', reviewChecked: false });\r\n }\r\n }\r\n\r\n generateReplacedText = (text) => {\r\n this.setState({ replacedText: text });\r\n }\r\n\r\n toggleQuestion = (chosenId, page) => {\r\n if (page !== this.props.testPageNumber) {\r\n this.props.TestsPageJump(page + 3);\r\n }\r\n if (this.props.testPageNumber === 2) {\r\n this.setState({ chosenQuestion: chosenId });\r\n } else {\r\n this.setState({ chosenQuestion: chosenId });\r\n }\r\n }\r\n\r\n checkAnsweredQuestion = (questionId, answersStatus) => {\r\n let answeredQuestion = [...this.state.answeredQuestion], chooseQForCheckbox;\r\n const questionAnswered = answersStatus.filter(checked => checked === true);\r\n\r\n if (this.props.testPageNumber === 2) {\r\n if (questionId === 4) {\r\n if (questionAnswered.length === 0) {\r\n answeredQuestion[3] = false;\r\n answeredQuestion[4] = false;\r\n answeredQuestion[5] = false;\r\n chooseQForCheckbox = 4;\r\n } else if (questionAnswered.length === 1) {\r\n answeredQuestion[3] = true;\r\n answeredQuestion[4] = false;\r\n answeredQuestion[5] = false;\r\n chooseQForCheckbox = (this.state.chooseQForCheckbox > 4) ? this.state.chooseQForCheckbox: 4;\r\n } else if (questionAnswered.length === 2) {\r\n answeredQuestion[3] = true;\r\n answeredQuestion[4] = true;\r\n answeredQuestion[5] = false;\r\n chooseQForCheckbox = (this.state.chooseQForCheckbox > 5) ? this.state.chooseQForCheckbox: 5;\r\n } else if (questionAnswered.length === 3) {\r\n answeredQuestion[3] = true;\r\n answeredQuestion[4] = true;\r\n answeredQuestion[5] = true;\r\n chooseQForCheckbox = 6;\r\n }\r\n }\r\n } else {\r\n if (questionAnswered.length === 0) {\r\n answeredQuestion[questionId - 1] = false;\r\n } else {\r\n answeredQuestion[questionId - 1] = true;\r\n }\r\n\r\n if (this.props.testPageNumber > 2) {\r\n chooseQForCheckbox = 6;\r\n } else {\r\n chooseQForCheckbox = 4;\r\n }\r\n\r\n }\r\n this.setState({ answeredQuestion, chooseQForCheckbox });\r\n }\r\n\r\n renderReviewNode = () => {\r\n const reviewModeNode = [...this.state.reviewModeNode];\r\n if (this.props.testPageNumber === 2) {\r\n this.setState({ reviewChecked: !this.state.reviewChecked }, () => {\r\n if (this.state.reviewChecked) {\r\n reviewModeNode[this.state.chooseQForCheckbox - 1] = true;\r\n } else {\r\n reviewModeNode[this.state.chooseQForCheckbox - 1] = false;\r\n }\r\n\r\n this.setState({ reviewModeNode });\r\n });\r\n } else {\r\n this.setState({ reviewChecked: !this.state.reviewChecked }, () => {\r\n if (this.state.reviewChecked) {\r\n reviewModeNode[this.state.chosenQuestion - 1] = true;\r\n } else {\r\n reviewModeNode[this.state.chosenQuestion - 1] = false;\r\n }\r\n\r\n this.setState({ reviewModeNode });\r\n });\r\n }\r\n }\r\n\r\n unCheckReviewLiClick = (questionId) => {\r\n if (!this.state.reviewModeNode[questionId -1]) {\r\n this.setState({ reviewChecked: false });\r\n }\r\n }\r\n\r\n handleNextClick = () => {\r\n if (this.props.testPageNumber === 2) {\r\n this.setState({ chooseQForCheckbox: this.state.chooseQForCheckbox + 1 }, () => {\r\n if (this.state.chooseQForCheckbox > 6) {\r\n this.props.renderNextPage();\r\n this.setState({ chosenQuestion: 7, chooseQForCheckbox: 6 });\r\n }\r\n });\r\n } else {\r\n this.setState({ chosenQuestion: this.state.chosenQuestion + 1 }, () => {\r\n if (this.state.chosenQuestion > (this.props.test.answer.content[0].id + this.props.test.answer.number - 1)) {\r\n if (this.props.testPageNumber === 6) {\r\n this.props.storeAnswersWhenTestUnmount(this.state.answeredQuestion, this.state.storedAnswers, this.state.reviewModeNode);\r\n }\r\n this.props.renderNextPage();\r\n }\r\n });\r\n }\r\n }\r\n\r\n handlePreviousClick = () => {\r\n if (this.props.testPageNumber === 2) {\r\n this.setState({ chooseQForCheckbox: this.state.chooseQForCheckbox - 1 }, () => {\r\n this.setState({ chosenQuestion: 4 });\r\n if (this.state.chooseQForCheckbox < 4) {\r\n this.props.renderPreviousPage();\r\n this.setState({ chosenQuestion: 3, chooseQForCheckbox: 4 });\r\n }\r\n });\r\n } else {\r\n this.setState({ chosenQuestion: this.state.chosenQuestion - 1 }, () => {\r\n if (this.state.chosenQuestion < this.props.test.answer.content[0].id) {\r\n this.props.renderPreviousPage();\r\n }\r\n });\r\n }\r\n }\r\n\r\n storeAnswers = (questionId, answer) => {\r\n let storedAnswers = this.state.storedAnswers.filter(answer => answer.questionId !== questionId);\r\n storedAnswers = [...storedAnswers,\r\n { 'questionId': questionId, 'answer' : answer }\r\n ];\r\n this.setState({ storedAnswers });\r\n }\r\n\r\n renderNavAnswers(page, test) {\r\n if (page === 2) {\r\n const qArray = [4 , 5 , 6];\r\n return (\r\n qArray.map(q =>\r\n
  • {\r\n this.setState({ chooseQForCheckbox: q });\r\n this.toggleQuestion(4, page);\r\n this.unCheckReviewLiClick(q)}}\r\n >\r\n {q}\r\n
    \r\n Question {q}\r\n
    \r\n \r\n
  • \r\n )\r\n )\r\n } else {\r\n return (\r\n test.answer.content.map(question =>\r\n
  • { this.toggleQuestion(question.id, page);\r\n this.unCheckReviewLiClick(question.id)}}\r\n >\r\n {question.id}\r\n
    \r\n Question {question.id}\r\n
    \r\n \r\n
  • \r\n )\r\n )\r\n }\r\n }\r\n\r\n renderAllNavAnswers() {\r\n return (\r\n
      \r\n {this.props.tests.map(test => this.renderNavAnswers(test.page, test))}\r\n
    \r\n )\r\n }\r\n\r\n renderQuestions() {\r\n if (this.props.test.question.type === 'drop target') {\r\n return \r\n } else {\r\n return
    \r\n }\r\n }\r\n\r\n render() {\r\n const { test } = this.props;\r\n return (\r\n
    \r\n
    \r\n
    \r\n {test.question &&\r\n
    \r\n

    {test.question.title}

    \r\n {this.renderQuestions()}\r\n
    \r\n }\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {this.renderAllNavAnswers()}\r\n \r\n
    \r\n {!(this.props.testPageNumber === 1 && this.state.chosenQuestion === 1) &&\r\n }\r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default Tests;\r\n","import React from 'react';\r\nimport Button from '../../components/Button';\r\n\r\nconst ConfirmFinish = ({ handleClick, testEnd }) => {\r\n return (\r\n
    \r\n

    Test ended

    \r\n
    \r\n

    Your test has finished.

    \r\n

    All of your answers have been stored.

    \r\n

    Please wait for further instructions.

    \r\n {!testEnd &&
    \r\n
    \r\n );\r\n}\r\n\r\nexport default ConfirmFinish;\r\n","export const INTROS = [\r\n {\r\n 'pageType': 'reading',\r\n 'title': 'IELTS Listening',\r\n 'time': 'Approximately 30 minutes',\r\n 'instructions': [\r\n 'Answer all the questions.',\r\n 'You can change your answers at any time during the test.'\r\n ],\r\n 'information': [\r\n 'There are 24 questions in this test.',\r\n 'Each question carries one mark.',\r\n 'There are four parts to the test.',\r\n 'Please note you will only hear each part once in your actual test. However for familiarisation and practice purposes, this familiarisation test will allow you to listen to each recording multiple times.',\r\n 'For each part of the test there will be time for you to look through the questions and time for you to check your answers.'\r\n ],\r\n 'message': \"Do not click 'Start test' until you are told to do so.\",\r\n 'btnText': 'Start test'\r\n }\r\n];\r\n","export const TESTS = [\r\n {\r\n 'page': 1,\r\n 'title': 'Sample Listening Multiple Choice (one answer)',\r\n 'answer': {\r\n 'type': 'radios',\r\n 'question': 'Questions 1 – 3',\r\n 'number': 3,\r\n 'description': 'Choose the correct answer.',\r\n 'title': '',\r\n 'content': [\r\n {\r\n 'id': 1,\r\n 'question': '1Why did Judy choose to study the East End of London?',\r\n 'answers': [\r\n {'id': 1, 'content': 'She wanted to understand her own background.'},\r\n {'id': 2, 'content': 'She was interested in place names.'},\r\n {'id': 3, 'content': 'She had read several books about it.'}\r\n ]\r\n },\r\n {\r\n 'id': 2,\r\n 'question': '2What was Judy’s main source of materials?',\r\n 'answers': [\r\n {'id': 1, 'content': 'books'},\r\n {'id': 2, 'content': 'newspapers'},\r\n {'id': 3, 'content': 'interviews'}\r\n ]\r\n },\r\n {\r\n 'id': 3,\r\n 'question': \"3What difficulty did Judy have with her dissertation?\",\r\n 'answers': [\r\n {'id': 1, 'content': 'writing the first draft'},\r\n {'id': 2, 'content': 'organising what she had collected'},\r\n {'id': 3, 'content': 'finding enough relevant sources'}\r\n ]\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n 'page': 2,\r\n 'title': 'Sample Listening Multiple Choice (more than one answer)',\r\n 'answer': {\r\n 'type': 'checkboxes',\r\n 'question': 'Questions 4 – 6',\r\n 'number': 3,\r\n 'description': 'Choose THREE correct answers.',\r\n 'title': '',\r\n 'content': [\r\n {\r\n 'id': 4,\r\n 'question': `4 – 6   Which THREE things does the Guide to the Library have information about?`,\r\n 'answers': [\r\n {'id': 1, 'content': 'book reservations'},\r\n {'id': 2, 'content': 'reading room rules'},\r\n {'id': 3, 'content': 'catalogue'},\r\n {'id': 4, 'content': 'disabled facilities'},\r\n {'id': 5, 'content': 'location of rooms'},\r\n {'id': 6, 'content': 'café'},\r\n {'id': 7, 'content': 'regular events'},\r\n {'id': 8, 'content': 'staff'}\r\n ]\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n 'page': 3,\r\n 'questionType': 'drop in answer part',\r\n 'title': 'Sample Listening Matching (Sample Task A)',\r\n 'answer': {\r\n 'type': 'dragNDrop',\r\n 'question': 'Questions 7 – 11',\r\n 'number': 5,\r\n 'description': 'Who is responsible for each area? Choose the correct answer and move it into the gap.',\r\n 'title': \"People\",\r\n 'className': 'listening',\r\n 'content': [\r\n {\r\n 'id': 7,\r\n 'answers': 'Mary Brown'\r\n },\r\n {\r\n 'id': 8,\r\n 'answers': 'John Stevens'\r\n },\r\n {\r\n 'id': 9,\r\n 'answers': 'Alison Jones'\r\n },\r\n {\r\n 'id': 10,\r\n 'answers': 'Tim Smith'\r\n },\r\n {\r\n 'id': 11,\r\n 'answers': 'Jenny James'\r\n }\r\n ],\r\n 'dragItems': [\r\n 'Finance',\r\n 'Food',\r\n 'Health',\r\n \"Kid's Counselling\",\r\n 'Organisation',\r\n 'Rooms',\r\n 'Sport',\r\n 'Trips'\r\n ]\r\n }\r\n },\r\n {\r\n 'page': 4,\r\n 'title': 'Sample Listening Plan/Map/Diagram Labelling',\r\n 'answer': {\r\n 'type': 'table inputs',\r\n 'question': 'Questions 12 – 14',\r\n 'number': 3,\r\n 'description': 'The map has eight labels (A – H). Choose the correct label for each building.',\r\n 'title': '',\r\n 'className': 'table-inputs',\r\n 'content': [\r\n {\r\n 'id': 12,\r\n 'answers': 'Quilt Shop'\r\n },\r\n {\r\n 'id': 13,\r\n 'answers': 'Handicrafts Museum'\r\n },\r\n {\r\n 'id': 14,\r\n 'answers': 'School House'\r\n }\r\n ],\r\n answersIndex: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],\r\n }\r\n },\r\n {\r\n 'page': 5,\r\n 'title': 'Sample Listening (Note Completion)',\r\n 'answer': {\r\n 'type': 'inputTexts in paragraphs',\r\n 'question': 'Questions 15 – 21',\r\n 'number': 7,\r\n 'description': 'Complete the notes. Write ONE WORD AND/OR A NUMBER in each gap.',\r\n 'title': \"Phone call about second-hand furniture\",\r\n 'className': 'without-bullets-points',\r\n 'content': [\r\n {\r\n 'id': 15,\r\n 'answers': [\r\n '

    Items

    Dining table- ',\r\n ' shape- medium size'\r\n ]\r\n },\r\n {\r\n 'id': 16,\r\n 'answers': [\r\n '- ',\r\n ' old- £25.00'\r\n ]\r\n },\r\n {\r\n 'id': 17,\r\n 'answers': [\r\n 'Dining chairs- set of  ',\r\n ' chairs'\r\n ]\r\n },\r\n {\r\n 'id': 18,\r\n 'answers': [\r\n '- seats covered in  ',\r\n ' material'\r\n ]\r\n },\r\n {\r\n 'id': 19,\r\n 'answers': [\r\n '- in  ',\r\n ' condition- £20.00'\r\n ]\r\n },\r\n {\r\n 'id': 20,\r\n 'answers': [\r\n 'Desk- length:  ',\r\n ''\r\n ]\r\n },\r\n {\r\n 'id': 21,\r\n 'answers': [\r\n '- 3 drawers. Top drawer has a  ',\r\n '- £50.00'\r\n ]\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n 'page': 6,\r\n 'title': 'Sample Listening Short Answer Questions',\r\n 'answer': {\r\n 'type': 'inputTexts in paragraphs',\r\n 'question': 'Questions 22 – 24',\r\n 'number': 3,\r\n 'description': 'Answer the questions. Write ONE WORD ONLY in each gap.

    List THREE types of staff that Pacific Clothing want to recruit at present.',\r\n 'title': '',\r\n 'className': 'with-bullets-points',\r\n 'content': [\r\n {\r\n 'id': 22,\r\n 'answers': [\r\n ' ',\r\n ]\r\n },\r\n {\r\n 'id': 23,\r\n 'answers': [\r\n ' '\r\n ]\r\n },\r\n {\r\n 'id': 24,\r\n 'answers': [\r\n ' '\r\n ]\r\n }\r\n ]\r\n }\r\n }\r\n];\r\n","import React, { Component } from 'react';\r\n\r\nclass HighlightNotes extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = this.getInitialState();\r\n }\r\n\r\n getInitialState() {\r\n return {\r\n noteVisibleId : [],\r\n noteDragging : undefined,\r\n contextMenu : {\r\n mode : \"\",\r\n pos : {}\r\n },\r\n mouseClickPos : {},\r\n highlightedRegionClickedId : \"\",\r\n highlightedRegionsCounter : 0,\r\n highlightedRegions : []\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.addListenerLeftClick();\r\n this.addListenerRightClick();\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.testPageNumber !== this.state.testPageNumber) {\r\n // reset everything\r\n this.setState( this.getInitialState() )\r\n }\r\n }\r\n\r\n leftClickAction = (event) => {\r\n var _this = this;\r\n var selection = window.getSelection().getRangeAt(0);\r\n var parentEl = selection.commonAncestorContainer.parentNode;\r\n if (parentEl.classList.contains(\"isnote\")) {\r\n var id = parentEl.getAttribute(\"data-highlightedregion-id\");\r\n var noteVisibleId = _this.state.noteVisibleId;\r\n var idExisting = (_this.state.noteVisibleId.filter(VisibleId => VisibleId === id).length > 0) ? true : false;\r\n if (!idExisting) {\r\n noteVisibleId.push(id);\r\n }\r\n _this.setState({ noteVisibleId });\r\n }\r\n }\r\n\r\n addListenerLeftClick() {\r\n var el = document.getElementsByClassName(\"content\")[0];\r\n var el1 = document.getElementsByClassName(\"title\")[0];\r\n\r\n el.addEventListener('click', this.leftClickAction );\r\n el1.addEventListener('click', this.leftClickAction );\r\n }\r\n\r\n rightClickAction = (event) => {\r\n var _this = this;\r\n event.preventDefault();\r\n var selection = window.getSelection();\r\n\r\n if (selection.rangeCount > 0) {\r\n selection = selection.getRangeAt(0);\r\n var endContainer = selection.endContainer; // check start and end container to prevent cross paras and differnt tags including input highlight\r\n var startContainer = selection.startContainer;\r\n\r\n if (endContainer.wholeText === startContainer.wholeText) {\r\n var selectedText = selection.toString();\r\n var contextMenu = {\r\n mode: \"\",\r\n pos: {\r\n top: event.clientY,\r\n left: event.clientX\r\n }\r\n }\r\n var highlightedRegionClickedId = _this.getHighlightIdFromParents(selection.commonAncestorContainer.parentNode);\r\n if (highlightedRegionClickedId !== \"\") { // they clicked on an existing element.\r\n contextMenu.mode = \"existing\"\r\n } else if (selectedText !== \"\") {\r\n contextMenu.mode = \"new\"\r\n }\r\n _this.setState({ contextMenu, highlightedRegionClickedId : highlightedRegionClickedId });\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n addListenerRightClick() {\r\n var el = document.getElementsByClassName(\"content\")[0];\r\n var el1 = document.getElementsByClassName(\"title\")[0];\r\n\r\n el.addEventListener('contextmenu', this.rightClickAction, false);\r\n el1.addEventListener('contextmenu', this.rightClickAction, false);\r\n }\r\n\r\n getHighlightIdFromParents(elem) { // traverse up the tree until you find a .highlight (and return id) or until we reach .question (and stop)\r\n if (elem.nodeType === 1 && !elem.classList.contains(\"content\") && !elem.classList.contains(\"title\") && !elem.classList.contains(\"App\")) {\r\n if (elem.classList.contains(\"highlight\")) {\r\n return elem.getAttribute(\"data-highlightedregion-id\")\r\n } else if (elem.parentNode) { // we're not at the \".question\" element yet\r\n return this.getHighlightIdFromParents(elem.parentNode);\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n\r\n dragNote_Start (event, note) {\r\n var noteDragging = note;\r\n var mouseClickPos = {\r\n offsetX: event.clientX - note.pos.left,\r\n offsetY: event.clientY - note.pos.top\r\n }\r\n this.setState({ mouseClickPos, noteDragging });\r\n }\r\n\r\n dragNote_Stop (event) {\r\n this.setState({ noteDragging: undefined });\r\n }\r\n dragNote_Move (event) {\r\n var noteDragging = this.state.noteDragging;\r\n if (noteDragging) {\r\n noteDragging.pos = {\r\n left: event.clientX - this.state.mouseClickPos.offsetX,\r\n top: event.clientY - this.state.mouseClickPos.offsetY\r\n };\r\n this.setState({ noteDragging });\r\n }\r\n }\r\n\r\n handleNoteClose(event, noteId) {\r\n var _this = this;\r\n var noteVisibleId = _this.state.noteVisibleId.filter(VisibleId => VisibleId !== noteId.toString());\r\n this.setState({ noteVisibleId });\r\n }\r\n\r\n handleNoteContentChange(event, note) {\r\n note.text = event.currentTarget.innerText;\r\n this.setState({ note });\r\n }\r\n\r\n handleContextMenuItemClick_Clear(event, clearAll) {\r\n var aHighlightedRegions = this.state.highlightedRegions;\r\n var i;\r\n if (clearAll) {\r\n aHighlightedRegions = [];\r\n var nodes = document.querySelectorAll(\".highlight\");\r\n for (i = 0; i < nodes.length; i++) {\r\n this.clearHighlight(nodes[i].getAttribute(\"data-highlightedregion-id\"));\r\n }\r\n this.setState({ noteVisibleId: [] });\r\n } else {\r\n for (i = 0; i < aHighlightedRegions.length; i++) {\r\n if (aHighlightedRegions[i].id.toString() === this.state.highlightedRegionClickedId) {\r\n aHighlightedRegions.splice(i,1);\r\n this.clearHighlight(this.state.highlightedRegionClickedId);\r\n break;\r\n }\r\n }\r\n this.setState({ noteVisibleId: this.state.noteVisibleId.filter(visibleId => visibleId !== this.state.highlightedRegionClickedId) });\r\n }\r\n this.setState({ contextMenu: { mode : \"\"}, highlightedRegions : aHighlightedRegions, highlightedRegionClickedId : \"\" })\r\n }\r\n\r\n handleContextMenuItemClick_Highlight(event) {\r\n this.createNewHighlightFromSelection(event);\r\n }\r\n\r\n handleContextMenuItemClick_Note(event) {\r\n var _this = this;\r\n if (this.state.highlightedRegionClickedId === \"\") { // it's a new note\r\n this.createNewHighlightFromSelection(event, true);\r\n } else {\r\n var node = document.querySelectorAll(\".highlight[data-highlightedregion-id='\" + this.state.highlightedRegionClickedId + \"']\")[0];\r\n node.classList.add(\"isnote\");\r\n var noteVisibleId = _this.state.noteVisibleId;\r\n var idExisting = (_this.state.noteVisibleId.filter(VisibleId => VisibleId === this.state.highlightedRegionClickedId).length > 0) ? true : false;\r\n if (!idExisting) {\r\n noteVisibleId.push(this.state.highlightedRegionClickedId);\r\n }\r\n\r\n this.setState({ contextMenu: { mode : \"\" }, noteVisibleId });\r\n }\r\n }\r\n\r\n createNewHighlightFromSelection(event, isNote) {\r\n var _this = this;\r\n var sNoteVisibleId = \"\";\r\n var highlightedRegions = this.state.highlightedRegions;\r\n var highlightedRegionsCounter = this.state.highlightedRegionsCounter;\r\n\r\n highlightedRegionsCounter += 1;\r\n\r\n // need to handle overlap\r\n var selection = window.getSelection().getRangeAt(0);\r\n var selectedText = selection.extractContents();\r\n var span = document.createElement(\"span\");\r\n span.classList.add(\"highlight\");\r\n if (isNote) {\r\n span.classList.add(\"isnote\");\r\n sNoteVisibleId = highlightedRegionsCounter.toString();\r\n }\r\n span.setAttribute(\"data-highlightedregion-id\", highlightedRegionsCounter);\r\n span.appendChild(selectedText);\r\n selection.insertNode(span);\r\n\r\n // add it to the array so we can keep track of them.\r\n highlightedRegions.push({\r\n id : highlightedRegionsCounter,\r\n note: {\r\n pos: this.state.contextMenu.pos\r\n }\r\n });\r\n\r\n window.getSelection().removeAllRanges();\r\n var noteVisibleId = _this.state.noteVisibleId;\r\n var idExisting = (_this.state.noteVisibleId.filter(VisibleId => VisibleId === sNoteVisibleId).length > 0) ? true : false;\r\n if (!idExisting) {\r\n noteVisibleId.push(sNoteVisibleId);\r\n }\r\n\r\n this.setState({ contextMenu : { mode : \"\" }, highlightedRegions, highlightedRegionsCounter, noteVisibleId });\r\n }\r\n\r\n clearHighlight(id) {\r\n var el = document.querySelectorAll(\".highlight[data-highlightedregion-id='\" + id + \"']\")[0];\r\n var parent = el.parentNode;\r\n while (el.firstChild) parent.insertBefore(el.firstChild, el);\r\n parent.removeChild(el);\r\n }\r\n\r\n handleClickOutside(event) {\r\n if (event.target === event.currentTarget) { // its a click on the actual element (not a child)\r\n this.setState({ contextMenu: { mode : \"\" } })\r\n }\r\n }\r\n\r\n renderNotes() {\r\n // TODO: loop through all the notes and output them\r\n return (\r\n
    \r\n {\r\n this.state.highlightedRegions.map((highlightedRegion) => {\r\n if (highlightedRegion.note) {\r\n\r\n var noteVisible = (this.state.noteVisibleId.filter(VisibleId => VisibleId === highlightedRegion.id.toString()).length > 0) ? \"visible\" : \"\";\r\n\r\n return (\r\n
    \r\n
    this.handleNoteClose(event, highlightedRegion.id)}>
    \r\n
    this.dragNote_Start(event, highlightedRegion.note)}>
    \r\n
    \r\n
    this.handleNoteContentChange(event, highlightedRegion.note)}>\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n return \"\"\r\n })\r\n }\r\n
    \r\n )\r\n }\r\n\r\n render() {\r\n var cssClass = \"\";\r\n if (this.state.noteVisibleId.length > 0 || this.state.contextMenu.mode !== \"\") {\r\n cssClass += \"visible \";\r\n }\r\n var contextMenuClearMode = \"\";\r\n if (this.state.contextMenu.mode === \"existing\" && this.state.highlightedRegions.length > 0) {\r\n contextMenuClearMode = (this.state.highlightedRegions.length > 1) ? \"clear-all\" : \"clear-single\"\r\n }\r\n\r\n return (\r\n
    this.handleClickOutside(event)} onMouseUp={(event) => this.dragNote_Stop(event)} onMouseMove={(event) => this.dragNote_Move(event)} >\r\n
      \r\n
    • this.handleContextMenuItemClick_Highlight(event) }>Highlight
    • \r\n
    • this.handleContextMenuItemClick_Note(event) }>Notes
    • \r\n
    • this.handleContextMenuItemClick_Clear(event) } title=\"Clears this highlighting\">Clear
    • \r\n
    • this.handleContextMenuItemClick_Clear(event, true) } title=\"Clears all highlighting on this page\">Clear all
    • \r\n
    \r\n { this.renderNotes() }\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default HighlightNotes;\r\n","import React, { Component } from 'react';\r\nimport ConfirmDetails from './pageContents/ConfirmDetails';\r\nimport Introductions from './pageContents/Introductions';\r\nimport TestSound from './pageContents/TestSound';\r\nimport Tests from './pageContents/Tests';\r\nimport ConfirmFinish from './pageContents/ConfirmFinish';\r\nimport { INTROS } from '../assets/content/intros';\r\nimport { TESTS } from '../assets/content/tests';\r\nimport HighlightNotes from '../components/staticComponents/HighlightNotes';\r\n\r\nclass MainContent extends Component {\r\n state = {\r\n answeredQuestion: [],\r\n storedAnswers: [],\r\n reviewModeNode: []\r\n }\r\n\r\n storeAnswersWhenTestUnmount = (answeredQuestion, storedAnswers, reviewModeNode) => {\r\n this.setState({ answeredQuestion, storedAnswers, reviewModeNode });\r\n }\r\n\r\n renderPageContent() {\r\n if (this.props.pageType === 'Intro') {\r\n switch(this.props.pageNumber) {\r\n case 1:\r\n return ;\r\n case 2:\r\n return ;\r\n case 3:\r\n return intro.pageType === 'reading')[0]}\r\n handleClick={this.props.renderNextPage}\r\n />;\r\n default:\r\n return null;\r\n }\r\n } else if (this.props.pageType === 'Tests') {\r\n return (\r\n \r\n );\r\n } else {\r\n return ();\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n {this.props.pageType === 'Tests' && }\r\n {this.renderPageContent()}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default MainContent;\r\n","import React, { Component } from 'react';\r\nimport './App.scss';\r\nimport './components/components.scss';\r\nimport './containers/containers.scss';\r\nimport './containers/pageContents/pageContent.scss';\r\nimport './components/staticComponents/popups.scss';\r\nimport './components/staticComponents/HighlightNotes.scss';\r\nimport Banner from './containers/Banner';\r\nimport MainContent from './containers/MainContent';\r\n\r\nclass App extends Component {\r\n state = {\r\n pageType: 'Intro',\r\n pageNumber: 1,\r\n playTestSound: false,\r\n testEnd: false\r\n };\r\n\r\n renderNextPage = () => {\r\n this.setState({ pageNumber: this.state.pageNumber + 1 });\r\n if (this.state.pageNumber === 3) {\r\n this.setState({ pageType: 'Tests' });\r\n } else if (this.state.pageNumber === 9) {\r\n this.setState({ pageType: 'End' });\r\n }\r\n }\r\n\r\n renderPreviousPage = () => {\r\n this.setState({ pageNumber: this.state.pageNumber - 1 });\r\n }\r\n\r\n TestsPageJump = (page) => {\r\n if (page) {\r\n this.setState({ pageNumber: page });\r\n }\r\n }\r\n\r\n forceEndTest = () => {\r\n this.setState({ pageNumber: 4, pageType: 'End', testEnd: true });\r\n }\r\n\r\n startReviewAnswers = () => {\r\n this.setState({ pageNumber: 4, pageType: 'Tests' });\r\n }\r\n\r\n updatePlayTestSound = () => {\r\n this.setState({ playTestSound: !this.state.playTestSound });\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default App;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { DragDropContextProvider } from 'react-dnd';\r\nimport HTML5Backend from 'react-dnd-html5-backend';\r\nimport './index.css';\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\nserviceWorker.unregister();\r\n","module.exports = __webpack_public_path__ + \"static/media/sample-audio.ac93e13a.mp3\";","module.exports = __webpack_public_path__ + \"static/media/Sample-Listening-Multiple-Choice-One-Answer-trimmed.9cf92314.mp3\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/IELTSpartners.e1a4eda8.jpg\";","module.exports = __webpack_public_path__ + \"static/media/Sample-Listening-Multiple-Choice-More-Than-One-Answer-trimmed.538163f4.mp3\";","module.exports = __webpack_public_path__ + \"static/media/Sample-Listening-Matching-trimmed.ff68f5ac.mp3\";","module.exports = __webpack_public_path__ + \"static/media/Sample-Listening-Plan-Map-Diagram-Labelling-Type-A-trimmed.3467f403.mp3\";","module.exports = __webpack_public_path__ + \"static/media/Sample-Listening-Note-Completion-trimmed.87cf04f3.mp3\";","module.exports = __webpack_public_path__ + \"static/media/Sample-Listening-Short-Answer-Questons-trimmed.cae73fde.mp3\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALoAAAAbCAIAAABELALtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODMxRjAxNjg2MEFGMTFFMkJGQzM4OUVDRjc0QTU1MjkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODMxRjAxNjk2MEFGMTFFMkJGQzM4OUVDRjc0QTU1MjkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4MzFGMDE2NjYwQUYxMUUyQkZDMzg5RUNGNzRBNTUyOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4MzFGMDE2NzYwQUYxMUUyQkZDMzg5RUNGNzRBNTUyOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Psk0VQcAAAbsSURBVHja7Fp5UBNXGH+7STYoCKhAsuFSq5wFDyqxIIocIgGl2sI4OqWKR6QVxipaQUZqi2Xs4FGlw1EBdepYAacCg0WwA1j/ABVRiqAVEZCQkHjQUWNCkt1uDu4k4EyS6Yz7m++PvN9+17799tv3dgPBFAogQWJyoNIQhJwFEpMtFwShk7NAguwuJMjuQuL/3F1gGLa2tHRAUStrSxzDunp4gj6hTC4nJ47sLmMBAcBi2Pj7+ds72GMKrOtpN51uZoZQu3uFOI6Tc0d2l1HA5TIWi/VGLG5paREIBL5uqFD8gqgTCgwgCrnieR8B0xC6LpENSFpbW2trapoab3/kbr8tJvRzzmKRUCAfkOoyoa5Pqbh3Mt5ncIh4xFdczE/xMBRvyljGyHkyojZMXz+SCUu/d7FCIykRozU1fE6YFlc+cfkjU1IOh/xcrKiI8xzUjMgZ4of1xwuM0BFd8ur1q4iVgWdyj9UWH9+9ZR0FAq7OzA3BH4rFYl0m9IpTeQ2MSG6QZhi9LhKqPnmq21C8KWMZI+dJiAv3clqkA9G/aYNM0KFbcazi9JilWwlJKUa/vLWXo7x2SERWWiTvjIpPv+IUl7vPZayr78OYAIKpGld0NxazQa2vkvXFnSqek3Xu0x6N/5gfhZEFGv/jRV93MbewCl/I+oBhIX3VL3n1r1T8RiIWOzOmW9sw9FhdT/61mR0R5024D0zdx6w8fLkLMTMgb8pYxshZj7h/nVF0I5UD3W/uBTBFY4isXbwA3C/P5quH3dlVzYDp5G2GeG+IYosqz95S8fyGehHD3899lDeuD+9+n7JcNK5WBno137g1JqjaT1ONxj+tMmdjUE6djrT1rV0YDo7P+vr6u/6mUKmYQiF9K3758nkHv9+Giep9wDUe/WnR2c0BDT3BzN/PHetAaIhheVPGMkbOevahLQWryuqAw8ZCTyZ10Lb69KZqABCEpl5QutgzARBQEeo/5d+sKicOEGo4cPD3sxXWN3UNq635yq8lOwPE+9rBVI2Ok6OIueHn83tUGvyaQ5vLnhCarkwGv6Vhcqnq2xkRhxoeCVAbC3NzcxzH3orFIpHokUgy8auaP69VxySmOVw/zBWNUjYUb8pYxshZB3iFV3kInQ5oxJ4UgunabmRWdPIKu8aSks6ho6zo3MRQ4v7lXz9cOBSRUPO6l5nJo3EgAEE0tbIzitpCpSe35/cqVeZxDheuzeNeAbPsAHg2O/5AWpSNyrbt3JqzN3QVNKQXd3okt1s7eD09Ar4STe3CXjEVmhgslDgB1IM9z0i8KWMZI+eJQJSLFtjHEJXRW8L9rnEEyS/ZkcyNSuZesjtQtmmpipq1ZcOCmxdK2gk/kOqFiFqzMSsqObWAr7FrF/ahy6JWKmMBdFk4uKB0QkgWFDvoZzxgPcU+ZQbwWm69JIg9oMD6+oRiiXQ6OtWVbWY+Y4K7xP/gZ4zSU9ysZyFJHGcj8KaMZdicneP25JZmaOSgzzt0nrmc9NKE+TdPEbWiXaG6+hrfbVGoUnObb9svBb0TeeQL+EM//xrWH/KjtbvgOmA1VxK5dc7++IPz5n4cGL4uYEXwbDdvNjvyh6QTnHgbR2+FLkM8JDaWdT0vn4dXVVWDgNUhhuZNGcvQOXfmZ25fs18jh27rnENiSTH6NHOPut/ds/8A4XkkWRrrPzxGGajSymmZuy0akKKuyKMBtsAm5GjGzhCt+s/4T/DObtGYaGOjjwAsVyjGCz7t9epoPys7pKGj4rkFTe7oOSto2/xPdjiyl9zpvgYsZS4czNLprTbbRTsT3JuLyh8rfz+9UNTmlfCFnyF5U8YyRs6TEdUFwwaHc8LTE2yqdh258GC0WmVVFd99QfDgMNjTi193uVLxOO9IXMRejeyqEwJR1a69xyu16t+vf6DiwbLVw3xoKNrWWKk9N8g/NGJ8zzFfKEramvhQWiN7i73ul8gGBiRSGZUCUWgUs2lUqiX2RtLPuyt7eMlitB2xpN8dxvstNvXmEBWYfizOvrUZeHgbgK/9dnNZh4liGSPnSUJ5amjR7sw/lIM5O5K/XWs7RqP5hPqoahJYKqpXWyDXNZknPZsSM84/VI99k66u9wbj9Uf4Aa0FYadrdX0XYgeFj2ctlvdygkL78HYqsYUGCgWGwcSKCAc4pOxIckwmVYilz/GW7KkAh8lX4+/RNyOZXDGeFb54UVZ/lWZFodIoqu0TDEMUaHCFTZSPTC5VPMdksikAKMhJfI/KRa6tXGSd1j1SIU7X/IcBhinKDbdqV0YAwzFcjlO6ZtLkZK28b+Wi0HLJYcFMumCmLpuh/4LLydZCdhcSJN6tu5Ag8Q5LXRIkyIcRCfJhRMKE+E+AAQD9d3neLoZ5+wAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAAAVCAIAAABwo9+3AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQhJREFUeNpivP30K8NwAUwMwwiMemawAhY0vmNONzHa9k8pHQKeAYID3eHQWIMCZmZmFhBmAZFArnbCRDQtqtLcaCIklStA7VQph1hwpj8cPgEKYVWP5hqS3EetEpWJVJ8AyaFUAOD3Ca6YwZ+KIAgzTULYaCL4FeNK2NiTGX6fkOoZ5PRGMO2RpJhIz+DzCS7PoAUVHncApSAOJca5aIrxa8TiGfw+IVgAYNqENUngiRxqlmb4fcLIyERkWJJXWFFSsmFxGX6fMDIykm0ZPNSJSWNYFePXiD1mKPQJpvVEhjpJioktAEj1CabFBJMZLgUkKSbsGczWylABjKOds1HPjHqGJAAQYAAg5pHwD2V6CQAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAcCAYAAACQ0cTtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABKNJREFUeNq0lntsU1UYwL97e8vabX1sdQ862MRsdU4CZFNIfCwo0bFEgxj5wwdgomlEjS+iTCYYEoFpIjEBXZjBqPEPjCa4GF//TA0xo4AUxtqVVbqtHV03JlC70cd9HL/Te++4a4vWMU/y3cc5536/8z3udw7jOlQHN9JWPeOfeUZd9+CtGPt+zDWXJRLAjYjajn1c915xeeKoxR7/AZ/f/99gvQfr9haXJV+/9b5xqG2OgKUq/hr2ZQGZ3zodcPeWQSYWi9WzLFucr/skSYqbTCYPfr/HVJFoa3ggAkxMSI8RMwvnfqmEK6HCfah76yzrpqent5P/0CgoGAy2/HrA0XH6qxrCxxYQcYwlYkQRfBamONL/7SJy9EPHjIUMSoEo4hSWteZpUbKnp8cpnt6yoqKaf3Vp6xiuVpBVsdQsOgkvkmzhwM+VcHmkcF/zS4NbKcyEi/1LVYZWDk9MTJzJBWIYhrhcru8M/reWL75FeHHZw2FgowhiFZAKE1EEfMAhchML3p6FcGm4sJXDbp2qjOf5Kw0NDY+hiyhcysETj+yqfbmKgh5C0CUFRDQQ9Z4G4gLDEljK4jB5vvB+TqspHo8PIejC2xvtBbV2Q83GdwMntePf73bsLLWnXllOQRMKaMa/mrugCA8wOmyFQa+tE986Z8EwbuSNDQuNq5uKAkYrDz/tqe/A7jeV4V2miuS2xnVjoBunS2bkiEsaUIYLRwNW8HnLKehAy3bfEJcZE2sRZwCGQBPG48Q39rZo2ECHUuaK5M6mR8KgC/NyMqjOFzNAogwKDVlhQAZ1tu7weekULjvbUPAjnZ+HO9eNguvIojaRZ+CO9WHQX+BlK1hyzWVqvFT34bfBIQv0D5R36fTGg63t7rOq7iwYEZk0DJIIHBRhJUIIYUAf4mWljEa5FqQkRHDEAmc8lZ8sW//OePlta2ugvahPmZVO1pyWyQFmgPMLoB/h5XdptmKaAJCSFwYJdF3ADO6+ys8cLe2Rm5se3TE5OVmgzfYsWOhiKpq6yl1LX15RJuaAaEDBITP8ftb+6ZLm57319z65jeqKRqMLFF/khtHiKqqKtZZoYRlWjQyb4WS/HabiUldl4wazao0gCLP0Z7uRKG7UKs4UjWUjGKMTCBIFWLVpv+9UMpnkrlfqshNEognCyArVlGY1y9IkxPCoBY577JhAcNfj+z3HsdfwT3U1exW0gKpWqemdA0Zw/I+xEpAE6HjiI09vPkU8O2ZEdqWcHES2UJsQijD4865+Nggl1fG2L567fe+cYOmYoStnftIUyQKlF4F3rleENU8FobQ60fa5c+nKf4NlulF3Lnw18WCyFI757Plt2R6AolIeLkrGJfjWhyVPlxfMaDQ6dnd9XXWq6wWDyJdszvuIFYLo04f6v3Q6nRabzbbmetPoD2fFzfOyZieOoZyfy7EOrSrT6XRV6rvb7d7U2Nh4WIm6bFkikQgZDIbFyjZjQlkB89D8fn9ArYtqK+7u7t6MG2eEzFPDHX/K4/F8gLpt2tpI3UjrFz3slNLDj7aWzbERJY+jKH/KlVO2jlFEr0A5mJ8mav7OmbPM3wIMAOug7LZni7/oAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAcCAYAAACQ0cTtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABIZJREFUeNqslm1MW1UYx59zb99ooVPqGAJjAR1iE6eO6ByGZQGTZdG4ZU43XeK+ofjB14wZSUj6YZpJNEuWuMW4BT/ug1kwWYxhqVl0waIbsLSwAGNQyvvAlVL6cl+Oz+m9t9xeWu0WTvJPb29Pn9/5P895I74L2+EhWjmqBbXZ8L4Q9VSW/qOocyYqPzDIQjgaKt95H8w2KeMH3kzBtklY94f4sqlu1FsCDwNLUpnsWBx23KrdOwNmKwIJpEVlqvSSdeKt+B7cJlkm8HLLMIlEIrUcxxXmSxy6fOD84FXy/tP1U2C2I9CELzmkEaJ0YEwGFvFRoMA4JgRx0Wj0c7vdfipfEKU0XrLn4sG7P78SHvc/dnL7rjkFojkE7ZMoVByLLCvjMdtsthP5gmRZTni93vek/pZ9JVuFT6ob7mFiieKE6jtq7hRR1bwF0/eI1gddjs/Pzw9kAxFCqM/nu2IdbqurfEL68JlXZ4CLYCTO4IhBpDUR/C5LxMJgvBZMEIT7brf7cDAYXFbHZGzSZc+TH1VUM9A0cEuiUie9GzDAcHJyODtkCQpM+kixWOwugqbwMWJISqpdOVXT5ipLfvzsa9PA3xOVOvFqT2JIIZOoiCaRq6Yx3TCd7G/RX7+sjWZx5Snakvji+ddngJ/TgWRDDrQ6pZwpszE1QSSSCWM1Yd1lKQuoJNled2AaTDOCYkNLvqSDpEEUZieLoPjRVbCYJBWmlHZ9YaQMeeyuRPsLhybBHBKAIIvg+iEYkIgoXEMkiUqgYopCI5ug76/HL/X2VIAQ5VLupFwwWSSaPI5iof2lwyEwT2DvpC5FLD1JVQm2JykKIqj/ZulF937PKHHsutTTWwnJVZ7FWsgOU2y3O1zJ9t1Hg2C+o4L09RBUaTDU5JgT+gZKf6zZ1zZb9eJbbdv2n/5pacnS7PNVsHjncsDIp/ZiwVN/dBIsQ6IyamltdmVANEcIunGrrLNqzweDtQ3HTrI44XDY8sbp252rK+aKg18NXVgHq95i47Ek3+w+EgJrAKPGSHaQLoXBcSf87S+DlZj8fenON53a2hVFMRX/0NeDU6nZboSNzcUlSYDPejtLQVxmxaVrKTOC0NHEhBN6ESSJUP/u2ds3E4mEKddWlyuN384vODqu9VWCGOMyJ0JiLX0TQSf4/OUIIvVHzgz2GJZ2fjC2aaJaFxbtKpAYUkchGCqCPxEki9Dw9tlATz6beHZnclqtc0v2jt/6VSBCUqBpJ1z3V7C1s/ed7wJ/5Hti5IARvRDo6PAObANR4CA454TfUyDShL9de5Aj3ljM1CzKclVgDuGXG1UnlletbABN+M6b4xji83JWUFBQ093dXXX8Bz+hlJ3IGWr9J2LbgY6s+OzV3utbc3Oz1eVyNeXlDHd9e2Nj43U81+7km5pj5zNcbeZ5vvw/YfF4fBKvBltVYBHqOdiANjIyMmY8Fwu7urqO48E5SzeoYWZWAoHAGYzt0t8E2CK0oNgdpBhl/b+Fmc/lS93YwqhFdfeksHa1BLMKNcHGNEm3uaXn9r8CDAC9qpO2o5YuGAAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAArCAIAAACM4/3uAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAslJREFUeNrsWD9vEzEUvzv/Sc65Qv6QJk2oVDaUDfUbILG0W2dEN2YkBmbExBdAYkFi4TuwsTJ0Qx07VEFtBSQNSS6XO9vHc0KiNijntvIlkejTRbIj+72f3/v52c9282dgLVscawXkFsRE8Ew/viDQMWnKviRzQYBhKaUQPIoiwTm0TcEAo47jIIwJIQhhaF/EMQsCEAx8f/+QWRZJw/MfG77LmG2TJBCc836/b1ns1bZnHMHbgx4oJ5SCM5LCAZHwfQBR/hXZaXgClHueR2kmiZjAA8ABjUDGaYAA5WAicXeM9oSM5QhNKiBAuSL7ZcLjuZDTAXGlPDEVIa3lgxjwFfDEeSj0AeYhDwZANEwzmGYhHxkGEYlET8AmCvzuabN7dgxky1Xqd2tbmHmGQfAEEFIOe53fzaOzb18/vXy6Vas+fv2BrJVYJmcYRDifmdzvdU+Odzfw7s5+vVJWsft+lH+4jQvrxsMxF0Q4HPqd9vNnOz9arfE/Qb8XqUNPLo4TUWxbhJ20Oo+e7J0efFH7mQvIKxoajU5TY+GQJIOKlb33n2lpY0KSOJQy1HsCmdsdcBDfKZFiDa3lJ8lYEfkKnrguMXnyshxuoTh2Juk1jnism3IDTkiNRrh4ick5BA3oaqeYTlZg2EYWZMmx0Cx09eFwDIfDEjiLS/W/Wkp16OrDQa8dDs2yZMYjm42tF++U8s0GdLVTiMFkNdluFFUfZIpV5WbqCkSFbgoxzgmVeWhOfRAaxc3xz+wBJhd3q7nRKbo4EPIWxDQTLwnEqFx2bJXYKEqlAgPlqghNqMrVIMeByhka99fvpbJoQpx/7sN4xhEwiLHcG+/wvN0OgoEQwohthFA26+YLBcbKYCLpfUKBwDiXU/nHdZmqG2NpKgrj5YGACQ0IKNpdxmAC1M7pPZJoQIzeUNS4pT0XTUf+j693KwHijwADAEEeaSuwExQ/AAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAIAAAAnX375AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAZdJREFUeNrUVz1vgzAQvUQezhKVQEqlZGuqdun/nzt175YOlUi3DB2MlEi+wVJ65iMQioCATRJPPjju+c7nZ95sp44w7ZjD5EPUHxjvIKIKpg2BIXKKiowgUAo8QYkS75Csn0L28VHM7U8igzBDyyE5v4SIJ5xiFZOylY40BdjgSDbXHJIryfU8KIBlre61lAebNniAYGx5844lu5Eeu5SDn1pk7rdXm4I3nEvyZrZRAZ1PnJitVCAqrib3GmN2QTZuqhlnijvlWClntvX1cQDIkCwzPGdZUnNjlyOSsr9zQUM4trBqr6MHOZg9LoZUSpc+TiCJr0zR9+Oeha0R/rzjXBp3ZhsVjD/7rTsl/t0y1H9XLnJ29LtlJmSfeLsbDHkDHEugb4XW316fO2NtvuM7Fwibr9hVA18hy+sWVmSqRU6Ck+ojmU7XL0sfiBwcz5RXqscwiN4/PpNfRUQayA0SII/wMYoWKyj0nihWwX8LCIuVRNTGnVhIi8fJhIiZ7KrUmN+x/kNifTSVpM1XZPWY9Hz4/wQYAIg1rFd+NIWsAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAArCAIAAACM4/3uAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABVpJREFUeNrsWFtv3EQU9vru3WZv2WSTTdJtmtAqiEqAEC9IfeHHIPUXFAEPSIh/UYm3ip8AUoVQRZFalYsaQEGlbULSpLnsbnbXXnvssfnGk3W3seN1IlB46EmymUlmvvP5nDNnznFuc98WzltE4X8gr0kMRT7thiAI+CeX6O+5ofDxf0UCKn3fxw/1qed5fMx5MOUiE1mWJVHi4+xU5OzqKfVc1/UcUirqtaKhKkwj14QFnkeJ6/ZN0ulasqYqiiJJckYqufQjym2OBycu8V3v4nzV0BSm0g8oM4PAvoASekCCJZjS3MBxn222ZEVWFVWS5chNZyHBDeB5rj0YNKbLpQkdWr1QbeSF0UA5CghBkHKCmBMOe/bz3Y5uGLKspJtETGdAiGNZ1huXpsHA9QOXP3i67wSBrfQDbMFGbAeIP4ye05HgDPr9/srSDOxMaOAHwjGglCkWYws2rlyeMU3ThTd9/3QkuBfwEG8uNeBvwrz/yuEUMkzxCxvhhZXLs+ABwJN4iMmOoBRxsDBTQYzDsOkPnT7FdkWW5uplAAI20Sliohkc4niuUy7mHeQEcAq/g+Hg5Th0dfoU2wFSLRYIsZ0wOMaTYAeSerZtLy82qB941I+SI8eNxtHn2CnyGqhcWZwDbKIx5DgJZCScCSQjy/WO5eYz+8XxaF5TBpZlGAbPHGmWAFOXkEa9xizpvzTDSfLVrVtFXR27jIY2XJitEceBijRLhKspIaRaniLh7TD6r1H6mO7v7319+/ZnH9/ElFI6Nj27lFYqF14cdKFCCl4xhhgLCOo4jiKLrsfYR8Jz1+j0yqVmp90ezWzpAkBcJwCnsbBIIIGQQI6l40A//+LLm598Gh2oseJRitwN8DiJ4+4IWJryYCvX81ISLeSjGzfo0Ls05ubEkw9YgAexFJ5wOtiiGG7KjRWROOm/fIo7jI2TLpHkegJLhTCkM1YlfoaVcHFwwrLjJHiNhKDEHpLByNndgahksJIUP0dynAEKJocQFE7mYJAThiYdFi+J0yN3pC7WFAWwAM/FaovjJCRJUhR1+8VBc37moH2Y1R10vDvyhvZ0YxsFjhQzRgIJTdOerm8tNedkSULZmA699mQ9S0yg5kRt8Wzj7+n6fAYSoqRCNL192JuslLZ2dv+VzqJWKbU6PVUrAJuV4+l3BwJH1bR8vnD/p0cGbKKp/sgNfrZvPcR58HAVsACHivGnQ5EVrDb1/ObO3lx96q+NrdHgv3Z1eexzP1p7HI1hfFyHm8939TykAPD46RDjJMBUN/SJYum3Px73zcHF2XpiyzW2UeCLLzbqvb71+9oTAAI28YgmlPy80TDNfrvdwlX54fX38cf1rW2aOW1ENmjOzQLuzt0HtdpUtToJS8SLieTybmgMo1gsl8uVb+784DhkuTkP1waZBfG03Fywbefb734ECKA0PdkMJ6btsKtU8oW8H1Qx/f7ew7evXV1caJjWYGfvADknxQCaqs5MTRbyxsbWzq+rf07WpsqVKqB4C3S6DoyXCLh5LdPqdjvtVstx7OsfvFctFV3P7ZmWObDRmeKyZSkZGhS5gEgqIPSkVqd79959HMhKtQobgAESYEoTlrUNRBfU6x52u13HHrz7zlsLc7PI6wz2aCW6nYC43sbm9s+/rGq6USqVEImFQiFLG5ipIUZViGodtbJlmgNYxjIxDmskj0erxERGNjCY5A08O9TruqZqPA7Si78xrwaiVx+6KKLbBy65MIH2EHUoPMUrFLYsvPZgc/DAp3rKVwOZ3k/wOwWI7HFVjfr5c3hJMkolABWBPfT5vC6KlJ1BzetXiNnkHwEGAKVZXKcUv6xpAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAIAAAAnX375AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6N0EwRjJDNEQxMkNCMTFFMkJDMjBCMDc5RTk1ODg1MjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6N0EwRjJDNEUxMkNCMTFFMkJDMjBCMDc5RTk1ODg1MjQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3QTBGMkM0QjEyQ0IxMUUyQkMyMEIwNzlFOTU4ODUyNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3QTBGMkM0QzEyQ0IxMUUyQkMyMEIwNzlFOTU4ODUyNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PlfZLh4AAAHfSURBVHjaxFfLboJAFGV4BJCmltRNt9pdP8ClX+TKD3TnustuSRtj0hKaKoiBgR4ZRLRYoZmZnoW5M0w4nvsY7iVvH7EiBXmeZ1kGQ1VkAZTM0Kt1BeXwjA/IHvUNvZJMaZokCU1T2LxIwaUCGqADMI+U4NtG0dPjgyCvPr+8Os4NYy0p0zQNwxC267rc+YIg2KzXpmmC8qgSPo2ikHlehMrN5qvfv1OsWvogfmAVR5nsEiRMLWOLPM2KLRZh7sgUWpZDpbKCIMp6Ceg/q0jUVXCJUpBKJoTpkedYohCpsTyhaLoRr2M+n3ue1/LwWaJ0ppxOp4vFYjgctv9/h1j+tUhms5nv+12jUC+SziqXy+V4PO4UhapImjP2al1OJpPqTPsiZgeZYyV1BUWRXEgfCb2ITErSHMu8Sw/S/jArkuY7VhBlcZA0U7bEaDTq/iXhobJbJA8vl0d58eMliJJdtFJV/taIsElFalcgiLJQmctOn9N2q7iJVKKKo9SIRs4cu59ODAPGarUSQWmYBuYvpodgiqaU7nbxZxD4/jt+43iLHT7iNM2y7Ns+4N4PBr2eU6qEXsxEjrNf23YPw0mW80kiBAvOA6tl27pulNkLlf8w0kIlFoQYeCBhcP8WYACwlhEpUp5k4QAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQkAAABqCAIAAAAgHTNzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MURBNDZCQUQxMkNCMTFFMkI2QkVDMEIxNUUxNDc4RTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MURBNDZCQUUxMkNCMTFFMkI2QkVDMEIxNUUxNDc4RTgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxREE0NkJBQjEyQ0IxMUUyQjZCRUMwQjE1RTE0NzhFOCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxREE0NkJBQzEyQ0IxMUUyQjZCRUMwQjE1RTE0NzhFOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmUCafIAAA8xSURBVHja7F1rjGRF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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAAVCAIAAAACbL0BAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAcdJREFUeNpifPfuHcMooD1gGg0C+gAWZI6goCBJmt+/fz8aguQENPFgwdRSJjYO35Ci0RCkYdEBCWVGZpbR4KNhQMNDWVnNdDT4aBXQyKH86ePr0eCjSUBv3zAHOZRfv3wwGnw0Cehnj67++/UDHsr///6hrlOEwIB4cVLNGRqtjsXz2niEZPgFRW5d3M/MyQMMZWCgY/oQSMJ7QMhcNClKIoNsc6jlBhqm6Ncn1SMd/n18+wzIllDQ+f3hDTCU//8hIUW/AwPKnUstcwZjigaGsqBoLJOYTEoS37Spx/iExVh4BZ7evsjJr0h2akLL2shhB5fCGqBkmwPnDlS6ZiIylBn+f2L8dT874f6754+A4mxsHEJC3HiKSDylJNyrWH0LFydYzpJkDlzNQOUJFuJDmeH3VYZ/d6PdHy7dyVDcsgpXFxxXchttdWAHjw8ZYIbym8csFy8wFNQtHA04qqVoZoYXyKH888u9z29BoeySfnM01CgN6G835CEMTl5WCaOOF+cqINwPH9iA5Bv2FJf0Oqq0HKjS1CXVHGT19C+mGZGtpP8w6WBoXw9Aiqbb+DJyMqQkdKhlDr1T9CgYFGMdo4ASABBgAGP+Be7vP9JqAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAAVCAIAAAACbL0BAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAoZJREFUeNpifPfuHcMooD1gHA3ogQnoZ8+evXr16t+/f1hVi4iIyMjIMDExjQYcqYAFjQ8MZUtLSxYWFkZGRjSpP3/+HDp0CMgYDWsqBDQwLQND+efPn/CABoYvUPDXr1/CwsJa0h+/nJ/7/oHu1zcHhQ0SuJU8R0OQnID+//8/qDRhZGRmZgamWUgBAmQAxYGC319sYn5xWkIvhl/R6MN99dsHV6mMBjTZKRoCICUDJKyBgQ4M6H/v9/7+e1NIzfrdnetsjL94+SQ4eYVHg48KAQ0pOoCMv3///vt4nO33VX4l95/PV7BxMz48f+Pnb0Zxp6LR4CMeYK/T4AU0kPHr7ZF/H/bzK3v/eDabkfU9Kw8v9/9370Qd2fgkRoOP0oCGg5c3Nn19totfxf/H02lMrL9/fVJ4ffiisEvLPy4soSwkJERQBFMBQTXDP6Bf3tz66elxMW3vXy9mM7P9//lJ/vXhc6IBU9jFNfAE3GjiJaGMBoLbx1b8+3z1D6PU88uTBcXYfryT/XDmhmTIdGZeSYKJFGtvEzkOIArgIhAGmiBcBJf2YZKiLx2bp2Wbzv74yM0NR8/veHdr7wUxrw6CoYwZWGhBiawAHl6Y4rhiAi41fAL69r3Xv65uVjSw5eFWf3n5rnpoL7uIEhMYkBfWxANcBfeQLtBxFh1X77zqnzndVFORT1nPJXUBl5A08YYCw5qSQMFMsxAD8RdNQzWgF+96SmA4CmMwBFfQUJK0kYuXIV3ZsqCFHRD8+fOHhYUFjx6gAmIGlZDDGi2NIwcfXBxS/mJVNtRrQgbMYdKnT5++evUKMuiBs1xnYhIVFZWWlmYYBWQH9CgYDejRgB4FRACAAAMA2Mw6rnks6i0AAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/screenNotes.afb8a83a.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAAVCAIAAAACbL0BAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAitJREFUeNrslz9Lw0AYxvOvJSoSbUuNUNSODgUdHDpIB8FFUEEH3URBUHDyA3TyAwiCivgFFASrdhOkizi5FCcVkbba2NaioqQkja89PSRNo41VMd4zHJfrmx793dMnb+hcLkcRfb8YguBnxOFZKpWSJKlYLBrWeTwen8/HMORgvgwaKAeDQY7jaJrWFSmKEovFYEJY1wA0eBkoy7KMQQNfWCwUCm63OxAIxONxwvqrGa1pGoyAmGVZwM28iS4JPhIEAfyezWYTiQShVoOHIXIrGgE6Yg1zp9PJ83woFMpkMuhUiCxGBwaNyMJEVVVgDYjz+TxkCCSJ1+slyGoDGgc0ihE8R9Cr/XaXywUjadUNQOugI7goqc0TAzFFImSrA40Q4zD5vHPhkrCuDjRinYosX+2uPFyeOlpa1c5+qrvb/JZKlCu53nAdH5498qdiR6y9CSjfHW12jU71LUV6Bkea00fp6JqFnTAvhEwH13C9/NK2jgbQF1uLPeMz/NkBFVuoFwR/W3s8uioOTFvbzxCcCU3bRBBnkhhAGcbC1SXf6qcG5l9vCIvKddbyfuXg3ieDbfxbddfxUuEVH4/3GrZn5af0I0Xd37GMR/zQth868b89MDnMFASvJPD+ravoGJ472V/3NddxrOP+RjmXGHFostynrpJM/u+VanTrdhWNf3AymZQkybBZZo535MMN7vZGbXI39o51ToRJu2YdNNHvtHdEBPSf1LMAAwBf5/Kkh1wKYgAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAAVCAIAAAACbL0BAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEU5MTczQTA2MEIyMTFFMjhBNEVDODJCRTI4MjM3QkQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEU5MTczQTE2MEIyMTFFMjhBNEVDODJCRTI4MjM3QkQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0RTkxNzM5RTYwQjIxMUUyOEE0RUM4MkJFMjgyMzdCRCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0RTkxNzM5RjYwQjIxMUUyOEE0RUM4MkJFMjgyMzdCRCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoaqNvkAAAMRSURBVHja7JhNbxJRFIbv53wxHWaoQClQahM1ao3GrozuXerCpQt3unRj4i8x8S/oShsTf4Gaqq2RLkybopN+USBIsUxhhpnrpTTYEGgppbVN5g0L7p0zM5lnzn3PuQOLxSLwdfxCPoKTEek46zhOLpcrl8uVSoUPA4GApmmRSIRS6iMbGOhsNmv+zNhLn93skoABhmATUitxMRu/Hh8fHxkZ8akNALRpmqvpGevjay0cw4rcnIQQoo0FlvlaqN6z7WtjY2M+uD5BM8Y4zeXl5ZX0p/qXt/roeQ9Cl1s4Y7vHASHBYTY3XaN4FeN4PO6z6zOjbdteXzHt2XdaJOECyBFz0yCEIcB2I5iHtZA3N50TjWg0Sgjx8fXTdeTz+erCjKqHefZSwCTCROpJkEkIKIg1f9RzkKCoa+lCoeCz6xN0qVRiG4tEIBJFskAIpggKLhJcIjJREdWgagzrQ6pEEFv/0Xv3HdrRST7S3jue/N0Pto5qtUrqVQQ0gtCtZy86RmdePmXmbJ0Guc90fMLWf38f1BU0QghjnsjAY263aCvzTakUtgy9G+UWXz70WXcGLQhCXVSxU9tc+v7m4RWJUkWgoiRIhPCGpBmjuWVMIQqEePD+1+1GuVvWd5xvvby2t3gW19A/0LquO4kLvz+8MpxSUGAqASpkct0TAUOQh8FG28Hqv6jhxi6HDKM/92wRabpni85euG2rYR+T3ees0ws6HA7nxqfA3HvmVWRky4jJ2JMpAlQAEO+UTW/bcfM0VktN8eCjFKseJw9M1VNS6A7XdXA3OBcdNe4+LhN9C4qN9o6wBmUsAkS4hVs2S7ux7Rv3o8mJozTRxT1qy/RDpWR/Z/1/0FzJZFJOTeoPnpfCV1fcoaInA9cDdXu7WsvWwLx8afv2I33yTi/bwl5y7Qzl48Cso1XuUqlUVhTX8JOt3PyfnLlYMBtHI6NuKG4lbiZSE90+KjVLVotdxyzrFtM23/vKOD1t8oGCHYk4jsM3inwLY1kWHyqKwksl92X/M+mAQfs6Xo/25YM+8/orwADYYVhOa0V44wAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVAAAABsCAIAAACzRX3sAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDg2REQ3MTU2MEIzMTFFMjhBMzA5OUM3QjQwNjY3NzIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDg2REQ3MTY2MEIzMTFFMjhBMzA5OUM3QjQwNjY3NzIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ODZERDcxMzYwQjMxMUUyOEEzMDk5QzdCNDA2Njc3MiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0ODZERDcxNDYwQjMxMUUyOEEzMDk5QzdCNDA2Njc3MiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PhPFTUEAAB4aSURBVHja7F0HYBRF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\"","module.exports = __webpack_public_path__ + \"static/media/IELTS-Listening-GapFill.a54dbc94.png\";","module.exports = __webpack_public_path__ + \"static/media/IELTS-Listening-DragDrop1.dfdc04b9.png\";","module.exports = __webpack_public_path__ + \"static/media/IELTS-Listening-DragDrop2.959136d5.png\";","module.exports = __webpack_public_path__ + \"static/media/IELTS-Listening-Choice.ef1b3632.png\";"],"sourceRoot":""}