{"ScriptPreparationCode":"const data = window.data = [\r\n \u0022J\u00F8rpeland\u0022,\r\n \u0022Stavanger via UiS-SUS\u0022,\r\n \u0022Stavanger\u0022,\r\n \u0022Randaberg via UiS\u0022,\r\n \u0022796\u0022,\r\n \u0022776\u0022,\r\n \u0022Oslo bussterminal\u0022,\r\n \u0022Sandnes via SUS-UiS\u0022,\r\n \u0022Forus via Stavanger\u0022,\r\n \u0022\u00C5sveien via Sandvika\u0022,\r\n \u0022Risavika via Stavanger-Varatun\u0022,\r\n \u0022Stavanger via UiS\u0022,\r\n \u0022Flyplassen\u0022,\r\n \u0022Risavika via Stavanger-Smeaheia\u0022,\r\n \u0022Haugesund bussterminal\u0022,\r\n \u0022Hjelmeland\u0022,\r\n \u0022Kristiansand rutebilstasjon\u0022,\r\n \u0022Dale\u0022,\r\n \u0022Bogafjell\u0022,\r\n \u0022Mortavika\u0022,\r\n \u0022Sundelia via Stavanger\u0022,\r\n \u0022Sandnes via flyplassen\u0022,\r\n \u0022Viste Hageby via Stavanger\u0022,\r\n \u0022B775-BE\u0022,\r\n \u0022Madlakrossen via SUS-Madlamark\u0022,\r\n \u0022Sandnes\u0022,\r\n \u0022Kvernaland - \u00D8ksnavadporten\u0022,\r\n \u0022Bergen\u0022,\r\n \u0022762\u0022,\r\n \u0022Bleikemyr via Haugesund sentrum\u0022,\r\n \u0022Hinna via SUS\u0022,\r\n \u0022Grinde via Amanda\u0022,\r\n \u0022Sandnes via Stavanger-Smeaheia\u0022,\r\n \u0022Stokka\u0022,\r\n \u0022Etne\u0022,\r\n \u0022Skaarlia\u0022,\r\n \u0022Stavanger via SUS\u0022,\r\n \u0022Amanda via Haugesund sentrum\u0022,\r\n \u00223054\u0022,\r\n \u0022\u00C5lg\u00E5rd - Fiskebekk\u0022,\r\n \u0022Skudeneshavn via Kopervik og Veav\u00E5gen\u0022,\r\n \u0022Vass\u00F8y - Kalv\u00F8y\u0022,\r\n \u0022Sandnes via UiS\u0022,\r\n \u0022Madlakrossen via SUS-Tjensvoll\u0022,\r\n \u0022Vass\u00F8y\u0022,\r\n \u0022779\u0022,\r\n \u0022Haugesund via Kopervik\u0022,\r\n \u0022Hovland - Egersund\u0022,\r\n \u0022Rosenli via Madlamark-SUS\u0022,\r\n \u00223053\u0022,\r\n \u0022Kleppekrossen - Klepp stasjon\u0022,\r\n \u0022Stokka via UiS\u0022,\r\n \u0022797\u0022,\r\n \u0022778\u0022,\r\n \u0022Haugesund via Amanda\u0022,\r\n \u0022Randaberg\u0022,\r\n \u0022Madlasandnes\u0022,\r\n \u0022Hundv\u00E5g vest/\u00F8st\u0022,\r\n \u0022Vikj\u00E5\u0022,\r\n \u0022Haugesund via Veav\u00E5gen og Kopervik\u0022,\r\n \u0022Stavanger via Madlamark-SUS\u0022,\r\n \u0022Rosenli via Tjensvoll-SUS\u0022,\r\n \u0022Stavanger Airport via Forum\u0022,\r\n \u0022Heng\u0022,\r\n \u0022Orm\u00F8y\u0022,\r\n \u0022Skipavik\u0022,\r\n \u0022Vormedal via Haugesund sentrum\u0022,\r\n \u0022Godeset via SUS\u0022,\r\n \u0022Riskafeltet - Hommers\u00E5k\u0022,\r\n \u0022Sandnes - Hommers\u00E5k\u0022,\r\n \u0022Gr\u00F8dem\u0022,\r\n \u0022Haugesund\u0022,\r\n \u0022Gausel stasjon\u0022,\r\n \u0022Sola via UiS\u0022,\r\n \u0022Arsv\u00E5gen\u0022,\r\n \u0022Austre \u00C5m\u00F8y via Bru-Vestre \u00C5m\u00F8y kai\u0022,\r\n \u0022Kristiansand/Stavanger\u0022,\r\n \u0022\u00D8len via Vikebygd\u0022,\r\n \u0022Hundv\u00E5g \u00F8st/vest\u0022,\r\n \u0022\u00C5krehamn via Kopervik\u0022,\r\n \u0022Sandnes via Stavanger-Varatun\u0022,\r\n \u0022Nedstrand\u0022,\r\n \u0022Ropeid - \u00D8len\u0022,\r\n \u0022Forus - \u00C5lg\u00E5rd - Fiskebekk\u0022,\r\n \u0022Ravndal - Oltedal - Gilja\u0022,\r\n \u00223052\u0022,\r\n \u0022Egersund - Hauge i Dalane\u0022,\r\n \u0022Stavanger sentrum via Forum\u0022,\r\n \u0022Haugesund via Nes\u0022,\r\n \u0022Kolnes via Amanda\u0022,\r\n \u00223056\u0022,\r\n \u00223051\u0022,\r\n \u0022Hjelmeland via Fister\u0022,\r\n \u00223152\u0022,\r\n \u0022B775-BF\u0022,\r\n \u0022Rennes\u00F8y via Randaberg\u0022,\r\n \u0022Tananger via flyplassen\u0022,\r\n \u0022Ropeid - Sauda\u0022,\r\n \u0022Kristiansand/Oslo\u0022,\r\n \u0022Vardenes\u0022,\r\n \u0022Ganddal\u0022,\r\n \u0022Hundv\u00E5g\u0022,\r\n \u0022Bryne\u0022,\r\n \u0022Tananger\u0022,\r\n \u0022Solbakk via Voster\u0022,\r\n \u0022Fogn\u0022,\r\n \u0022J\u00E5tt\u00E5v\u00E5gen via SUS\u0022,\r\n \u0022Mekjarvik\u0022,\r\n \u0022Tau\u0022,\r\n \u0022Stavanger via Randaberg\u0022,\r\n \u0022Nesvik - Skipavik\u0022,\r\n \u0022Jelsa\u0022,\r\n \u0022Hebnes\u0022\r\n]","TestCases":[{"Name":"Regex","Code":"const TOTAL_STRINGS = window.TOTAL_STRINGS;\r\nconst data = window.data;\r\n\r\nlet x = 0;\r\nwhile (x \u003C TOTAL_STRINGS) {\r\n const str = data[x\u002B\u002B];\r\n const match = str.match(/^(.\u002B?(?:(?=\\b(via|mot)\\b)|(?!.*\\b(via|mot)\\b).*$))/);\r\n const result = match ? match[0].trim() : str;\r\n}","IsDeferred":false},{"Name":".indexOf","Code":"const TOTAL_STRINGS = window.TOTAL_STRINGS;\r\nconst data = window.data;\r\nconst match = [\u0027via\u0027, \u0027mot\u0027];\r\n\r\nlet x = 0;\r\nwhile (x \u003C TOTAL_STRINGS) {\r\n const str = data[x\u002B\u002B].split(\u0027 \u0027);\r\n let k = 0;\r\n let i = -1;\r\n while (k \u003C match.length \u0026\u0026 i === -1) {\r\n \ti = str.indexOf(match[k\u002B\u002B]);\r\n }\r\n const result = (i !== -1 ? str.slice(0, i - 1) : str).join(\u0027 \u0027);\r\n}","IsDeferred":false}]}