var matchArray = [
      {
          "id" : "560add10cb82ac38a17513be",
          "name" : "Learn how Free Code Camp Works",
          "challengeType" : "7"
      },
      {
          "id" : "560add37cb82ac38a17513bf",
          "name" : "Create a GitHub Account and Join our Chat Rooms",
          "challengeType" : "7"
      },
      {
          "id" : "560add56cb82ac38a17513c0",
          "name" : "Configure your Code Portfolio",
          "challengeType" : "7"
      },
      {
          "id" : "560add71cb82ac38a17513c2",
          "name" : "Join a Campsite in Your City",
          "challengeType" : "7"
      },
      {
          "id" : "560add8ccb82ac38a17513c4",
          "name" : "Learn What to Do If You Get Stuck",
          "challengeType" : "7"
      },
      {
          "id" : "aff0395860f5d3034dc0bfc9",
          "name" : "Validate US Telephone Numbers",
          "challengeType" : "5"
      },
      {
          "id" : "56533eb9ac21ba0edf2244cf",
          "name" : "Record Collection",
          "challengeType" : "5"
      },
      {
          "id" : "a3f503de51cf954ede28891d",
          "name" : "Symmetric Difference",
          "challengeType" : "5"
      },
      {
          "id" : "aa2e6f85cab2ab736c9a9b24",
          "name" : "Exact Change",
          "challengeType" : "5"
      },
      {
          "id" : "a56138aff60341a09ed6c480",
          "name" : "Inventory Update",
          "challengeType" : "5"
      },
      {
          "id" : "a7bf700cd123b9a54eef01d5",
          "name" : "No repeats please",
          "challengeType" : "5"
      },
      {
          "id" : "a19f0fbe1872186acd434d5a",
          "name" : "Friendly Date Ranges",
          "challengeType" : "5"
      },
      {
          "id" : "a2f1d72d9b908d0bd72bb9f6",
          "name" : "Make a Person",
          "challengeType" : "5"
      },
      {
          "id" : "af4afb223120f7348cdfc9fd",
          "name" : "Map the Debris",
          "challengeType" : "5"
      },
      {
          "id" : "a3f503de51cfab748ff001aa",
          "name" : "Pairwise",
          "challengeType" : "5"
      },
      {
          "id" : "bd7158d8c442eddfaeb5bd17",
          "name" : "Build a JavaScript Calculator",
          "challengeType" : "3"
      },
      {
          "id" : "bd7158d8c442eddfaeb5bd0f",
          "name" : "Build a Pomodoro Clock",
          "challengeType" : "3"
      },
      {
          "id" : "bd7158d8c442eedfaeb5bd1c",
          "name" : "Build a Tic Tac Toe Game",
          "challengeType" : "3"
      },
      {
          "id" : "bd7158d8c442eddfaeb5bd1c",
          "name" : "Build a Simon Game",
          "challengeType" : "3"
      },
      {
          "id" : "bd7158d2c442eddfbeb5bd1f",
          "name" : "Get Set for our Algorithm Challenges",
          "challengeType" : "7"
      },
      {
          "id" : "a202eed8fc186c8434cb6d61",
          "name" : "Reverse a String",
          "challengeType" : "5"
      },
      {
          "id" : "a302f7aae1aa3152a5b413bc",
          "name" : "Factorialize a Number",
          "challengeType" : "5"
      },
      {
          "id" : "aaa48de84e1ecc7c742e1124",
          "name" : "Check for Palindromes",
          "challengeType" : "5"
      },
      {
          "id" : "a26cbbe9ad8655a977e1ceb5",
          "name" : "Find the Longest Word in a String",
          "challengeType" : "5"
      },
      {
          "id" : "ab6137d4e35944e21037b769",
          "name" : "Title Case a Sentence",
          "challengeType" : "5"
      },
      {
          "id" : "a789b3483989747d63b0e427",
          "name" : "Return Largest Numbers in Arrays",
          "challengeType" : "5"
      },
      {
          "id" : "acda2fb1324d9b0fa741e6b5",
          "name" : "Confirm the Ending",
          "challengeType" : "5"
      },
      {
          "id" : "afcc8d540bea9ea2669306b6",
          "name" : "Repeat a string repeat a string",
          "challengeType" : "5"
      },
      {
          "id" : "ac6993d51946422351508a41",
          "name" : "Truncate a string",
          "challengeType" : "5"
      },
      {
          "id" : "a9bd25c716030ec90084d8a1",
          "name" : "Chunky Monkey",
          "challengeType" : "5"
      },
      {
          "id" : "ab31c21b530c0dafa9e241ee",
          "name" : "Slasher Flick",
          "challengeType" : "5"
      },
      {
          "id" : "af2170cad53daa0770fabdea",
          "name" : "Mutations",
          "challengeType" : "5"
      },
      {
          "id" : "adf08ec01beb4f99fc7a68f2",
          "name" : "Falsy Bouncer",
          "challengeType" : "5"
      },
      {
          "id" : "a39963a4c10bc8b4d4f06d7e",
          "name" : "Seek and Destroy",
          "challengeType" : "5"
      },
      {
          "id" : "a24c1a4622e3c05097f71d67",
          "name" : "Where do I belong",
          "challengeType" : "5"
      },
      {
          "id" : "56533eb9ac21ba0edf2244e2",
          "name" : "Caesars Cipher",
          "challengeType" : "5"
      },
      {
          "id" : "bd7123c9c441eddfaeb4bdef",
          "name" : "Comment your JavaScript Code",
          "challengeType" : "1"
      },
      {
          "id" : "bd7123c9c443eddfaeb5bdef",
          "name" : "Declare JavaScript Variables",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244a8",
          "name" : "Storing Values with the Equal Operator",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244a9",
          "name" : "Initializing Variables with the Equal Operator",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244aa",
          "name" : "Understanding Uninitialized Variables",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244ab",
          "name" : "Understanding Case Sensitivity in Variables",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c11feddfaeb3bdef",
          "name" : "Add Two Numbers with JavaScript",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c11feddfaeb4bdef",
          "name" : "Subtract One Number from Another with JavaScript",
          "challengeType" : "1"
      },
      {
          "id" : "cf1231c1c11feddfaeb5bdef",
          "name" : "Multiply Two Numbers with JavaScript",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c11feddfaeb6bdef",
          "name" : "Divide One Number by Another with JavaScript",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244ac",
          "name" : "Increment a Number with JavaScript",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244ad",
          "name" : "Decrement a Number with JavaScript",
          "challengeType" : "1"
      },
      {
          "id" : "cf1391c1c11feddfaeb4bdef",
          "name" : "Create Decimal Numbers with JavaScript",
          "challengeType" : "1"
      },
      {
          "id" : "bd7993c9c69feddfaeb7bdef",
          "name" : "Multiply Two Decimals with JavaScript",
          "challengeType" : "1"
      },
      {
          "id" : "bd7993c9ca9feddfaeb7bdef",
          "name" : "Divide one Decimal by Another with JavaScript",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244ae",
          "name" : "Finding a Remainder in JavaScript",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244af",
          "name" : "Assignment with Plus Equals",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244b0",
          "name" : "Assignment with Minus Equals",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244b1",
          "name" : "Assignment with Times Equals",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244b2",
          "name" : "Assignment with Divided by Equals",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244b3",
          "name" : "Convert Celsius to Fahrenheit",
          "challengeType" : "1"
      },
      {
          "id" : "bd7123c9c444eddfaeb5bdef",
          "name" : "Declare String Variables",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244b5",
          "name" : "Escaping Literal Quotes in Strings",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244b4",
          "name" : "Quoting Strings with Single Quotes",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244b6",
          "name" : "Escape Sequences in Strings",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244b7",
          "name" : "Concatenating Strings with Plus Operator",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244b8",
          "name" : "Concatenating Strings with the Plus Equals Operator",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244b9",
          "name" : "Constructing Strings with Variables",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244ed",
          "name" : "Appending Variables to Strings",
          "challengeType" : "1"
      },
      {
          "id" : "bd7123c9c448eddfaeb5bdef",
          "name" : "Find the Length of a String",
          "challengeType" : "1"
      },
      {
          "id" : "bd7123c9c549eddfaeb5bdef",
          "name" : "Use Bracket Notation to Find the First Character in a String",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244ba",
          "name" : "Understand String Immutability",
          "challengeType" : "1"
      },
      {
          "id" : "bd7123c9c450eddfaeb5bdef",
          "name" : "Use Bracket Notation to Find the Nth Character in a String",
          "challengeType" : "1"
      },
      {
          "id" : "bd7123c9c451eddfaeb5bdef",
          "name" : "Use Bracket Notation to Find the Last Character in a String",
          "challengeType" : "1"
      },
      {
          "id" : "bd7123c9c452eddfaeb5bdef",
          "name" : "Use Bracket Notation to Find the NthtoLast Character in a String",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244bb",
          "name" : "Word Blanks",
          "challengeType" : "1"
      },
      {
          "id" : "bd7993c9c69feddfaeb8bdef",
          "name" : "Store Multiple Values in one Variable using JavaScript Arrays",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c11feddfaeb7bdef",
          "name" : "Nest one Array within Another Array",
          "challengeType" : "1"
      },
      {
          "id" : "56bbb991ad1ed5201cd392ca",
          "name" : "Access Array Data with Indexes",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c11feddfaeb8bdef",
          "name" : "Modify Array Data With Indexes",
          "challengeType" : "1"
      },
      {
          "id" : "56592a60ddddeae28f7aa8e1",
          "name" : "Access MultiDimensional Arrays With Indexes",
          "challengeType" : "1"
      },
      {
          "id" : "56bbb991ad1ed5201cd392cb",
          "name" : "Manipulate Arrays With push",
          "challengeType" : "1"
      },
      {
          "id" : "56bbb991ad1ed5201cd392cc",
          "name" : "Manipulate Arrays With pop",
          "challengeType" : "1"
      },
      {
          "id" : "56bbb991ad1ed5201cd392cd",
          "name" : "Manipulate Arrays With shift",
          "challengeType" : "1"
      },
      {
          "id" : "56bbb991ad1ed5201cd392ce",
          "name" : "Manipulate Arrays With unshift",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244bc",
          "name" : "Shopping List",
          "challengeType" : "1"
      },
      {
          "id" : "56bbb991ad1ed5201cd392cf",
          "name" : "Write Reusable JavaScript with Functions",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244bd",
          "name" : "Passing Values to Functions with Arguments",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244be",
          "name" : "Global Scope and Functions",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244bf",
          "name" : "Local Scope and Functions",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244c0",
          "name" : "Global vs Local Scope in Functions",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244c2",
          "name" : "Return a Value from a Function with Return",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244c3",
          "name" : "Assignment with a Returned Value",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244c6",
          "name" : "Stand in Line",
          "challengeType" : "1"
      },
      {
          "id" : "bd7123c9c441eddfaeb5bdef",
          "name" : "Understanding Boolean Values",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c12feddfaeb3bdef",
          "name" : "Use Conditional Logic with If Statements",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244d0",
          "name" : "Comparison with the Equality Operator",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244d1",
          "name" : "Comparison with the Strict Equality Operator",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244d2",
          "name" : "Comparison with the Inequality Operator",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244d3",
          "name" : "Comparison with the Strict Inequality Operator",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244d4",
          "name" : "Comparison with the Greater Than Operator",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244d5",
          "name" : "Comparison with the Greater Than Or Equal To Operator",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244d6",
          "name" : "Comparison with the Less Than Operator",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244d7",
          "name" : "Comparison with the Less Than Or Equal To Operator",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244d8",
          "name" : "Comparisons with the Logical And Operator",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244d9",
          "name" : "Comparisons with the Logical Or Operator",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244da",
          "name" : "Introducing Else Statements",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244db",
          "name" : "Introducing Else If Statements",
          "challengeType" : "1"
      },
      {
          "id" : "5690307fddb111c6084545d7",
          "name" : "Logical Order in If Else Statements",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244dc",
          "name" : "Chaining If Else Statements",
          "challengeType" : "1"
      },
      {
          "id" : "5664820f61c48e80c9fa476c",
          "name" : "Golf Code",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244dd",
          "name" : "Selecting from many options with Switch Statements",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244de",
          "name" : "Adding a default option in Switch statements",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244df",
          "name" : "Multiple Identical Options in Switch Statements",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244e0",
          "name" : "Replacing If Else Chains with Switch",
          "challengeType" : "1"
      },
      {
          "id" : "5679ceb97cbaa8c51670a16b",
          "name" : "Returning Boolean Values from Functions",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244c4",
          "name" : "Return Early Pattern for Functions",
          "challengeType" : "1"
      },
      {
          "id" : "565bbe00e9cc8ac0725390f4",
          "name" : "Counting Cards",
          "challengeType" : "1"
      },
      {
          "id" : "56bbb991ad1ed5201cd392d0",
          "name" : "Build JavaScript Objects",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244c7",
          "name" : "Accessing Objects Properties with the Dot Operator",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244c8",
          "name" : "Accessing Objects Properties with Bracket Notation",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244c9",
          "name" : "Accessing Objects Properties with Variables",
          "challengeType" : "1"
      },
      {
          "id" : "56bbb991ad1ed5201cd392d1",
          "name" : "Updating Object Properties",
          "challengeType" : "1"
      },
      {
          "id" : "56bbb991ad1ed5201cd392d2",
          "name" : "Add New Properties to a JavaScript Object",
          "challengeType" : "1"
      },
      {
          "id" : "56bbb991ad1ed5201cd392d3",
          "name" : "Delete Properties from a JavaScript Object",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244ca",
          "name" : "Using Objects for Lookups",
          "challengeType" : "1"
      },
      {
          "id" : "567af2437cbaa8c51670a16c",
          "name" : "Testing Objects for Properties",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244cb",
          "name" : "Introducing JavaScript Object Notation JSON",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244cc",
          "name" : "Accessing Nested Objects in JSON",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244cd",
          "name" : "Accessing Nested Arrays in JSON",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c11feddfaeb5bdef",
          "name" : "Iterate with JavaScript For Loops",
          "challengeType" : "1"
      },
      {
          "id" : "56104e9e514f539506016a5c",
          "name" : "Iterate Odd Numbers With a For Loop",
          "challengeType" : "1"
      },
      {
          "id" : "56105e7b514f539506016a5e",
          "name" : "Count Backwards With a For Loop",
          "challengeType" : "1"
      },
      {
          "id" : "5675e877dbd60be8ad28edc6",
          "name" : "Iterate Through an Array with a For Loop",
          "challengeType" : "1"
      },
      {
          "id" : "56533eb9ac21ba0edf2244e1",
          "name" : "Nesting For Loops",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c11feddfaeb1bdef",
          "name" : "Iterate with JavaScript While Loops",
          "challengeType" : "1"
      },
      {
          "id" : "5688e62ea601b2482ff8422b",
          "name" : "Profile Lookup",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c11feddfaeb9bdef",
          "name" : "Generate Random Fractions with JavaScript",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c12feddfaeb1bdef",
          "name" : "Generate Random Whole Numbers with JavaScript",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c12feddfaeb2bdef",
          "name" : "Generate Random Whole Numbers within a Range",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c12feddfaeb6bdef",
          "name" : "Sift through Text with Regular Expressions",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c12feddfaeb7bdef",
          "name" : "Find Numbers with Regular Expressions",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c12feddfaeb8bdef",
          "name" : "Find Whitespace with Regular Expressions",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c13feddfaeb3bdef",
          "name" : "Invert Regular Expression Matches with JavaScript",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c12feddfaeb9bdef",
          "name" : "Create a JavaScript Slot Machine",
          "challengeType" : "0"
      },
      {
          "id" : "cf1111c1c13feddfaeb1bdef",
          "name" : "Add your JavaScript Slot Machine Slots",
          "challengeType" : "0"
      },
      {
          "id" : "cf1111c1c13feddfaeb2bdef",
          "name" : "Bring your JavaScript Slot Machine to Life",
          "challengeType" : "0"
      },
      {
          "id" : "cf1111c1c11feddfaeb1bdff",
          "name" : "Give your JavaScript Slot Machine some Stylish Images",
          "challengeType" : "0"
      },
      {
          "id" : "bd7158d8c442eddfbeb5bd1f",
          "name" : "Get Set for our Front End Development Projects",
          "challengeType" : "7"
      },
      {
          "id" : "bd7158d8c442eddfaeb5bd18",
          "name" : "Build a Tribute Page",
          "challengeType" : "3"
      },
      {
          "id" : "bd7158d8c242eddfaeb5bd13",
          "name" : "Build a Personal Portfolio Webpage",
          "challengeType" : "3"
      },
      {
          "id" : "bad87fee1348bd9acde08712",
          "name" : "Use Responsive Design with Bootstrap Fluid Containers",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9acde08812",
          "name" : "Make Images Mobile Responsive",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd8acde08812",
          "name" : "Center Text with Bootstrap",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348cd8acdf08812",
          "name" : "Create a Bootstrap Button",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348cd8acef08812",
          "name" : "Create a Block Element Bootstrap Button",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348cd8acef08811",
          "name" : "Taste the Bootstrap Button Color Rainbow",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348cd8acef08813",
          "name" : "Call out Optional Actions with Button Info",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348ce8acef08814",
          "name" : "Warn your Users of a Dangerous Action",
          "challengeType" : "0"
      },
      {
          "id" : "bad88fee1348ce8acef08815",
          "name" : "Use the Bootstrap Grid to Put Elements Side By Side",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1347bd9aedf08845",
          "name" : "Ditch Custom CSS for Bootstrap",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08845",
          "name" : "Use Spans for Inline Elements",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aede08845",
          "name" : "Create a Custom Heading",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedd08845",
          "name" : "Add Font Awesome Icons to our Buttons",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedc08845",
          "name" : "Add Font Awesome Icons to all of our Buttons",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedb08845",
          "name" : "Responsively Style Radio Buttons",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aeda08845",
          "name" : "Responsively Style Checkboxes",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aed908845",
          "name" : "Style Text Inputs as Form Controls",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aec908845",
          "name" : "Line up Form Elements Responsively with Bootstrap",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aec908846",
          "name" : "Create a Bootstrap Headline",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aec908746",
          "name" : "House our page within a Bootstrap Container Fluid Div",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9bec908846",
          "name" : "Create a Bootstrap Row",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aec908847",
          "name" : "Split your Bootstrap Row",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aec908848",
          "name" : "Create Bootstrap Wells",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aec908849",
          "name" : "Add Elements within your Bootstrap Wells",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aec908850",
          "name" : "Apply the Default Bootstrap Button Style",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aec908852",
          "name" : "Create a Class to Target with jQuery Selectors",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aec908853",
          "name" : "Add ID Attributes to Bootstrap Elements",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aec908854",
          "name" : "Label Bootstrap Wells",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aec908855",
          "name" : "Give Each Element a Unique ID",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aec908856",
          "name" : "Label Bootstrap Buttons",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aec908857",
          "name" : "Use Comments to Clarify Code",
          "challengeType" : "0"
      },
      {
          "id" : "561add10cb82ac38a17513be",
          "name" : "Claim Your Front End Development Certificate",
          "challengeType" : "7"
      },
      {
          "id" : "570add8ccb82ac38a17513c3",
          "name" : "Join our LinkedIn Alumni Network",
          "challengeType" : "7"
      },
      {
          "id" : "560adc65cb82ac38a17513c2",
          "name" : "Join our Subreddit",
          "challengeType" : "7"
      },
      {
          "id" : "560adf65cb82ac38a17513c2",
          "name" : "Read Coding News on our Medium Publication",
          "challengeType" : "7"
      },
      {
          "id" : "560ade65cb82ac38a17513c2",
          "name" : "Watch us Code Live on Twitchtv",
          "challengeType" : "7"
      },
      {
          "id" : "560add8ccb81ac38a17513c4",
          "name" : "Commit to a Goal and a Nonprofit",
          "challengeType" : "7"
      },
      {
          "id" : "bd7123c8c441eddfaeb5bdef",
          "name" : "Say Hello to HTML Element",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf0887a",
          "name" : "Headline with the h2 Element",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08801",
          "name" : "Inform with the Paragraph Element",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08804",
          "name" : "Comment out HTML",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fed1348bd9aedf08833",
          "name" : "Delete HTML Elements",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08803",
          "name" : "Change the Color of Text",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08802",
          "name" : "Uncomment HTML",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08833",
          "name" : "Fill in the Blank with Placeholder Text",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08805",
          "name" : "Use CSS Selectors to Style Elements",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aecf08806",
          "name" : "Use a CSS Class to Style an Element",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aefe08806",
          "name" : "Style Multiple Elements with a CSS Class",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08806",
          "name" : "Change the Font Size of an Element",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aede08807",
          "name" : "Set the Font Family of an Element",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08807",
          "name" : "Import a Google Font",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08808",
          "name" : "Specify How Fonts Should Degrade",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08812",
          "name" : "Add Images to your Website",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9acdf08812",
          "name" : "Size your Images",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9bedf08813",
          "name" : "Add Borders Around your Elements",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08814",
          "name" : "Add Rounded Corners with a Border Radius",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08815",
          "name" : "Make Circular Images with a Border Radius",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08816",
          "name" : "Link to External Pages with Anchor Elements",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aede08817",
          "name" : "Nest an Anchor Element within a Paragraph",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08817",
          "name" : "Make Dead Links using the Hash Symbol",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08820",
          "name" : "Turn an Image into a Link",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08818",
          "name" : "Add Alt Text to an Image for Accessibility",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08827",
          "name" : "Create a Bulleted Unordered List",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08828",
          "name" : "Create an Ordered List",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08829",
          "name" : "Create a Text Field",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08830",
          "name" : "Add Placeholder Text to a Text Field",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aede08830",
          "name" : "Create a Form Element",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedd08830",
          "name" : "Add a Submit Button to a Form",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedc08830",
          "name" : "Use HTML5 to Require a Field",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08834",
          "name" : "Create a Set of Radio Buttons",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08835",
          "name" : "Create a Set of Checkboxes",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedd08835",
          "name" : "Check Radio Buttons and Checkboxes by Default",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aede08835",
          "name" : "Nest Many Elements within a Single Div Element",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fed1348bd9aede07836",
          "name" : "Give a Background Color to a Div Element",
          "challengeType" : "0"
      },
      {
          "id" : "bad87eee1348bd9aede07836",
          "name" : "Set the ID of an Element",
          "challengeType" : "0"
      },
      {
          "id" : "bad87dee1348bd9aede07836",
          "name" : "Use an ID Attribute to Style an Element",
          "challengeType" : "0"
      },
      {
          "id" : "bad88fee1348bd9aedf08825",
          "name" : "Adjusting the Padding of an Element",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08822",
          "name" : "Adjust the Margin of an Element",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08823",
          "name" : "Add a Negative Margin to an Element",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08824",
          "name" : "Add Different Padding to Each Side of an Element",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1248bd9aedf08824",
          "name" : "Add Different Margins to Each Side of an Element",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08826",
          "name" : "Use Clockwise Notation to Specify the Padding of an Element",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9afdf08726",
          "name" : "Use Clockwise Notation to Specify the Margin of an Element",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08736",
          "name" : "Style the HTML Body Element",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08746",
          "name" : "Inherit Styles from the Body Element",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08756",
          "name" : "Prioritize One Style Over Another",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf04756",
          "name" : "Override Styles in Subsequent CSS",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd8aedf06756",
          "name" : "Override Class Declarations by Styling ID Attributes",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf06756",
          "name" : "Override Class Declarations with Inline Styles",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf07756",
          "name" : "Override All Other Styles by using Important",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08726",
          "name" : "Use Hex Code for Specific Colors",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08725",
          "name" : "Use Hex Code to Color Elements White",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08724",
          "name" : "Use Hex Code to Color Elements Red",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08723",
          "name" : "Use Hex Code to Color Elements Green",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08722",
          "name" : "Use Hex Code to Color Elements Blue",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08721",
          "name" : "Use Hex Code to Mix Colors",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aede08720",
          "name" : "Use Hex Code to Color Elements Gray",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08720",
          "name" : "Use Hex Code for Specific Shades of Gray",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedf08719",
          "name" : "Use Abbreviated Hex Code",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aede08718",
          "name" : "Use RGB values to Color Elements",
          "challengeType" : "0"
      },
      {
          "id" : "bad88fee1348bd9aedf08726",
          "name" : "Use RGB to Color Elements White",
          "challengeType" : "0"
      },
      {
          "id" : "bad89fee1348bd9aedf08724",
          "name" : "Use RGB to Color Elements Red",
          "challengeType" : "0"
      },
      {
          "id" : "bad80fee1348bd9aedf08723",
          "name" : "Use RGB to Color Elements Green",
          "challengeType" : "0"
      },
      {
          "id" : "bad81fee1348bd9aedf08722",
          "name" : "Use RGB to Color Elements Blue",
          "challengeType" : "0"
      },
      {
          "id" : "bad82fee1348bd9aedf08721",
          "name" : "Use RGB to Mix Colors",
          "challengeType" : "0"
      },
      {
          "id" : "a3566b1109230028080c9345",
          "name" : "Sum All Numbers in a Range",
          "challengeType" : "5"
      },
      {
          "id" : "a5de63ebea8dbee56860f4f2",
          "name" : "Diff Two Arrays",
          "challengeType" : "5"
      },
      {
          "id" : "a7f4d8f2483413a6ce226cac",
          "name" : "Roman Numeral Converter",
          "challengeType" : "5"
      },
      {
          "id" : "a8e512fbe388ac2f9198f0fa",
          "name" : "Wherefore art thou",
          "challengeType" : "5"
      },
      {
          "id" : "a0b5010f579e69b815e7c5d6",
          "name" : "Search and Replace",
          "challengeType" : "5"
      },
      {
          "id" : "aa7697ea2477d1316795783b",
          "name" : "Pig Latin",
          "challengeType" : "5"
      },
      {
          "id" : "afd15382cdfb22c9efe8b7de",
          "name" : "DNA Pairing",
          "challengeType" : "5"
      },
      {
          "id" : "af7588ade1100bde429baf20",
          "name" : "Missing letters",
          "challengeType" : "5"
      },
      {
          "id" : "a77dbc43c33f39daa4429b4f",
          "name" : "Boo who",
          "challengeType" : "5"
      },
      {
          "id" : "a105e963526e7de52b219be9",
          "name" : "Sorted Union",
          "challengeType" : "5"
      },
      {
          "id" : "a6b0bb188d873cb2c8729495",
          "name" : "Convert HTML Entities",
          "challengeType" : "5"
      },
      {
          "id" : "a103376db3ba46b2d50db289",
          "name" : "Spinal Tap Case",
          "challengeType" : "5"
      },
      {
          "id" : "a5229172f011153519423690",
          "name" : "Sum All Odd Fibonacci Numbers",
          "challengeType" : "5"
      },
      {
          "id" : "a3bfc1673c0526e06d3ac698",
          "name" : "Sum All Primes",
          "challengeType" : "5"
      },
      {
          "id" : "ae9defd7acaf69703ab432ea",
          "name" : "Smallest Common Multiple",
          "challengeType" : "5"
      },
      {
          "id" : "a6e40f1041b06c996f7b2406",
          "name" : "Finders Keepers",
          "challengeType" : "5"
      },
      {
          "id" : "a5deed1811a43193f9f1c841",
          "name" : "Drop it",
          "challengeType" : "5"
      },
      {
          "id" : "ab306dbdcc907c7ddfc30830",
          "name" : "Steamroller",
          "challengeType" : "5"
      },
      {
          "id" : "a8d97bd4c764e91f9d2bda01",
          "name" : "Binary Agents",
          "challengeType" : "5"
      },
      {
          "id" : "a10d2431ad0c6a099a4b8b52",
          "name" : "Everything Be True",
          "challengeType" : "5"
      },
      {
          "id" : "a97fd23d9b809dac9921074f",
          "name" : "Arguments Optional",
          "challengeType" : "5"
      },
      {
          "id" : "bd7158d8c442eddfaeb5bd13",
          "name" : "Build a Random Quote Machine",
          "challengeType" : "3"
      },
      {
          "id" : "bd7158d8c442eddfaeb5bd10",
          "name" : "Show the Local Weather",
          "challengeType" : "3"
      },
      {
          "id" : "bd7158d8c442eddfaeb5bd19",
          "name" : "Build a Wikipedia Viewer",
          "challengeType" : "3"
      },
      {
          "id" : "bd7158d8c442eddfaeb5bd1f",
          "name" : "Use the Twitchtv JSON API",
          "challengeType" : "3"
      },
      {
          "id" : "bad87fee1348bd9acdd08826",
          "name" : "Learn how Script Tags and Document Ready Work",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9bedc08826",
          "name" : "Target HTML Elements with Selectors Using jQuery",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aedc08826",
          "name" : "Target Elements by Class Using jQuery",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aeda08826",
          "name" : "Target Elements by ID Using jQuery",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aeda08726",
          "name" : "Delete your jQuery Functions",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aed908626",
          "name" : "Target the same element with multiple jQuery Selectors",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aed918626",
          "name" : "Remove Classes from an element with jQuery",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aed908826",
          "name" : "Change the CSS of an Element Using jQuery",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aed808826",
          "name" : "Disable an Element Using jQuery",
          "challengeType" : "0"
      },
      {
          "id" : "564944c91be2204b269d51e3",
          "name" : "Change Text Inside an Element Using jQuery",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aed708826",
          "name" : "Remove an Element Using jQuery",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aed608826",
          "name" : "Use appendTo to Move Elements with jQuery",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aed508826",
          "name" : "Clone an Element Using jQuery",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aed308826",
          "name" : "Target the Parent of an Element Using jQuery",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aed208826",
          "name" : "Target the Children of an Element Using jQuery",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aed108826",
          "name" : "Target a Specific Child of an Element Using jQuery",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aed008826",
          "name" : "Target Even Numbered Elements Using jQuery",
          "challengeType" : "0"
      },
      {
          "id" : "bad87fee1348bd9aecb08826",
          "name" : "Use jQuery to Modify the Entire Page",
          "challengeType" : "0"
      },
      {
          "id" : "56bbb991ad1ed5201cd392d4",
          "name" : "Trigger Click Events with jQuery",
          "challengeType" : "0"
      },
      {
          "id" : "56bbb991ad1ed5201cd392d5",
          "name" : "Change Text with Click Events",
          "challengeType" : "0"
      },
      {
          "id" : "56bbb991ad1ed5201cd392d6",
          "name" : "Get JSON with the jQuery getJSON Method",
          "challengeType" : "0"
      },
      {
          "id" : "56bbb991ad1ed5201cd392d7",
          "name" : "Convert JSON Data to HTML",
          "challengeType" : "0"
      },
      {
          "id" : "56bbb991ad1ed5201cd392d8",
          "name" : "Render Images from Data Sources",
          "challengeType" : "0"
      },
      {
          "id" : "56bbb991ad1ed5201cd392d9",
          "name" : "Prefilter JSON",
          "challengeType" : "0"
      },
      {
          "id" : "56bbb991ad1ed5201cd392da",
          "name" : "Get Geolocation Data",
          "challengeType" : "0"
      },
      {
          "id" : "cf1111c1c15feddfaeb1bdef",
          "name" : "Declare JavaScript Objects as Variables",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c15feddfaeb2bdef",
          "name" : "Construct JavaScript Objects with Functions",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c15feddfaeb4bdef",
          "name" : "Make Instances of Objects with a Constructor Function",
          "challengeType" : "1"
      },
      {
          "id" : "563cfb55594311ffcb333c70",
          "name" : "Make Unique Objects by Passing Parameters to our Constructor",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c15feddfaeb3bdef",
          "name" : "Make Object Properties Private",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c15feddfaeb7bdef",
          "name" : "Iterate over Arrays with map",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c15feddfaeb8bdef",
          "name" : "Condense arrays with reduce",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c15feddfaeb9bdef",
          "name" : "Filter Arrays with filter",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c16feddfaeb1bdef",
          "name" : "Sort Arrays with sort",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c16feddfaeb2bdef",
          "name" : "Reverse Arrays with reverse",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c16feddfaeb3bdef",
          "name" : "Concatenate Arrays with concat",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c16feddfaeb4bdef",
          "name" : "Split Strings with split",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c16feddfaeb5bdef",
          "name" : "Join Strings with join",
          "challengeType" : "1"
      },
      {
          "id" : "bd7158d8c423ede2aab5bdee",
          "name" : "Learn D3 Challenges",
          "challengeType" : "3"
      },
      {
          "id" : "561add10cb82ac38a17513b3",
          "name" : "Claim Your Data Visualization Certificate",
          "challengeType" : "7"
      },
      {
          "id" : "bd7168d8c242eddfaeb5bd13",
          "name" : "Visualize Data with a Bar Chart",
          "challengeType" : "3"
      },
      {
          "id" : "bd7178d8c242eddfaeb5bd13",
          "name" : "Visualize Data with a Scatterplot Graph",
          "challengeType" : "3"
      },
      {
          "id" : "bd7188d8c242eddfaeb5bd13",
          "name" : "Visualize Data with a Heat Map",
          "challengeType" : "3"
      },
      {
          "id" : "bd7198d8c242eddfaeb5bd13",
          "name" : "Show Relationships with a Force Directed Graph",
          "challengeType" : "3"
      },
      {
          "id" : "bd7108d8c242eddfaeb5bd13",
          "name" : "Map Data Across the Globe",
          "challengeType" : "3"
      },
      {
          "id" : "bd7157d8c242eddfaeb5bd13",
          "name" : "Build a Markdown Previewer",
          "challengeType" : "3"
      },
      {
          "id" : "bd7156d8c242eddfaeb5bd13",
          "name" : "Build a Camper Leaderboard",
          "challengeType" : "3"
      },
      {
          "id" : "bd7155d8c242eddfaeb5bd13",
          "name" : "Build a Recipe Box",
          "challengeType" : "3"
      },
      {
          "id" : "bd7154d8c242eddfaeb5bd13",
          "name" : "Build the Game of Life",
          "challengeType" : "3"
      },
      {
          "id" : "bd7153d8c242eddfaeb5bd13",
          "name" : "Build a Roguelike Dungeon Crawler Game",
          "challengeType" : "3"
      },
      {
          "id" : "bd7158d8c423ede3aeb5bdee",
          "name" : "Learn React Challenges",
          "challengeType" : "3"
      },
      {
          "id" : "bd7158d8c423ede2aeb5bdee",
          "name" : "Learn Sass Challenges",
          "challengeType" : "3"
      },
      {
          "id" : "bd7158d8c443eddfaeb5bcef",
          "name" : "Get Set for our Back End Development Projects",
          "challengeType" : "7"
      },
      {
          "id" : "bd7158d8c443edefaeb5bdef",
          "name" : "Timestamp Microservice",
          "challengeType" : "4"
      },
      {
          "id" : "bd7158d8c443edefaeb5bdff",
          "name" : "Request Header Parser Microservice",
          "challengeType" : "4"
      },
      {
          "id" : "bd7158d8c443edefaeb5bd0e",
          "name" : "URL Shortener Microservice",
          "challengeType" : "4"
      },
      {
          "id" : "bd7158d8c443edefaeb5bdee",
          "name" : "Image Search Abstraction Layer",
          "challengeType" : "4"
      },
      {
          "id" : "bd7158d8c443edefaeb5bd0f",
          "name" : "File Metadata Microservice",
          "challengeType" : "4"
      },
      {
          "id" : "cf1111c1c16feddfaeb6bdef",
          "name" : "Use the JavaScript Console",
          "challengeType" : "1"
      },
      {
          "id" : "cf1111c1c16feddfaeb7bdef",
          "name" : "Using typeof",
          "challengeType" : "1"
      },
      {
          "id" : "660add10cb82ac38a17513be",
          "name" : "Claim Your Back End Development Certificate",
          "challengeType" : "7"
      },
      {
          "id" : "bd7158d8c443eddfaeb5bdef",
          "name" : "Build a Voting App",
          "challengeType" : "4"
      },
      {
          "id" : "bd7158d8c443eddfaeb5bdff",
          "name" : "Build a Nightlife Coordination App",
          "challengeType" : "4"
      },
      {
          "id" : "bd7158d8c443eddfaeb5bd0e",
          "name" : "Chart the Stock Market",
          "challengeType" : "4"
      },
      {
          "id" : "bd7158d8c443eddfaeb5bd0f",
          "name" : "Manage a Book Trading Club",
          "challengeType" : "4"
      },
      {
          "id" : "bd7158d8c443eddfaeb5bdee",
          "name" : "Build a Pinterest Clone",
          "challengeType" : "4"
      },
      {
          "id" : "bd7353d8c341eddeaeb5bd0f",
          "name" : "Save your Code Revisions Forever with Git",
          "challengeType" : "2"
      },
      {
          "id" : "bd7243d8c341eddeaeb5bd0f",
          "name" : "Store Data in MongoDB",
          "challengeType" : "2"
      },
      {
          "id" : "bd7153d8c441eddfaeb5bd0f",
          "name" : "Manage Packages with NPM",
          "challengeType" : "2"
      },
      {
          "id" : "bd7153d8c441eddfaeb5bdff",
          "name" : "Start a Nodejs Server",
          "challengeType" : "2"
      },
      {
          "id" : "bd7153d8c441eddfaeb5bdfe",
          "name" : "Continue working with Nodejs Servers",
          "challengeType" : "2"
      },
      {
          "id" : "bd7153d8c441eddfaeb5bdfd",
          "name" : "Finish working with Nodejs Servers",
          "challengeType" : "2"
      },
      {
          "id" : "bd7153d8c441eddfaeb5bd1f",
          "name" : "Build Web Apps with Expressjs",
          "challengeType" : "2"
      },
      {
          "id" : "56b15f15632298c12f31517b",
          "name" : "Big O Notation What It Is and Why You Should Care",
          "challengeType" : "6"
      },
      {
          "id" : "56b15f15632298c12f31517a",
          "name" : "Big O Notation A Few Examples",
          "challengeType" : "6"
      },
      {
          "id" : "56b15f15632298c12f315184",
          "name" : "Chrome Dev Tools Elements",
          "challengeType" : "6"
      },
      {
          "id" : "56b15f15632298c12f315183",
          "name" : "Chrome Dev Tools Network",
          "challengeType" : "6"
      },
      {
          "id" : "56b15f15632298c12f315182",
          "name" : "Chrome Dev Tools Sources",
          "challengeType" : "6"
      },
      {
          "id" : "56b15f15632298c12f315181",
          "name" : "Chrome Dev Tools Timeline",
          "challengeType" : "6"
      },
      {
          "id" : "56b15f15632298c12f315180",
          "name" : "Chrome Dev Tools Profiles",
          "challengeType" : "6"
      },
      {
          "id" : "56b15f15632298c12f31517f",
          "name" : "Chrome Dev Tools Resources",
          "challengeType" : "6"
      },
      {
          "id" : "56b15f15632298c12f31517e",
          "name" : "Chrome Dev Tools Audits",
          "challengeType" : "6"
      },
      {
          "id" : "56b15f15632298c12f31517d",
          "name" : "Chrome Dev Tools Console",
          "challengeType" : "6"
      },
      {
          "id" : "56b15f15632298c12f31517c",
          "name" : "Chrome Dev Tools Summary",
          "challengeType" : "6"
      },
      {
          "id" : "bd7128d8c441eddfbeb5bddf",
          "name" : "Computer Basics The 4 Basic Parts of a Computer",
          "challengeType" : "6"
      },
      {
          "id" : "bd7127d8c441eddfbeb5bddf",
          "name" : "Computer Basics More Computer Hardware",
          "challengeType" : "6"
      },
      {
          "id" : "bd7129d8a441eddfbeb5bddf",
          "name" : "Computer Basics Chips and Moores Law",
          "challengeType" : "6"
      },
      {
          "id" : "bd7126d8c441eddfbeb5bddf",
          "name" : "Computer Basics Intro to Binary Code",
          "challengeType" : "6"
      },
      {
          "id" : "bd7125d8c441eddfbeb5bddf",
          "name" : "Computer Basics Decoding a Binary Number",
          "challengeType" : "6"
      },
      {
          "id" : "bd7124d8c441eddfbeb5bddf",
          "name" : "Computer Basics How To Measure Data Size",
          "challengeType" : "6"
      },
      {
          "id" : "bd7123d8c441eddfbeb5bddf",
          "name" : "Computer Basics Measuring Data Speed",
          "challengeType" : "6"
      },
      {
          "id" : "bd7122d8c441eddfbeb5bddf",
          "name" : "Computer Basics Binary Bytes",
          "challengeType" : "6"
      },
      {
          "id" : "bd7121d8c441eddfbeb5bddf",
          "name" : "Computer Basics Types of Computers",
          "challengeType" : "6"
      },
      {
          "id" : "bd7120d8c441eddfbeb5bddf",
          "name" : "Computer Basics More on the Motherboard",
          "challengeType" : "6"
      },
      {
          "id" : "bd712fd8c441eddfbeb5bddf",
          "name" : "Computer Basics Data Networks",
          "challengeType" : "6"
      },
      {
          "id" : "bd712ed8c441eddfbeb5bddf",
          "name" : "Computer Basics IP Addresses",
          "challengeType" : "6"
      },
      {
          "id" : "bd712dd8c441eddfbeb5bddf",
          "name" : "Computer Basics How the Internet Works",
          "challengeType" : "6"
      },
      {
          "id" : "bd712cd8c441eddfbeb5bddf",
          "name" : "Computer Basics Software",
          "challengeType" : "6"
      },
      {
          "id" : "56b15f15632298c12f31510f",
          "name" : "Computer Basics Content Delivery Networks",
          "challengeType" : "6"
      },
      {
          "id" : "bd7129d80441eddfbeb5bddf",
          "name" : "Analog vs Digital and File Compression",
          "challengeType" : "6"
      },
      {
          "id" : "bd7129d8b441eddfbeb5bddf",
          "name" : "Routers and Packets",
          "challengeType" : "6"
      },
      {
          "id" : "bd7029d8c441eddfbeb5bddf",
          "name" : "Source Code",
          "challengeType" : "6"
      },
      {
          "id" : "bd7119d8c441eddfbeb5bddf",
          "name" : "Variables In Code",
          "challengeType" : "6"
      },
      {
          "id" : "bd712bd8c441eddfbeb5bddf",
          "name" : "What Do Programmers Do",
          "challengeType" : "6"
      },
      {
          "id" : "bd712ad8c441eddfbeb5bddf",
          "name" : "Console and Logging",
          "challengeType" : "6"
      },
      {
          "id" : "bd7129d89441eddfbeb5bddf",
          "name" : "Computer Security",
          "challengeType" : "6"
      },
      {
          "id" : "56b15f15632298c12f31518f",
          "name" : "The DOM Whats the Document Object Model",
          "challengeType" : "6"
      },
      {
          "id" : "56b15f15632298c12f31518e",
          "name" : "The DOM Style in the Header Script in the Footer",
          "challengeType" : "6"
      },
      {
          "id" : "56b15f15632298c12f31518c",
          "name" : "JavaScript Lingo MDN and Documentation",
          "challengeType" : "6"
      },
      {
          "id" : "56b15f15632298c12f31518d",
          "name" : "JavaScript Lingo Value Types",
          "challengeType" : "6"
      },
      {
          "id" : "56b15f15632298c12f31518b",
          "name" : "JavaScript Lingo Variables  camelCase",
          "challengeType" : "6"
      },
      {
          "id" : "56b15f15632298c12f31518a",
          "name" : "JavaScript Lingo Arrays  Objects",
          "challengeType" : "6"
      },
      {
          "id" : "56b15f15632298c12f315189",
          "name" : "JavaScript Lingo Finding and Indexing Data in Arrays",
          "challengeType" : "6"
      },
      {
          "id" : "56b15f15632298c12f315188",
          "name" : "JavaScript Lingo Manipulating Data",
          "challengeType" : "6"
      },
      {
          "id" : "56b15f15632298c12f315187",
          "name" : "JavaScript Lingo Math",
          "challengeType" : "6"
      },
      {
          "id" : "56b15f15632298c12f315186",
          "name" : "JavaScript Lingo Loops",
          "challengeType" : "6"
      },
      {
          "id" : "56b15f15632298c12f315185",
          "name" : "JavaScript Lingo Regular Expressions",
          "challengeType" : "6"
      },
      {
          "id" : "bd7158d8c242eddfaeb5be13",
          "name": "Design a danmu app",
          "challengeType" : "3"
      }
  ];
