PageSourceSearch

https://www.aremark.kommune.no/webapp-resource/4.638b2cc2196f633e4…/1778086286835/webapp-assets.js

js aremark.kommune.no collected 2026-10-03 22:08:57 UTC 46,190 bytes, 662 lines download raw bytes

1AppRegistry.registerBundle({applicationId:'marketplace.sitevision.feedback|1.2.8',bundle: {"en":{"forPositiveReaction":"Enable with positive reaction","reactionPartiallyPositive":"Partially positive","messageIsMandatory":"Message is mandatory","saveVisitorLanguage":"Save information about the web browser's language","reactPartiallyNegative":"React somewhat negatively","referal":"Referer","thumbUpColor":"Color of positive reaction icon","mustBeV3":"Note that it must be set up for v3 in order for the keys to work","configNeeded":"The module need configuration","hostname":"Website","invalidMessageContent":"Your feedback message could not be saved due to invalid format.","extraInfoRegardingDataStore":"requires Data Storage license","pageRequired":"A page must be selected","text":"Text","buttonPartiallyPositiveReaction":"Text for partially positive reaction button","showPersonalDataLink":"Show link to page about handling of personal data","showInformationAboutFreetextField":"Show information regarding the free text field","reactPartiallyPositive":"React somewhat positive","ip":"IP","secretKeyRequired":"A Secret Key must be provided","userMetadataRequired":"Must be a user metadata","numberOfStepsOnGradingScale":"Number of steps on the grading scale","useProtectionReCaptcha":"Use Google reCaptcha spam protection","fontTellUsMore":"Font for text above message box","wasThisInformationHelpful":"Was this information helpful?","useGoogleReCaptcha":"Use Google reCaptcha to protect the module from spam","textSendButton":"Send button text","howCouldItBeBetter":"How could it be better?","useButtons":"Use buttons with text","saveToDataStore":"Save feedback in Data Storage","dataHandlingRequired":"Select at least one method","useThumbs":"Use thumbs-up and thumbs-down","reactionOptions":"Reaction options","mailSubject":"New reaction from the Feedback module","reCaptchaBannerInfo":"Show reCaptcha-badge (in the lower right corner of the page)","showFreetextField":"Allow user to submit text feedback","reloadInfo":"Reload the page in order to update changes made to reCaptcha.","invalidValue":"Invalid value","useEmojis":"Use emojis","backgroundColor":"Background color","reaction":"Reaction","mandatoryFreetextField":"Free-text field is mandatory","starSelectedColor":"Color of selected stars","informationAboutFreetextField":"Information regarding the free text field (GDPR and such)","emailRecipient":"Recipient","useStars":"Use stars","url":"URL","reactionPositive":"Positive","appearance":"Appearance","selectedReactionNotAvailableForSelectedScale":"The reaction type is not available for the selected scale","validEmailRequired":"Must be a valid e-mail address","texts":"Texts","sendFeedbackUsingMetadata":"Send feedback based on metadata type User","reactPositive":"React positively","timeToReaction":"Time spent on page until reaction","emailContent":"E-mail content","userMetadata":"User metadata","thumbDownColor":"Color of negative reaction icon","reCaptchaNeedsConfiguration":"reCaptcha needs to be configured at Addons/Global Settings before it can be used for this module.","reactNeutral":"React indifferently","fontQuestion":"Font for question","aboutReCaptchaInfo":"In accordance with the terms of service provided by Google reCaptcha, you must inform visitors about your Google reCaptcha integration.","enableProtectionByReCaptcha":"Enable Google reCaptcha spam protection","emailAddress":"E-mail address","mailIntro":"New reaction from the Feedback module","dataHandling":"Manage feedback","reactNegative":"React negatively","buttonPartiallyNegativeReaction":"Text for partially negative reaction button","useBackgroundColor":"Use a background color","noMessageProvided":"(No comment provided)","forNegativeReaction":"Enable with negative reaction","always":"Always","browserLanguage":"Browser language","enableGoogleReCaptcha":"Enable Google reCatpcha v3 for use with this module","freetextField":"Free text field","placeReactionsOnNewLine":"Place reactions on a new line","sendAllFeedbackTo":"Send feedback to e-mail address","never":"Never","descriptionOfScale":"Description of the grading scale","textQuestion":"Question","starBaseColor":"Color of stars","atLestOneReactionMustBeSelected":"Select at least one type of reaction","page":"Page","stringRequired":"A text must be provided","reactionNeutral":"Indifferent","configureAccount":"Configure a free Google reCaptcha v3 account at","send":"Send","textConfirmationMessage":"Confirmation message","buttonNegativeReaction":"Text for negative reaction button","no":"No","emailSubject":"Subject","platform":"Platform","useCustomStarColors":"Use custom colors for stars","buttonPositiveReaction":"Text for positive reaction button","sendFeedbackA
1sEmail":"E-mail feedback","reCaptchaTextInfo":"Show reCaptcha-information as text (in connection to the module)","dataStoreAccessWarning":"Could not access data store. Please check that the module has the necessary permissions to read from the data store.","couldNotHandleFeedback":"Something went wrong","protectedByReCaptcha":"Protected from spam by Google reCaptcha.","thankYouForYourFeedback":"Thank you for your feedback","forSelectedReactions":"For Selected reactions...","fontRecaptchaInfo":"Font for reCaptcha information","readMoreOnOurPolicyPage":"Read more on our policy page","fontUserInputInfo":"Font for information about the free text field","textTellUsMore":"Text above message box","yes":"Yes","message":"Message","siteKeyRequired":"A Site Key must be provided","saveVisitorPlatformInfo":"Save information regarding the visitor's operating system","buttonNeutralReaction":"Text for neutral reaction button","starHoverColor":"Color of stars at hover","reactionPartiallyNegative":"Partially negative","userMessageInvalidFormat":"The user submitted a comment in an invalid format","reactionNegative":"Negative","fontThankYou":"Font for confirmation message","savedData":"Saved data","fontGradingDescription":"Font for describing the scale","showTextDescribingTheScale":"Show text describing the scale"},"sv":{"forPositiveReaction":"Vid positiv reaktion","reactionPartiallyPositive":"Delvis positiv","messageIsMandatory":"Kommentar är obligatorisk","saveVisitorLanguage":"Spara webbläsarens språk","reactPartiallyNegative":"Reagera delvis negativt","referal":"Föregående sida","thumbUpColor":"Färg på ikon för positiv reaktion","mustBeV3":"Observera att kontot måste vara inställt på v3 för att nycklarna ska fungera","configNeeded":"Modulen behöver konfigureras","hostname":"Webbplats","invalidMessageContent":"Ditt meddelande kunde inte sparas eftersom det inte var i ett giltigt format.","extraInfoRegardingDataStore":"kräver att datakälla finns i licensen","pageRequired":"En sida måste anges","text":"Text","buttonPartiallyPositiveReaction":"Knapptext för delvis positiv reaktion","showPersonalDataLink":"Visa länk till sida om hantering av personuppgifter","showInformationAboutFreetextField":"Visa informationstext i anslutning till fritextfältet","reactPartiallyPositive":"Reagera delvis positivt","ip":"IP","secretKeyRequired":"En Secret Key måste anges","userMetadataRequired":"Måste vara ett användarmetadata","numberOfStepsOnGradingScale":"Antal steg på betygsskalan","useProtectionReCaptcha":"Använd Google reCaptcha-spamskydd","fontTellUsMore":"Formatmall för text ovanför inmatningsfält för fritext","wasThisInformationHelpful":"Hjälpte informationen dig?","useGoogleReCaptcha":"Använd Google reCaptcha för att skydda modulen mot spam","textSendButton":"Text på Skicka-knapp","howCouldItBeBetter":"Berätta gärna mer","useButtons":"Använd knappar med text","saveToDataStore":"Spara feedback i datakälla","dataHandlingRequired":"Välj minst en metod för datahantering","useThumbs":"Använd tumme upp och tumme ned","reactionOptions":"Reaktionsalternativ","mailSubject":"Synpunkter på en sida har lämnats i modulen Tyck till","reCaptchaBannerInfo":"Visa reCaptcha-badge (i nedre högra hörnet av sidan)","showFreetextField":"Visa inmatningsfält för fritext","reloadInfo":"Ladda om sidan för att uppdatera alla ändringar av reCaptcha.","invalidValue":"Ogiltigt värde","useEmojis":"Använd emojis","backgroundColor":"Bakgrundsfärg","reaction":"Reaktion","mandatoryFreetextField":"Fritextfältet är obligatoriskt","starSelectedColor":"Färg på valda stjärnor","informationAboutFreetextField":"Informationstext till fritextfältet (GDPR, avrådan från personuppgifter)","emailRecipient":"Mottagare","useStars":"Använd stjärnor","url":"URL","reactionPositive":"Positiv","appearance":"Utseende","selectedReactionNotAvailableForSelectedScale":"Reaktionsalternativet är inte tillgängligt för den valda skalan","validEmailRequired":"Måste vara en giltig e-postadress","texts":"Texter","sendFeedbackUsingMetadata":"Skicka feedback baserat på användarmetadata","reactPositive":"Reagera positivt","timeToReaction":"Tid på sidan innan reaktion","emailContent":"E-postinnehåll","userMetadata":"Användarmetadata","thumbDownColor":"Färg på ikon för negativ reaktion","reCaptchaNeedsConfiguration":"reCaptcha måste konfigureras under Tillägg/Globala inställningar innan det kan användas för den här modulen.","reactNeutral":"Reagera neutralt","fontQuestion":"Formatmall för fråga","aboutReCaptchaInfo":"I enlighet med användarvillkoren för spamskyddet Google reCaptcha måste information om att det används synas tydligt på sidan.","enableProtectionByReCaptcha":"Aktivera Google reCaptcha-spamskydd","emailAddress":"E-postadress","mailIntro":"Synpunkter på en sida har lämnats i modulen Tyck till","dataHandling":"Hantera feedback","reactNegative":"Reagera negativt","buttonPartiallyNegativeReaction":"Knapptext för delvis negativ reaktion","useBackgroun
1dColor":"Använd en bakgrundsfärg","noMessageProvided":"(Ingen fritextkommentar skickad)","forNegativeReaction":"Vid negativ reaktion","always":"Alltid","browserLanguage":"Webbläsarens språk","enableGoogleReCaptcha":"Aktivera Google reCatpcha v3 för användning i modulen","freetextField":"Fritextfält","placeReactionsOnNewLine":"Placera reaktionerna på ny rad","sendAllFeedbackTo":"Skicka feedback till e-postadress","never":"Aldrig","descriptionOfScale":"Beskrivning av skala","textQuestion":"Fråga","starBaseColor":"Färg på stjärnor","atLestOneReactionMustBeSelected":"Välj minst en typ av reaktion","page":"Sida","stringRequired":"En text måste anges","reactionNeutral":"Neutral","configureAccount":"Konfigurera ett gratis Google reCaptcha v3-konto på","send":"Skicka","textConfirmationMessage":"Bekräftelsemeddelande","buttonNegativeReaction":"Knapptext för negativ reaktion","no":"Nej","emailSubject":"Ärenderad","platform":"Plattform","useCustomStarColors":"Använd egna färger på stjärnor","buttonPositiveReaction":"Knapptext för positiv reaktion","sendFeedbackA
1sEmail":"Skicka feedback som e-post","reCaptchaTextInfo":"Visa reCaptcha-information som text (i anslutning till modulen)","dataStoreAccessWarning":"Kunde inte hämta datakälla. Kontrollera att modulen har rättigheter att läsa från datakällan.","couldNotHandleFeedback":"Någonting gick fel","protectedByReCaptcha":"Spamskydd genom Google reCaptcha.","thankYouForYourFeedback":"Tack för att du lämnade synpunkter","forSelectedReactions":"För utvalda reaktioner ...","fontRecaptchaInfo":"Formatmall för reCaptcha information","readMoreOnOurPolicyPage":"Läs mer på vår policy sida","fontUserInputInfo":"Formatmall för information vid fritextfältet","textTellUsMore":"Text ovanför inmatningsfält för fritext","yes":"Ja","message":"Meddelande","siteKeyRequired":"En Site Key måste anges","saveVisitorPlatformInfo":"Spara data om besökarens operativsystem","buttonNeutralReaction":"Knapptext för neutral reaktion","starHoverColor":"Färg på stjärnor vid hovring","reactionPartiallyNegative":"Delvis negativ","userMessageInvalidFormat":"Användaren lämnade en kommentar i ett ogiltigt format","reactionNegative":"Negativ","fontThankYou":"Formatmall för bekräftelsemeddelande","savedData":"Data som sparas","fontGradingDescription":"Formatmall för beskrivning av skalan","showTextDescribingTheScale":"Visa text som förklarar skalan"},"no":{"forPositiveReaction":"Aktiver med positiv reaksjon","reactionPartiallyPositive":"Delvis positiv","messageIsMandatory":"Melding er obligatorisk","saveVisitorLanguage":"Lagre informasjon om nettleserens språk","reactPartiallyNegative":"Reager delvis negativt","referal":"Henviser","thumbUpColor":"Farge på positiv reaksjonsikon","mustBeV3":"Merk at det må settes opp for v3 for at nøklene skal fungere","configNeeded":"Modulen trenger konfigurasjon","hostname":"Nettsted","invalidMessageContent":"Din tilbakemeldingsmelding kunne ikke lagres på grunn av ugyldig format.","extraInfoRegardingDataStore":"krever datalagerlisens","pageRequired":"En side må velges","text":"Tekst","buttonPartiallyPositiveReaction":"Tekst for delvis positiv reaksjonsknapp","showPersonalDataLink":"Vis lenke til side om håndtering av personopplysninger","showInformationAboutFreetextField":"Vis informasjon om fritekstfeltet","reactPartiallyPositive":"Reager delvis positivt","ip":"IP","secretKeyRequired":"En Secret Key må oppgis","userMetadataRequired":"Må være en brukermetadata","numberOfStepsOnGradingScale":"Antall trinn på vurderingsskalaen","useProtectionReCaptcha":"Bruk Google reCaptcha spam-beskyttelse","fontTellUsMore":"Skrift for tekst over meldingsboksen","wasThisInformationHelpful":"Var denne informasjonen nyttig?","useGoogleReCaptcha":"Bruk Google reCaptcha for å beskytte modulen mot spam","textSendButton":"Send knappetekst","howCouldItBeBetter":"Hvordan kunne det vært bedre?","useButtons":"Bruk knapper med tekst","saveToDataStore":"Lagre tilbakemeldinger i datalager","dataHandlingRequired":"Velg minst én metode","useThumbs":"Bruk tommel opp og tommel ned","reactionOptions":"Reaksjonsalternativer","mailSubject":"Ny reaksjon fra tilbakemeldingsmodulen","reCaptchaBannerInfo":"Vis reCaptcha-merke (nederst til høyre på siden)","showFreetextField":"Tillat brukeren å sende inn teksttilbakemelding","reloadInfo":"Last inn siden på nytt for å oppdatere endringer gjort til reCaptcha.","invalidValue":"Ugyldig verdi","useEmojis":"Bruk emojis","backgroundColor":"Bakgrunnsfarge","reaction":"Reaksjon","mandatoryFreetextField":"Fritekstfelt er obligatorisk","starSelectedColor":"Farge på valgte stjerner","informationAboutFreetextField":"Informasjon om fritekstfeltet (GDPR og lignende)","emailRecipient":"Mottaker","useStars":"Bruk stjerner","url":"URL","reactionPositive":"Positiv","appearance":"Utseende","selectedReactionNotAvailableForSelectedScale":"Reaksjonstypen er ikke tilgjengelig for den valgte skalaen","validEmailRequired":"Må være en gyldig e-postadresse","texts":"Tekster","sendFeedbackUsingMetadata":"Send tilbakemelding basert på brukermetadata","reactPositive":"Reager positivt","timeToReaction":"Tid brukt på siden til reaksjon","emailContent":"E-postinnhold","userMetadata":"Brukermetadata","thumbDownColor":"Farge på negativ reaksjonsikon","reCaptchaNeedsConfiguration":"reCaptcha må konfigureres under Addons/Global Settings før det kan brukes for denne modulen.","reactNeutral":"Reager nøytralt","fontQuestion":"Skrift for spørsmål","aboutReCaptchaInfo":"I samsvar med vilkårene for bruk levert av Google reCaptcha, må du informere besøkende om din Google reCaptcha-integrasjon.","enableProtectionByReCaptcha":"Aktiver Google reCaptcha spam-beskyttelse","emailAddress":"E-postadresse","mailIntro":"Ny reaksjon fra tilbakemeldingsmodulen","dataHandling":"Administrer tilbakemeldinger","reactNegative":"Reager negativt","buttonPartiallyNegativeReaction":"Tekst for delvis negativ reaksjonsknapp","useBackgroun
1dColor":"Bruk en bakgrunnsfarge","noMessageProvided":"(Ingen kommentar gitt)","forNegativeReaction":"Aktiver med negativ reaksjon","always":"Alltid","browserLanguage":"Nettleserspråk","enableGoogleReCaptcha":"Aktiver Google reCaptcha v3 for bruk med denne modulen","freetextField":"Fritekstfelt","placeReactionsOnNewLine":"Plasser reaksjoner på en ny linje","sendAllFeedbackTo":"Send tilbakemelding til e-postadresse","never":"Aldri","descriptionOfScale":"Beskrivelse av vurderingsskalaen","textQuestion":"Spørsmål","starBaseColor":"Farge på stjerner","atLestOneReactionMustBeSelected":"Velg minst én type reaksjon","page":"Side","stringRequired":"En tekst må oppgis","reactionNeutral":"Nøytral","configureAccount":"Konfigurer en gratis Google reCaptcha v3-konto på","send":"Send","textConfirmationMessage":"Bekreftelsesmelding","buttonNegativeReaction":"Tekst for negativ reaksjonsknapp","no":"Nei","emailSubject":"Emne","platform":"Plattform","useCustomStarColors":"Bruk tilpassede farger for stjerner","buttonPositiveReaction":"Tekst for positiv reaksjonsknapp","sendFeedbackA
1sEmail":"Send tilbakemelding som e-post","reCaptchaTextInfo":"Vis reCaptcha-informasjon som tekst (i forbindelse med modulen)","dataStoreAccessWarning":"Kunne ikke hente datakilde. Kontroller at modulen har nødvendige tillatelser for å lese fra datakilden.","couldNotHandleFeedback":"Noe gikk galt","protectedByReCaptcha":"Beskyttet mot spam av Google reCaptcha.","thankYouForYourFeedback":"Takk for din tilbakemelding","forSelectedReactions":"For valgte reaksjoner...","fontRecaptchaInfo":"Skrift for reCaptcha-informasjon","readMoreOnOurPolicyPage":"Les mer på vår policy side","fontUserInputInfo":"Skrift for informasjon om fritekstfeltet","textTellUsMore":"Tekst over meldingsboksen","yes":"Ja","message":"Melding","siteKeyRequired":"En Site Key må oppgis","saveVisitorPlatformInfo":"Lagre informasjon om besøkendes operativsystem","buttonNeutralReaction":"Tekst for nøytral reaksjonsknapp","starHoverColor":"Farge på stjerner ved hover","reactionPartiallyNegative":"Delvis negativ","userMessageInvalidFormat":"Brukeren la inn en kommentar i et ugyldig format","reactionNegative":"Negativ","fontThankYou":"Skrift for bekreftelsesmelding","savedData":"Lagrede data","fontGradingDescription":"Skrift for beskrivelse av skalaen","showTextDescribingTheScale":"Vis tekst som beskriver skalaen"}}});
2AppRegistry.registerModule({applicationId:'marketplace.sitevision.feedback|1.2.8',path:'/component/Thumbs',module:function(define){'use strict';define(function (require) {
3  'use strict';
4
5  var Component = require('Component');
6
7  var template = require('/template/thumbs');
8
9  return Component.extend({
10    template: template,
11    filterState: function filterState(state) {
12      return {
13        colors: state.settings.colors
14      };
15    }
16  });
17});}});
18AppRegistry.registerModule({applicationId:'marketplace.sitevision.feedback|1.2.8',path:'/template/reaction',module:function(define){define(function(require){var _=require('underscore');return function(obj){
19var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};
20with(obj||{}){
21__p+='<div class="env-d--flex env-flex-wrap--wrap">\n  <div class="env-align-self--center '+
22((__t=( fonts.fontQuestion ))==null?'':_.escape(__t))+
23' sv-feedback-overflow env-m-right--small ';
24 if (reactionsOnNewLine) { 
25__p+=' env-w--100 env-m-bottom--small ';
26 } 
27__p+='">\n    '+
28((__t=( texts.question ))==null?'':_.escape(__t))+
29'\n  </div>\n  <div class="env-align-self--center">\n    ';
30 if (reactionType === 'thumbs') { 
31__p+='\n      '+
32((__t=( renderer.renderComponent('Thumbs') ))==null?'':__t)+
33'\n    ';
34 } else if (reactionType === 'emojis') { 
35__p+='\n      '+
36((__t=( renderer.renderComponent('Emojis') ))==null?'':__t)+
37'\n    ';
38 } else if (reactionType === 'stars') { 
39__p+='\n      '+
40((__t=( renderer.renderComponent('Stars') ))==null?'':__t)+
41'\n    ';
42 } else { 
43__p+='\n      '+
44((__t=( renderer.renderComponent('Buttons') ))==null?'':__t)+
45'\n    ';
46 } 
47__p+='\n  </div>\n</div>\n';
48 if (showGradingDescription) { 
49__p+='<p class="'+
50((__t=( fonts.fontGradingDescription ))==null?'':_.escape(__t))+
51'"> '+
52((__t=( texts.gradingDescriptionText ))==null?'':_.escape(__t))+
53'</p> ';
54 } 
55__p+='\n';
56 if (useCaptcha && showReCaptchaInfoAsText) { 
57__p+='\n  <div class="'+
58((__t=( fonts.fontReCaptchaInfo ))==null?'':_.escape(__t))+
59'">\n    '+
60((__t=( i18n('protectedByReCaptcha') ))==null?'':_.escape(__t))+
61'\n    ';
62 if (usePersonalDataLink && reCaptchaLink && reCaptchaLinkText) { 
63__p+='\n      <a href="'+
64((__t=( reCaptchaLink ))==null?'':_.escape(__t))+
65'" target="'+
66((__t=( openInNewWindow ? '_blank' : '_self' ))==null?'':_.escape(__t))+
67'"';
68 if (openInNewWindow) { 
69__p+=' rel="noopener noreferrer"';
70 } 
71__p+='>'+
72((__t=( reCaptchaLinkText ))==null?'':_.escape(__t))+
73'</a>\n    ';
74 } 
75__p+='\n  </div>\n';
76 } 
77__p+='\n<div class="env-p-top--small env-collapse" data-feedback-form-container></div>\n';
78}
79return __p;
80};});}});
81AppRegistry.registerModule({applicationId:'marketplace.sitevision.feedback|1.2.8',path:'/template/emojis',module:function(define){define(function(require){var _=require('underscore');return function(obj){
82var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};
83with(obj||{}){
84__p+='<button class="sv-feedback-thumb-button" data-react data-reaction="negative" data-numeric-reaction="1" aria-label="'+
85((__t=( i18n('reactNegative') ))==null?'':_.escape(__t))+
86'">\n   <svg class="env-icon env-icon--medium sv-feedback-emoji sv-feedback-svg">\n      <use href="'+
87((__t=( sprite ))==null?'':__t)+
88'#icon-smiley-sad-1"></use>\n   </svg>\n </button>\n\n ';
89 if (numOfGradingSteps > 2) { 
90__p+='\n   ';
91 if (numOfGradingSteps === 5) { 
92__p+='\n      <button class="sv-feedback-thumb-button"  data-react data-reaction="partiallyNegative" data-numeric-reaction="2" aria-label="'+
93((__t=( i18n('reactPartiallyNegative') ))==null?'':_.escape(__t))+
94'">\n         <svg class="env-icon env-icon--medium sv-feedback-emoji sv-feedback-svg">\n            <use href="'+
95((__t=( sprite ))==null?'':__t)+
96'#icon-smiley-unhappy"></use>\n         </svg>\n      </button>\n   ';
97 } 
98__p+='\n\n   <button class="sv-feedback-thumb-button"  data-react data-reaction="neutral" data-numeric-reaction="3" aria-label="'+
99((__t=( i18n('reactNeutral') ))==null?'':_.escape(__t))+
100'">\n      <svg class="env-icon env-icon--medium sv-feedback-emoji sv-feedback-svg">\n         <use href="'+
101((__t=( sprite ))==null?'':__t)+
102'#icon-smiley-indifferent"></use>\n      </svg>\n   </button>\n\n   ';
103 if (numOfGradingSteps === 5) { 
104__p+='\n      <button class="sv-feedback-thumb-button"  data-react data-reaction="partiallyPositive" data-numeric-reaction="4" aria-label="'+
105((__t=( i18n('reactPartiallyPositive') ))==null?'':_.escape(__t))+
106'">\n         <svg class="env-icon env-icon--medium sv-feedback-emoji sv-feedback-svg">\n            <use href="'+
107((__t=( sprite ))==null?'':__t)+
108'#icon-smiley-smirk"></use>\n         </svg>\n      </button>\n   ';
109 } 
110__p+='\n';
111 } 
112__p+='\n\n<button class="sv-feedback-thumb-button"  data-react data-reaction="positive" data-numeric-reaction="5" aria-label="'+
113((__t=( i18n('reactPositive') ))==null?'':_.escape(__t))+
114'">\n   <svg class="env-icon env-icon--medium sv-feedback-emoji sv-feedback-svg">\n      <use href="'+
115((__t=( sprite ))==null?'':__t)+
116'#icon-smiley-smile-2"></use>\n   </svg>\n</button>\n';
117}
118return __p;
119};});}});
120AppRegistry.registerModule({applicationId:'marketplace.sitevision.feedback|1.2.8',path:'/template/thumbs',module:function(define){define(function(require){var _=require('underscore');return function(obj){
121var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};
122with(obj||{}){
123__p+='<button class="sv-feedback-thumb-button" style="color: '+
124((__t=( colors.thumbNegativeColor ))==null?'':_.escape(__t))+
125';" data-react data-reaction="negative" data-numeric-reaction="1"\n   aria-label="'+
126((__t=( i18n('reactNegative') ))==null?'':_.escape(__t))+
127'">\n   <svg class="env-icon env-icon--large sv-feedback-thumb sv-feedback-thumb-negative">\n     <use href="/sitevision/envision-icons.svg#icon-thumb-up"></use>\n   </svg>\n </button>\n<button class="sv-feedback-thumb-button" style="color: '+
128((__t=( colors.thumbPositiveColor ))==null?'':_.escape(__t))+
129';" data-react data-reaction="positive" data-numeric-reaction="5"\n   aria-label="'+
130((__t=( i18n('reactPositive') ))==null?'':_.escape(__t))+
131'">\n   <svg class="env-icon env-icon--large sv-feedback-thumb sv-feedback-thumb-positive">\n     <use href="/sitevision/envision-icons.svg#icon-thumb-up"></use>\n   </svg>\n </button>\n';
132}
133return __p;
134};});}});
135AppRegistry.registerModule({applicationId:'marketplace.sitevision.feedback|1.2.8',path:'/component/Emojis',module:function(define){'use strict';define(function (require) {
136  'use strict';
137
138  var Component = require('Component');
139
140  var template = require('/template/emojis');
141
142  return Component.extend({
143    template: template,
144    filterState: function filterState(state) {
145      return {
146        numOfGradingSteps: parseInt(state.settings.numOfGradingSteps, 10),
147        sprite: state.sprite,
148        colors: state.settings.colors
149      };
150    }
151  });
152});}});
153AppRegistry.registerModule({applicationId:'marketplace.sitevision.feedback|1.2.8',path:'/template/invalidMessageContent',module:function(define){define(function(require){var _=require('underscore');return function(obj){
154var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};
155with(obj||{}){
156__p+=''+
157((__t=( i18n('invalidMessageContent') ))==null?'':_.escape(__t))+
158'';
159}
160return __p;
161};});}});
162AppRegistry.registerModule({applicationId:'marketplace.sitevision.feedback|1.2.8',path:'/component/Reaction',module:function(define){'use strict';/* globals grecaptcha: false */
163define(function (require) {
164  'use strict';
165
166  var Component = require('Component');
167
168  var feedbackTemplate = require('/template/reaction');
169
170  var thanksTemplate = require('/template/thanks');
171
172  var errorTemplate = require('/template/error');
173
174  var invalidMessageContent = require('/template/invalidMessageContent');
175
176  var requester = require('requester');
177
178  var router = require('router');
179
180  var FeedbackText = require('/component/FeedbackText');
181
182  return Component.extend({
183    getTemplate: function getTemplate() {
184      if (this.state.display === 'thanks') {
185        return thanksTemplate;
186      }
187
188      if (this.state.display === 'error') {
189        return errorTemplate;
190      }
191
192      if (this.state.display === 'invalidMessageContent') {
193        return invalidMessageContent;
194      }
195
196      return feedbackTemplate;
197    },
198    className: 'env-p-around--small',
199    events: {
200      dom: {
201        'click button[data-react]': 'handleReaction',
202        'click [data-send-feedback]': 'handleSendFeedback'
203      },
204      self: {
205        'state:changed:display': 'render'
206      }
207    },
208    attributes: function attributes() {
209      if (this.state.colors.backgroundColor !== '') {
210        return {
211          style: 'background-color: ' + this.state.colors.backgroundColor
212        };
213      }
214
215      return {};
216    },
217    handleReaction: function handleReaction(event) {
218      var _event$currentTarget$ = event.currentTarget.dataset,
219          reaction = _event$currentTarget$.reaction,
220          numericReaction = _event$currentTarget$.numericReaction;
221
222      if (!this.state.useCaptcha) {
223        this.saveReaction(reaction, numericReaction);
224        return;
225      }
226
227      grecaptcha.ready(this.executeCaptcha.bind(this, reaction, numericReaction));
228    },
229    executeCaptcha: function executeCaptcha(reaction, numericReaction) {
230      grecaptcha.execute(this.state.siteKey, {
231        action: 'post_reaction'
232      }).then(this.verifyCaptchaToken.bind(this, reaction, numericReaction));
233    },
234    verifyCaptchaToken: function verifyCaptchaToken(reaction, numericReaction, token) {
235      requester.doGet({
236        url: router.getUrl('/verify'),
237        data: {
238          token: token
239        }
240      }).done(this.handleCaptchaVerification.bind(this, reaction, numericReaction)).fail(this.destroy.bind(this));
241    },
242    handleCaptchaVerification: function handleCaptchaVerification(reaction, numericReaction, response) {
243      if (response.verified) {
244        this.saveReaction(reaction, numericReaction);
245      }
246    },
247    saveReaction: function saveReaction(reaction, numericReaction) {
248      this.setState({
249        reaction: reaction,
250        timeToReaction: this.getTimeToReaction(),
251        hasReacted: true,
252        numericReaction: Number.parseInt(numericReaction, 10)
253      });
254
255      if (this.state.useDataStore) {
256        requester.doPost({
257          url: router.getUrl('/reactions'),
258          data: {
259            reaction: reaction,
260            timeToReaction: this.state.timeToReaction
261          },
262          context: this
263        }).done(function (res) {
264          this.setState('dsid', res.reactionResponse.dsid);
265          this.setupOrSendFeedback();
266        });
267      } else {
268        this.setupOrSendFeedback();
269      }
270    },
271    setupOrSendFeedback: function setupOrSendFeedback() {
272      if (this.showTextArea(this.state.reaction)) {
273        this.handleReactionInterface(this.state.reaction);
274        this.setupFeedbackTextField();
275      } else {
276        this.handleSendFeedback();
277      }
278    },
279    setupFeedbackTextField: function setupFeedbackTextField() {
280      var data = {
281        tellUsMoreText: this.state.texts.tellUsMoreText,
282        buttonText: this.state.texts.buttonText,
283        fontTellUsMore: this.state.fonts.fontTellUsMore,
284        userInputInfoText: this.state.texts.userInputInfoText,
285        fontUserInputInfo: this.state.fonts.fontUserInputInfo,
286        showUserInputInfoText: this.state.userInput.showInfoText
287      };
288      var feedbackText = new FeedbackText(data);
289      var $formContainer = this.$('[data-feedback-form-container]');
290      feedbackText.render().$el.appendTo($formContainer);
291      $formContainer.envCollapse('show');
292    },
293    showTextArea: function showTextArea(reaction) {
294      return this.state.userInput.show === 'always' || this.state.userInput.show === 'selection' && this.state.userInput.showFor[reaction];
295    },
296    handleReactionInterface: function handleReactionInterface(reaction) {
297      var _this = this;
298
299      if (this.state.reactionType === 'stars') {
300        this.$('.sv-feedback-star-button').off('mouseenter mouseleave');
301        this.$('.sv-feedback-star-button').each(function (index, el) {
302          var $element = _this.$(el);
303
304          if ($element.attr('data-numeric-reaction') <= _this.state.numericReaction) {
305            $element.blur().removeClass('sv-feedback-star').find('svg').addClass('sv-feedback-rating-star-selected');
306          } else {
307            $element.prop('disabled', true).addClass('env-d--none');
308          }
309
310          $element.removeAttr('data-react');
311        });
312      } else {
313        this.$("button[data-react][data-reaction=".concat(reaction, "]")).prop('disabled', true);
314        this.$("button[data-react][data-reaction!=".concat(reaction, "]")).prop('disabled', true).addClass('env-d--none').hide();
315      }
316    },
317    getTimeToReaction: function getTimeToReaction() {
318      return Date.now() - this.state.initTime;
319    },
320    onInit: function onInit() {
321      this.setState('initTime', Date.now());
322
323      if (this.addBeforeUnloadEvent()) {
324        window.addEventListener('beforeunload', function () {
325          if (this.state.display === 'form' && this.state.hasReacted && this.userInputNotMandatory(this.state.reaction)) {
326            this.handleSendFeedback();
327          }
328
329          return undefined;
330        }.bind(this));
331      }
332    },
333    addBeforeUnloadEvent: function addBeforeUnloadEvent() {
334      return !this.state.isOfflineVersion;
335    },
336    userInputNotMandatory: function userInputNotMandatory(reaction) {
337      return !(this.showTextArea(reaction) && (this.state.userInput.mandatory === 'always' || this.selectionAndReactionMatch('mandatory', reaction)));
338    },
339    selectionAndReactionMatch: function selectionAndReactionMatch(showOrMandatory, reaction) {
340      return this.state.userInput[showOrMandatory] === 'selection' && this.state.userInput["".concat(showOrMandatory, "For")][reaction];
341    },
342    userInputIsInvalid: function userInputIsInvalid(message, reaction) {
343      if (this.showTextArea(reaction)) {
344        if (message.trim().length < 1 && (this.state.userInput.mandatory === 'always' || this.selectionAndReactionMatch('mandatory', reaction))) {
345          return true;
346        }
347      }
348
349      return false;
350    },
351    removeReaction: function removeReaction() {
352      if (this.state.dsid === undefined || this.state.dsid === null) {
353        return;
354      }
355
356      requester.doDelete({
357        url: router.getUrl('/remove'),
358        data: {
359          dsid: this.state.dsid
360        }
361      });
362    },
363    handleSendFeedback: function handleSendFeedback(event) {
364      var message = String(this.$('[data-feedback-freetext]').val() || '');
365      var userInputIsInvalid = this.userInputIsInvalid(message, this.state.reaction);
366
367      if (userInputIsInvalid) {
368        this.$('[data-mandatory-field-info]').show();
369        return false;
370      }
371
372      this.$('[data-mandatory-field-info]').hide();
373      var referrer = document.referrer.includes('?') ? document.referrer.substring(0, document.referrer.indexOf('?')) : document.referrer;
374      requester.doPost({
375        url: router.getUrl('/feedback'),
376        data: {
377          dsid: this.state.dsid,
378          feedback: {
379            message: event ? message : '',
380            referrer: referrer,
381            browserLanguage: navigator.language,
382            reaction: this.state.reaction,
383            timeToReaction: this.state.timeToReaction,
384            platform: navigator.platform,
385            numericReaction: this.state.numericReaction
386          }
387        },
388        context: this
389      }).done(function (response) {
390        this.setState('display', response.display);
391      });
392    },
393    filterState: function filterState(state) {
394      return {
395        display: state.display,
396        texts: state.settings.texts,
397        useDataStore: state.useDataStore,
398        reactionType: state.reactionType,
399        fonts: state.settings.fonts,
400        colors: state.settings.colors,
401        isOfflineVersion: state.settings.isOfflineVersion,
402        siteKey: state.settings.captchaSettings.siteKey,
403        useCaptcha: state.settings.captchaSettings.useCaptcha,
404        showReCaptchaInfoAsText: state.settings.captchaSettings.showReCaptchaInfoAs === 'text',
405        usePersonalDataLink: state.settings.captchaSettings.usePersonalDataLink,
406        reCaptchaLink: state.settings.captchaSettings.reCaptchaLink,
407        openInNewWindow: state.settings.captchaSettings.openInNewWindow,
408        reCaptchaLinkText: state.settings.captchaSettings.reCaptchaLinkText,
409        route: state.route,
410        sprite: state.sprite,
411        reactionsOnNewLine: state.settings.reactionsOnNewLine,
412        showGradingDescription: state.settings.showGradingDescription,
413        useBackgroundColor: state.settings.useBackgroundColor,
414        userInput: state.settings.userInput
415      };
416    }
417  });
418});}});
419AppRegistry.registerModule({applicationId:'marketplace.sitevision.feedback|1.2.8',path:'/template/error',module:function(define){define(function(require){var _=require('underscore');return function(obj){
420var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};
421with(obj||{}){
422__p+=''+
423((__t=( i18n('couldNotHandleFeedback') ))==null?'':_.escape(__t))+
424'';
425}
426return __p;
427};});}});
428AppRegistry.registerModule({applicationId:'marketplace.sitevision.feedback|1.2.8',path:'/template/main',module:function(define){define(function(require){var _=require('underscore');return function(obj){
429var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};
430with(obj||{}){
431__p+='';
432 if (route === '/') { 
433__p+='\n   '+
434((__t=( renderer.renderComponent('Reaction') ))==null?'':__t)+
435'\n';
436 } else if (route === '/configNeeded' && isOfflineVersion) {
437__p+='\n   '+
438((__t=( i18n('configNeeded') ))==null?'':_.escape(__t))+
439'\n';
440 } 
441__p+='';
442}
443return __p;
444};});}});
445AppRegistry.registerModule({applicationId:'marketplace.sitevision.feedback|1.2.8',path:'/template/stars',module:function(define){define(function(require){var _=require('underscore');return function(obj){
446var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};
447with(obj||{}){
448__p+='<button class="sv-feedback-star-button sv-feedback-star" data-react data-reaction="negative" data-numeric-reaction="1" aria-label="'+
449((__t=( i18n('reactNegative') ))==null?'':_.escape(__t))+
450'">\n   <svg class="env-icon env-icon--medium sv-feedback-svg sv-feedback-star-icon sv-feedback-icon-rating-star">\n      <use href="'+
451((__t=( sprite ))==null?'':__t)+
452'#icon-rating-star-3"></use>\n   </svg>\n </button>\n\n ';
453 if (numOfGradingSteps > 2) { 
454__p+='\n   ';
455 if (numOfGradingSteps === 5) { 
456__p+='\n      <button class="sv-feedback-star-button sv-feedback-star"  data-react data-reaction="partiallyNegative" data-numeric-reaction="2" aria-label="'+
457((__t=( i18n('reactPartiallyNegative') ))==null?'':_.escape(__t))+
458'">\n         <svg class="env-icon env-icon--medium sv-feedback-svg sv-feedback-star-icon sv-feedback-icon-rating-star">\n            <use href="'+
459((__t=( sprite ))==null?'':__t)+
460'#icon-rating-star-3"></use>\n         </svg>\n      </button>\n   ';
461 } 
462__p+='\n\n   <button class="sv-feedback-star-button sv-feedback-star"  data-react data-reaction="neutral" data-numeric-reaction="3" aria-label="'+
463((__t=( i18n('reactNeutral') ))==null?'':_.escape(__t))+
464'">\n      <svg class="env-icon env-icon--medium sv-feedback-svg sv-feedback-star-icon sv-feedback-icon-rating-star">\n         <use href="'+
465((__t=( sprite ))==null?'':__t)+
466'#icon-rating-star-3"></use>\n      </svg>\n   </button>\n\n   ';
467 if (numOfGradingSteps === 5) { 
468__p+='\n      <button class="sv-feedback-star-button sv-feedback-star"  data-react data-reaction="partiallyPositive" data-numeric-reaction="4" aria-label="'+
469((__t=( i18n('reactPartiallyPositive') ))==null?'':_.escape(__t))+
470'">\n         <svg class="env-icon env-icon--medium sv-feedback-svg sv-feedback-star-icon sv-feedback-icon-rating-star">\n            <use href="'+
471((__t=( sprite ))==null?'':__t)+
472'#icon-rating-star-3"></use>\n         </svg>\n      </button>\n   ';
473 } 
474__p+='\n';
475 } 
476__p+='\n\n<button class="sv-feedback-star-button sv-feedback-star" data-react data-reaction="positive" data-numeric-reaction="5" aria-label="'+
477((__t=( i18n('reactPositive') ))==null?'':_.escape(__t))+
478'">\n   <svg class="env-icon env-icon--medium sv-feedback-svg sv-feedback-star-icon sv-feedback-icon-rating-star">\n      <use href="'+
479((__t=( sprite ))==null?'':__t)+
480'#icon-rating-star-3"></use>\n   </svg>\n</button>\n';
481}
482return __p;
483};});}});
484AppRegistry.registerModule({applicationId:'marketplace.sitevision.feedback|1.2.8',path:'/template/buttons',module:function(define){define(function(require){var _=require('underscore');return function(obj){
485var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};
486with(obj||{}){
487__p+='<div class="env-m-top--small">\n   <button class="env-button env-m-bottom--small env-m-right--large" data-react\n     data-reaction="negative" data-numeric-reaction="1">\n     '+
488((__t=( texts.negativeButtonText ))==null?'':_.escape(__t))+
489'\n   </button>\n\n   ';
490 if (parseInt(numOfGradingSteps) > 2) { 
491__p+='\n      ';
492 if (parseInt(numOfGradingSteps) === 5) { 
493__p+='\n         <button class="env-button env-m-bottom--small env-m-right--large" data-react data-reaction="partiallyNegative" data-numeric-reaction="2">\n            '+
494((__t=( texts.partiallyNegativeButtonText ))==null?'':_.escape(__t))+
495'\n            </button>\n      ';
496 } 
497__p+='\n\n   <button class="env-button env-m-bottom--small env-m-right--large" data-react data-reaction="neutral" data-numeric-reaction="3">\n      '+
498((__t=( texts.neutralButtonText ))==null?'':_.escape(__t))+
499'\n   </button>\n\n      ';
500 if (parseInt(numOfGradingSteps) === 5) { 
501__p+='\n         <button class="env-button env-m-bottom--small env-m-right--large" data-react data-reaction="partiallyPositive" data-numeric-reaction="4">\n            '+
502((__t=( texts.partiallyPositiveButtonText ))==null?'':_.escape(__t))+
503'\n         </button>\n      ';
504 } 
505__p+='\n   ';
506 } 
507__p+='\n\n   <button class="env-button env-m-bottom--small" data-react data-reaction="positive" data-numeric-reaction="5">\n     '+
508((__t=( texts.positiveButtonText ))==null?'':_.escape(__t))+
509'\n   </button>\n </div>';
510}
511return __p;
512};});}});
513AppRegistry.registerModule({applicationId:'marketplace.sitevision.feedback|1.2.8',path:'/component/Buttons',module:function(define){'use strict';define(function (require) {
514  'use strict';
515
516  var Component = require('Component');
517
518  var template = require('/template/buttons');
519
520  return Component.extend({
521    template: template,
522    filterState: function filterState(state) {
523      return {
524        texts: state.settings.texts,
525        numOfGradingSteps: state.settings.numOfGradingSteps
526      };
527    }
528  });
529});}});
530AppRegistry.registerModule({applicationId:'marketplace.sitevision.feedback|1.2.8',path:'/template/thanks',module:function(define){define(function(require){var _=require('underscore');return function(obj){
531var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};
532with(obj||{}){
533__p+='<p class="'+
534((__t=( fonts.fontThanks ))==null?'':_.escape(__t))+
535'">'+
536((__t=( texts.responseText ))==null?'':_.escape(__t))+
537'</p>';
538}
539return __p;
540};});}});
541AppRegistry.registerModule({applicationId:'marketplace.sitevision.feedback|1.2.8',path:'/component/FeedbackText',module:function(define){'use strict';define(function (require) {
542  'use strict';
543
544  var Component = require('Component');
545
546  var template = require('/template/feedbackText');
547
548  var app = require('app');
549
550  return Component.extend({
551    template: template,
552    templateFunctions: function templateFunctions() {
553      return {
554        textareaId: "".concat(app.portletId.replace('.', '_'), "_freetextComment"),
555        sendFeedbackButtonId: "".concat(app.portletId.replace('.', '_'), "_sendFeedbackButton")
556      };
557    }
558  });
559});}});
560AppRegistry.registerModule({applicationId:'marketplace.sitevision.feedback|1.2.8',path:'/component/Stars',module:function(define){'use strict';define(function (require) {
561  'use strict';
562
563  var Component = require('Component');
564
565  var template = require('/template/stars');
566
567  return Component.extend({
568    template: template,
569    className: 'sv-feedback-star-rating',
570    onRendered: function onRendered() {
571      var _this = this;
572
573      this.$('.sv-feedback-star').hover(function (event) {
574        _this.highlightStars(event.currentTarget.getAttribute('data-numeric-reaction'));
575      }, function (event) {
576        _this.putOutStars(event.currentTarget.getAttribute('data-numeric-reaction'));
577      });
578      this.$('.sv-feedback-star').on('focus', function (event) {
579        _this.highlightStars(event.currentTarget.getAttribute('data-numeric-reaction'));
580      });
581      this.$('.sv-feedback-star').on('focusout', function (event) {
582        _this.putOutStars(event.currentTarget.getAttribute('data-numeric-reaction'));
583      });
584    },
585    highlightStars: function highlightStars(currentStar) {
586      var _this2 = this;
587
588      this.$('.sv-feedback-star').each(function (index, el) {
589        var $element = _this2.$(el);
590
591        if ($element.attr('data-numeric-reaction') <= currentStar) {
592          $element.find('use').addClass('sv-feedback-icon-rating-star-force-hover');
593        }
594      });
595    },
596    putOutStars: function putOutStars(currentStar) {
597      var _this3 = this;
598
599      this.$('.sv-feedback-star').each(function (index, el) {
600        var $element = _this3.$(el);
601
602        if ($element.attr('data-numeric-reaction') <= currentStar) {
603          $element.find('use').removeClass('sv-feedback-icon-rating-star-force-hover');
604        }
605      });
606    },
607    filterState: function filterState(state) {
608      return {
609        numOfGradingSteps: parseInt(state.settings.numOfGradingSteps, 10),
610        sprite: state.sprite
611      };
612    }
613  });
614});}});
615AppRegistry.registerModule({applicationId:'marketplace.sitevision.feedback|1.2.8',path:'/template/feedbackText',module:function(define){define(function(require){var _=require('underscore');return function(obj){
616var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};
617with(obj||{}){
618__p+='<div class="env-form ">\n   <div class="env-form-element">\n      <label class="'+
619((__t=( fontTellUsMore ))==null?'':_.escape(__t))+
620'" for="'+
621((__t=( textareaId ))==null?'':_.escape(__t))+
622'">'+
623((__t=( tellUsMoreText ))==null?'':_.escape(__t))+
624'</label>
624\n      <span data-mandatory-field-info class="env-m-left--medium env-text env-text--error env-d--none">'+
625((__t=( i18n('messageIsMandatory') ))==null?'':_.escape(__t))+
626'</span>\n      <div class="env-form-element__control">\n         <textarea id="'+
627((__t=( textareaId ))==null?'':_.escape(__t))+
628'" class="env-form-input" rows="3" maxlength="500"\n            data-feedback-freetext></textarea>\n      </div>\n   </div>\n   ';
629 if (showUserInputInfoText) { 
630__p+='\n      <p class="'+
631((__t=( fontUserInputInfo ))==null?'':_.escape(__t))+
632'">'+
633((__t=( userInputInfoText ))==null?'':_.escape(__t))+
634'</p>\n   ';
635 } 
636__p+='\n   <button id="'+
637((__t=( sendFeedbackButtonId ))==null?'':_.escape(__t))+
638'" type="button" class="env-button env-button--primary"\n      data-send-feedback>'+
639((__t=( buttonText ))==null?'':_.escape(__t))+
640'</button>\n</div>\n';
641}
642return __p;
643};});}});
644AppRegistry.registerModule({applicationId:'marketplace.sitevision.feedback|1.2.8',path:'/main',module:function(define){'use strict';define(function (require) {
645  'use strict';
646
647  var _ = require('underscore');
648
649  var Component = require('Component');
650
651  var template = require('/template/main');
652
653  return Component.extend({
654    template: template,
655    filterState: function filterState(state) {
656      return _.extend({}, {
657        route: state.route,
658        isOfflineVersion: state.isOfflineVersion
659      });
660    }
661  });
662});}});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.