PageSourceSearch

https://login.cmc.ca/adfs/ls/?wa=wsignin1.0&wtrealm=https%3a%2f%2f…%2faccount.cmc.ca%2fMyAccount%2fSignIn.aspx

html cmc.ca collected 2026-09-24 10:04:36 UTC 24,800 bytes, 613 lines download raw bytes

1 <!DOCTYPE html>
2<html lang="en-US">
3    <head>
4        <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
5        <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=1"/>
6        <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
7        <meta http-equiv="cache-control" content="no-cache,no-store"/>
8        <meta http-equiv="pragma" content="no-cache"/>
9        <meta http-equiv="expires" content="-1"/>
10        <meta name='mswebdialog-title' content='Connecting to Sign in / Se connecter'/>
11
12        <title>Sign In</title>
13        
13<script type='text/javascript'>
14//<![CDATA[
15function LoginErrors(){this.userNameFormatError = 'Enter your user ID in the format \u0026quot;domain\\user\u0026quot; or \u0026quot;user@domain\u0026quot;.'; this.passwordEmpty = 'Enter your password.'; this.passwordTooLong = 'Password is too long (\u0026gt; 128 characters).';}; var maxPasswordLength = 128;
16//]]>
17</script>
17
18
19<script type='text/javascript'>
20//<![CDATA[
21// Copyright (c) Microsoft Corporation.  All rights reserved.
22function InputUtil(errTextElementID, errDisplayElementID) {
23
24    if (!errTextElementID)  errTextElementID = 'errorText'; 
25    if (!errDisplayElementID)  errDisplayElementID = 'error'; 
26
27    this.hasFocus = false;
28    this.errLabel = document.getElementById(errTextElementID);
29    this.errDisplay = document.getElementById(errDisplayElementID);
30};
31InputUtil.prototype.canDisplayError = function () {
32    return this.errLabel && this.errDisplay;
33}
34InputUtil.prototype.checkError = function () {
35    if (!this.canDisplayError){
36        throw new Error ('Error element not present');
37    }
38    if (this.errLabel && this.errLabel.innerHTML) {
39        this.errDisplay.style.display = '';        
40        var cause = this.errLabel.getAttribute('for');
41        if (cause) {
42            var causeNode = document.getElementById(cause);
43            if (causeNode && causeNode.value) {
44                causeNode.focus();
45                this.hasFocus = true;
46            }
47        }
48    }
49    else {
50        this.errDisplay.style.display = 'none';
51    }
52};
53InputUtil.prototype.setInitialFocus = function (input) {
54    if (this.hasFocus) return;
55    var node = document.getElementById(input);
56    if (node) {
57        if ((/^\s*$/).test(node.value)) {
58            node.focus();
59            this.hasFocus = true;
60        }
61    }
62};
63InputUtil.prototype.setError = function (input, errorMsg) {
64    if (!this.canDisplayError) {
65        throw new Error('Error element not present');
66    }
67    input.focus();
68
69    if (errorMsg) {
70        this.errLabel.innerHTML = errorMsg;
71    }
72    this.errLabel.setAttribute('for', input.id);
73    this.errDisplay.style.display = '';
74};
75InputUtil.makePlaceholder = function (input) {
76    var ua = navigator.userAgent;
77
78    if (ua != null && 
79        (ua.match(/MSIE 9.0/) != null || 
80         ua.match(/MSIE 8.0/) != null ||
81         ua.match(/MSIE 7.0/) != null)) {
82        var node = document.getElementById(input);
83        if (node) {
84            var placeholder = node.getAttribute("placeholder");
85            if (placeholder != null && placeholder != '') {
86                var label = document.createElement('input');
87                label.type = "text";
88                label.value = placeholder;
89                label.readOnly = true;
90                label.style.position = 'absolute';
91                label.style.borderColor = 'transparent';
92                label.className = node.className + ' hint';
93                label.tabIndex = -1;
94                label.onfocus = function () { this.nextSibling.focus(); };
95
96                node.style.position = 'relative';
97                node.parentNode.style.position = 'relative';
98                node.parentNode.insertBefore(label, node);
99                node.onkeyup = function () { InputUtil.showHint(this); };
100                node.onblur = function () { InputUtil.showHint(this); };
101                node.style.background = 'transparent';
102
103                node.setAttribute("placeholder", "");
104                InputUtil.showHint(node);
105            }
106        }
107    }
108};
109InputUtil.focus = function (inputField) {
110    var node = document.getElementById(inputField);
111    if (node) node.focus();
112};
113InputUtil.hasClass = function(node, clsName) {
114    return node.className.match(new RegExp('(\\s|^)' + clsName + '(\\s|$)'));
115};
116InputUtil.addClass = function(node, clsName) {
117    if (!this.hasClass(node, clsName)) node.className += " " + clsName;
118};
119InputUtil.removeClass = function(node, clsName) {
120    if (this.hasClass(node, clsName)) {
121        var reg = new RegExp('(\\s|^)' + clsName + '(\\s|$)');
122        node.className = node.className.replace(reg, ' ');
123    }
124};
125InputUtil.showHint = function (node, gotFocus) {
126    if (node.value && node.value != '') {
127        node.previousSibling.style.display = 'none';
128    }
129    else {
130        node.previousSibling.style.display = '';
131    }
132};
133InputUtil.updatePlaceholder = function (input, placeholderText) {
134    var node = document.getElementById(input);
135    if (node) {
136        var ua = navigator.userAgent;
137        if (ua != null &&
138            (ua.match(/MSIE 9.0/) != null ||
139            ua.match(/MSIE 8.0/) != null ||
140            ua.match(/MSIE 7.0/) != null)) {
141            var label = node.previousSibling;
142            if (label != null) {
143                label.value = placeholderText;
144            }
145        }
146        else {
147            node.placeholder = placeholderText;
148        }
149    }
150};
151
152//]]>
153</script>
153
154
155
156        
157        <link rel="stylesheet" type="text/css" href="/adfs/portal/css/style.css?id=3C9CE04072F799763BE51A75249E7CCED9BF40523A85C70656D6BA929C9BCAD1" /><style>.illustrationClass {background-image:url(/adfs/portal/illustration/illustration.jpg?id=A4CE5E411C2C3006B702A11BAAD4221C783DCABC0BCA4D6EF4C0FEE9BABC7028);}</style>
158
159    </head>
160    <body dir="ltr" class="body">
161    <div id="noScript" style="position:static; width:100%; height:100%; z-index:100">
162        <h1>JavaScript required</h1>
163        <p>JavaScript is required. This web browser does not support JavaScript or JavaScript in this web browser is not enabled.</p>
164        <p>To find out if your web browser supports JavaScript or to enable JavaScript, see web browser help.</p>
165    </div>
166    
166<script type="text/javascript" language="JavaScript">
167         document.getElementById("noScript").style.display = "none";
168    </script>
168
169    <div id="fullPage">
170        <div id="brandingWrapper" class="float">
171            <div id="branding"></div>
172        </div>
173        <div id="contentWrapper" class="float">
174            <div id="content">
175                <div id="header">
176                    <img class='logoImage' id='companyLogo' src='/adfs/portal/logo/logo.png?id=CAD1148A3A6AB4E40124C3D9646F60977B5FFE4190002C4954DF611E1CD62F38' alt='Sign in / Se connecter'/>
177                </div>
178                <main>
179                    <div id="workArea">
180                        
181    <div id="authArea" class="groupMargin">
182        
183        
184        
185    <div id="loginArea">        
186        <div id="loginMessage" class="groupMargin"> </div>
187
188        <form method="post" id="loginForm" autocomplete="off" novalidate="novalidate" onKeyPress="if (event && event.keyCode == 13) Login.submitLoginRequest();" action="/adfs/ls/?wa=wsignin1.0&wtrealm=https%3a%2f%2faccount.cmc.ca%2f&wctx=rm%3d0%26id%3dpassive%26ru%3dhttps%253a%252f%252faccount.cmc.ca%253a443%252fen%252fMyAccount%252fSignIn.aspx&wct=2026-09-24T10%3a04%3a35Z&wauth=urn%3aoasis%3anames%3atc%3aSAML%3a1.0%3aam%3apassword&wreply=https%3a%2f%2faccount.cmc.ca%2fMyAccount%2fSignIn.aspx&client-request-id=98ac5ffa-e106-4f06-4579-00800000000d" >
189            <div id="error" class="fieldMargin error smallText">
190                <span id="errorText" for="" aria-live="assertive" role="alert"></span>
191            </div>
192
193            <div id="formsAuthenticationArea">
194                <div id="userNameArea">
195                    <label id="userNameInputLabel" for="userNameInput" class="hidden">User Account</label>
196                    <input id="userNameInput" name="UserName" type="email" value="" tabindex="1" class="text fullWidth"
197                        spellcheck="false" placeholder="[email protected]" autocomplete="off"/>
198                </div>
199
200                <div id="passwordArea">
201                    <label id="passwordInputLabel" for="passwordInput" class="hidden">Password</label>
202                    <input id="passwordInput" name="Password" type="password" tabindex="2" class="text fullWidth"
203                        placeholder="Password" autocomplete="off"/>
204                </div>
205                <div id="kmsiArea" style="display:none">
206                    <input type="checkbox" name="Kmsi" id="kmsiInput" value="true" tabindex="3" />
207                    <label for="kmsiInput">Keep me signed in</label>
208                </div>
209                <div id="submissionArea" class="submitMargin">
210                    <span id="submitButton" class="submit" tabindex="4" role="button"
211                        onKeyPress="if (event && event.keyCode == 32) Login.submitLoginRequest();"
212                        onclick="return Login.submitLoginRequest();">Sign in</span>
213                </div>
214            </div>
215            <input id="optionForms" type="hidden" name="AuthMethod" value="FormsAuthentication"/>
216        </form>
217
218             <div id="authOptions">
219         <form id="options" method="post" action="https://login.cmc.ca:443/adfs/ls/?wa=wsignin1.0&wtrealm=https%3a%2f%2faccount.cmc.ca%2f&wctx=rm%3d0%26id%3dpassive%26ru%3dhttps%253a%252f%252faccount.cmc.ca%253a443%252fen%252fMyAccount%252fSignIn.aspx&wct=2026-09-24T10%3a04%3a35Z&wauth=urn%3aoasis%3anames%3atc%3aSAML%3a1.0%3aam%3apassword&wreply=https%3a%2f%2faccount.cmc.ca%2fMyAccount%2fSignIn.aspx&client-request-id=98ac5ffa-e106-4f06-4579-00800000000d">
220             
220<script type="text/javascript">
221                function SelectOption(option) {
222                    var w = document.getElementById('waitingWheelDiv');
223                    if(w) w.style.display = 'inline';
224                    var i = document.getElementById('optionSelection');
225                    i.value = option;
226                    document.forms['options'].submit();
227                    return false;
228                }
229             </script>
229
230             <input id="optionSelection" type="hidden" name="AuthMethod" />
231             <input id="userNameInputOptionsHolder" name="UserName" value="" type="hidden"/>
232             <div id='authOptionLinks' class='groupMargin'><div id="waitingWheelDiv" style="display: none;"><div id="WaitingWheel">
233    <!-- NOTE: This style portion is identical to cookie pull page, they are not in shared css file because of legacy dependancies for custom themes-->
234    <!-- CSS for small "waiting" wheel -->
235    <style>
236        #floatingCirclesG {
237            position: relative;
238            width: 125px;
239            height: 125px;
240            margin: auto;
241            transform: scale(0.4);
242            -o-transform: scale(0.4);
243            -ms-transform: scale(0.4);
244            -webkit-transform: scale(0.4);
245            -moz-transform: scale(0.4);
246        }
247
248        .f_circleG {
249            position: absolute;
250            height: 22px;
251            width: 22px;
252            border-radius: 12px;
253            -o-border-radius: 12px;
254            -ms-border-radius: 12px;
255            -webkit-border-radius: 12px;
256            -moz-border-radius: 12px;
257            animation-name: f_fadeG;
258            -o-animation-name: f_fadeG;
259            -ms-animation-name: f_fadeG;
260            -webkit-animation-name: f_fadeG;
261            -moz-animation-name: f_fadeG;
262            animation-duration: 1.2s;
263            -o-animation-duration: 1.2s;
264            -ms-animation-duration: 1.2s;
265            -webkit-animation-duration: 1.2s;
266            -moz-animation-duration: 1.2s;
267            animation-iteration-count: infinite;
268            -o-animation-iteration-count: infinite;
269            -ms-animation-iteration-count: infinite;
270            -webkit-animation-iteration-count: infinite;
271            -moz-animation-iteration-count: infinite;
272            animation-direction: normal;
273            -o-animation-direction: normal;
274            -ms-animation-direction: normal;
275            -webkit-animation-direction: normal;
276            -moz-animation-direction: normal;
277        }
278
279        #frotateG_01 {
280            left: 0;
281            top: 51px;
282            animation-delay: 0.45s;
283            -o-animation-delay: 0.45s;
284            -ms-animation-delay: 0.45s;
285            -webkit-animation-delay: 0.45s;
286            -moz-animation-delay: 0.45s;
287        }
288
289        #frotateG_02 {
290            left: 15px;
291            top: 15px;
292            animation-delay: 0.6s;
293            -o-animation-delay: 0.6s;
294            -ms-animation-delay: 0.6s;
295            -webkit-animation-delay: 0.6s;
296            -moz-animation-delay: 0.6s;
297        }
298
299        #frotateG_03 {
300            left: 51px;
301            top: 0;
302            animation-delay: 0.75s;
303            -o-animation-delay: 0.75s;
304            -ms-animation-delay: 0.75s;
305            -webkit-animation-delay: 0.75s;
306            -moz-animation-delay: 0.75s;
307        }
308
309        #frotateG_04 {
310            right: 15px;
311            top: 15px;
312            animation-delay: 0.9s;
313            -o-animation-delay: 0.9s;
314            -ms-animation-delay: 0.9s;
315            -webkit-animation-delay: 0.9s;
316            -moz-animation-delay: 0.9s;
317        }
318
319        #frotateG_05 {
320            right: 0;
321            top: 51px;
322            animation-delay: 1.05s;
323            -o-animation-delay: 1.05s;
324            -ms-animation-delay: 1.05s;
325            -webkit-animation-delay: 1.05s;
326            -moz-animation-delay: 1.05s;
327        }
328
329        #frotateG_06 {
330            right: 15px;
331            bottom: 15px;
332            animation-delay: 1.2s;
333            -o-animation-delay: 1.2s;
334            -ms-animation-delay: 1.2s;
335            -webkit-animation-delay: 1.2s;
336            -moz-animation-delay: 1.2s;
337        }
338
339        #frotateG_07 {
340            left: 51px;
341            bottom: 0;
342            animation-delay: 1.35s;
343            -o-animation-delay: 1.35s;
344            -ms-animation-delay: 1.35s;
345            -webkit-animation-delay: 1.35s;
346            -moz-animation-delay: 1.35s;
347        }
348
349        #frotateG_08 {
350            left: 15px;
351            bottom: 15px;
352            animation-delay: 1.5s;
353            -o-animation-delay: 1.5s;
354            -ms-animation-delay: 1.5s;
355            -webkit-animation-delay: 1.5s;
356            -moz-animation-delay: 1.5s;
357        }
358
359        @keyframes f_fadeG {
360            0% {
361                background-color: rgb(47, 146, 212);
362            }
363
364            100% {
365                background-color: rgb(255, 255, 255);
366            }
367        }
368
369        @-o-keyframes f_fadeG {
370            0% {
371                background-color: rgb(47, 146, 212);
372            }
373
374            100% {
375                background-color: rgb(255, 255, 255);
376            }
377        }
378
379        @-ms-keyframes f_fadeG {
380            0% {
381                background-color: rgb(47, 146, 212);
382            }
383
384            100% {
385                background-color: rgb(255, 255, 255);
386            }
387        }
388
389        @-webkit-keyframes f_fadeG {
390            0% {
391                background-color: rgb(47, 146, 212);
392            }
393
394            100% {
395                background-color: rgb(255, 255, 255);
396            }
397        }
398
399        @-moz-keyframes f_fadeG {
400            0% {
401                background-color: rgb(47, 146, 212);
402            }
403
404            100% {
405                background-color: rgb(255, 255, 255);
406            }
407        }
408    </style>
409
410    <!-- Div containing small "waiting" wheel -->
411    <div id="floatingCirclesG">
412        <div class="f_circleG" id="frotateG_01"></div>
413        <div class="f_circleG" id="frotateG_02"></div>
414        <div class="f_circleG" id="frotateG_03"></div>
415        <div class="f_circleG" id="frotateG_04"></div>
416        <div class="f_circleG" id="frotateG_05"></div>
417        <div class="f_circleG" id="frotateG_06"></div>
418        <div class="f_circleG" id="frotateG_07"></div>
419        <div class="f_circleG" id="frotateG_08"></div>
420    </div>
421</div></div></div>
422         </form>
423      </div>
424
425        <div id="introduction" class="groupMargin">
426            <span><ul> <li>&nbsp;<a href='https://fabricinnovation.ca/member/' target='_blank'>Join FABrIC</a>&emsp;&emsp;&emsp;&emsp;&nbsp;/&nbsp;&nbsp;&nbsp;<a href='https://fabricinnovation.ca/fr/member/' target='_blank'>Rejoindre FABrIC</a></li><li>&nbsp;<a href='https://account.cmc.ca/MyAccount/GetAccount.aspx' target='_blank'>Get a CMC Account&nbsp;&nbsp;&nbsp;/&nbsp;&nbsp;&nbsp;Obtenir un compte CMC</a></li><li>&nbsp;<a href='https://www.cmc.ca/password-assistance/' target='_blank'>Reset Password</a>&emsp;&nbsp;&nbsp;&nbsp;&nbsp;/&nbsp;&nbsp;&nbsp;<a href='https://www.cmc.ca/fr/soutien-2/' target='_blank'>Réinitialiser le mot de passe </a></li><br>Assistance / Aide: &emsp;&nbsp;<a href='mailto:[email protected]?subject=Forgot username'>CMC</a>&emsp;&emsp;&nbsp;<a href='mailto:[email protected]?subject=Forgot username'>FABrIC</a></ul><br></span>                     
427        </div>
428
429        
429<script type="text/javascript">
430        //<![CDATA[
431
432            function Login() {
433            }
434
435            Login.userNameInput = 'userNameInput';
436            Login.passwordInput = 'passwordInput';
437
438            Login.initialize = function () {
439
440                var u = new InputUtil();
441
442                u.checkError();
443                u.setInitialFocus(Login.userNameInput);
444                u.setInitialFocus(Login.passwordInput);
445            }();
446
447            Login.submitLoginRequest = function () { 
448                var u = new InputUtil();
449                var e = new LoginErrors();
450
451                var userName = document.getElementById(Login.userNameInput);
452                var password = document.getElementById(Login.passwordInput);
453
454                if (!userName.value || !userName.value.match('[@\\\\]')) {
455                    u.setError(userName, e.userNameFormatError);
456                    return false;
457                }
458
459                if (!password.value) {
460                    u.setError(password, e.passwordEmpty);
461                    return false;
462                }
463
464                if (password.value.length > maxPasswordLength) {
465                    u.setError(password, e.passwordTooLong);
466                    return false;
467                }
468
469                document.forms['loginForm'].submit();
470                return false;
471            };
472
473            InputUtil.makePlaceholder(Login.userNameInput);
474            InputUtil.makePlaceholder(Login.passwordInput);
475        //]]>
476        </script>
476
477    </div>
478
479    </div>
480
481                    </div>
482                </main>
483                <div id="footerPlaceholder"></div>
484            </div>
485            <footer id="footer">
486                <div id="footerLinks" class="floatReverse">
487                    <div><span id="copyright">&#169; 2018 Microsoft</span><a id="home" class="pageLink footerLink " href="https://www.cmc.ca/">Home</a><a id="privacy" class="pageLink footerLink" href="https://www.cmc.ca/privacy-policy/">Privacy Policy</a><a id="helpDesk" class="pageLink footerLink" href="https://www.cmc.ca/support/">Support</a></div>
488                </div>
489            </footer>
490        </div>     
491    </div>
492    
492<script type='text/javascript'>
493//<![CDATA[
494// Copyright (c) Microsoft Corporation.  All rights reserved.
495
496// This file contains several workarounds on inconsistent browser behaviors that administrators may customize.
497"use strict";
498
499// iPhone email friendly keyboard does not include "\" key, use regular keyboard instead.
500// Note change input type does not work on all versions of all browsers.
501if (navigator.userAgent.match(/iPhone/i) != null) {
502    var emails = document.querySelectorAll("input[type='email']");
503    if (emails) {
504        for (var i = 0; i < emails.length; i++) {
505            emails[i].type = 'text';
506        }
507    }
508}
509
510// In the CSS file we set the ms-viewport to be consistent with the device dimensions, 
511// which is necessary for correct functionality of immersive IE. 
512// However, for Windows 8 phone we need to reset the ms-viewport's dimension to its original
513// values (auto), otherwise the viewport dimensions will be wrong for Windows 8 phone.
514// Windows 8 phone has agent string 'IEMobile 10.0'
515if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
516    var msViewportStyle = document.createElement("style");
517    msViewportStyle.appendChild(
518        document.createTextNode(
519            "@-ms-viewport{width:auto!important}"
520        )
521    );
522    msViewportStyle.appendChild(
523        document.createTextNode(
524            "@-ms-viewport{height:auto!important}"
525        )
526    );
527    document.getElementsByTagName("head")[0].appendChild(msViewportStyle);
528}
529
530// If the innerWidth is defined, use it as the viewport width.
531if (window.innerWidth && window.outerWidth && window.innerWidth !== window.outerWidth) {
532    var viewport = document.querySelector("meta[name=viewport]");
533    viewport.setAttribute('content', 'width=' + window.innerWidth + ', initial-scale=1.0, user-scalable=1');
534}
535
536// Gets the current style of a specific property for a specific element.
537function getStyle(element, styleProp) {
538    var propStyle = null;
539
540    if (element && element.currentStyle) {
541        propStyle = element.currentStyle[styleProp];
542    }
543    else if (element && window.getComputedStyle) {
544        propStyle = document.defaultView.getComputedStyle(element, null).getPropertyValue(styleProp);
545    }
546
547    return propStyle;
548}
549
550// The script below is used for downloading the illustration image 
551// only when the branding is displaying. This script work together
552// with the code in PageBase.cs that sets the html inline style
553// containing the class 'illustrationClass' with the background image.
554var computeLoadIllustration = function () {
555    var branding = document.getElementById("branding");
556    var brandingDisplay = getStyle(branding, "display");
557    var brandingWrapperDisplay = getStyle(document.getElementById("brandingWrapper"), "display");
558
559    if (brandingDisplay && brandingDisplay !== "none" &&
560        brandingWrapperDisplay && brandingWrapperDisplay !== "none") {
561        var newClass = "illustrationClass";
562
563        if (branding.classList && branding.classList.add) {
564            branding.classList.add(newClass);
565        } else if (branding.className !== undefined) {
566            branding.className += " " + newClass;
567        }
568        if (window.removeEventListener) {
569            window.removeEventListener('load', computeLoadIllustration, false);
570            window.removeEventListener('resize', computeLoadIllustration, false);
571        }
572        else if (window.detachEvent) {
573            window.detachEvent('onload', computeLoadIllustration);
574            window.detachEvent('onresize', computeLoadIllustration);
575        }
576    }
577};
578
579if (window.addEventListener) {
580    window.addEventListener('resize', computeLoadIllustration, false);
581    window.addEventListener('load', computeLoadIllustration, false);
582}
583else if (window.attachEvent) {
584    window.attachEvent('onresize', computeLoadIllustration);
585    window.attachEvent('onload', computeLoadIllustration);
586}
587
588// Function to change illustration image. Usage example below.
589function SetIllustrationImage(imageUri) {
590    var illustrationImageClass = '.illustrationClass {background-image:url(' + imageUri + ');}';
591
592    var css = document.createElement('style');
593    css.type = 'text/css';
594
595    if (css.styleSheet) css.styleSheet.cssText = illustrationImageClass;
596    else css.appendChild(document.createTextNode(illustrationImageClass));
597
598    document.getElementsByTagName("head")[0].appendChild(css);
599}
600
601// Example to change illustration image on HRD page after adding the image to active theme:
602// PSH> Set-AdfsWebTheme -TargetName <activeTheme> -AdditionalFileResource @{uri='/adfs/portal/images/hrd.jpg';path='.\hrd.jpg'}
603//
604//if (typeof HRD != 'undefined') {
605//    SetIllustrationImage('/adfs/portal/images/hrd.jpg');
606//}
607//]]>
608</script>
608
609
610
611    </body>
612</html> 
613

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.