var challengeMap = {};
function lookUp(value, prop){
  for(var i=0;i<matchArray.length;i++){
    if(matchArray[i].name== value){
      return matchArray[i][prop] || "fasle";
    }
  }
  return "false";
}

var challengeMap ={};
var tbody = document.getElementsByTagName("tbody");
for(var k =0;k<tbody.length;k++){
  var tr = tbody[k].getElementsByTagName("tr");
  for(var i =0;i<tr.length;i++){
    var td = tr[i].getElementsByTagName("td");
    for(var j=0;j<td.length-1;j++){
      if(j==0 && td[j].innerText){
        var name = td[j].innerText;
        console.log(name);
        var id = lookUp(name,"id");
        var challengeType =  lookUp(name,"challengeType");
        challengeMap[id] = {};
        challengeMap[id].id = id;
        challengeMap[id].name = name;
        challengeMap[id].challengeType = challengeType;
      }
      if(j==1 && td[j].innerText){
        var completedDate = Date.parse(td[j].innerText);
        challengeMap[id].completedDate = completedDate;
      }
      if(j==2 && td[j].innerText){
        var lastUpdated  = Date.parse(td[j].innerText);
        challengeMap[id].lastUpdated = lastUpdated;
      }
      if(j==3 && td[j].innerText){
        var solution = td[j].getElementsByTagName("a")[0].href;
        var existed = solution.indexOf("solution");
        if(existed != -1){
          solution = solution.slice(existed + 9);
          var decodeString  = decodeURIComponent(solution.replace(/fccss/,'<script>').replace(/fcces/,'</script>'))
          challengeMap[id].solution = decodeString;
        }else if(solution.indexOf("challenges") != -1){

        }else{
          challengeMap[id].solution = solution;
        }
      }
    }
  }
}
console.log(Object.keys(challengeMap).length);
console.log(JSON.stringify(challengeMap,null,2));
// var progressTimestamps = [];
// for(var l in challengeMap){
//   var emptyObject = {};
//   emptyObject.timestamp = challengeMap[l].completedDate;
//   emptyObject.completedChallenge = challengeMap[l].id;
//   progressTimestamps.push(emptyObject);
// }
// progressTimestamps = JSON.stringify(progressTimestamps,null,2);
// console.log(JSON.stringify(progressTimestamps));
// db.getCollection('user').update({username:"somebody"},{$set:{"progressTimestamps":progressTimestamps,"challengeMap":challengeMap}},false,true)
