-
Notifications
You must be signed in to change notification settings - Fork 0
/
MAX7219 LED Dot Matrix Display with Arduino.html
915 lines (848 loc) · 399 KB
/
MAX7219 LED Dot Matrix Display with Arduino.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
<!-- saved from url=(0068)https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/ -->
<html lang="en-GB"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><style class="vjs-styles-defaults">
.video-js {
width: 300px;
height: 150px;
}
.vjs-fluid:not(.vjs-audio-only-mode) {
padding-top: 56.25%
}
</style><style class="vjs-styles-dimensions">
.ez-video-outstream-dimensions {
width: 300px;
height: 168.75px;
}
.ez-video-outstream-dimensions.vjs-fluid:not(.vjs-audio-only-mode) {
padding-top: 56.25%;
}
</style>
<script src="./MAX7219 LED Dot Matrix Display with Arduino_files/quant.js.download" async="" type="text/javascript"></script><script async="" src="./MAX7219 LED Dot Matrix Display with Arduino_files/apstag.js.download"></script><script async="" type="text/javascript" src="./MAX7219 LED Dot Matrix Display with Arduino_files/f.txt"></script><script>window.__ezWillLoadCnx=1;</script>
<script>window.ezslots_raw=[];window.ezslotdivs={};var __sellerid='4d9aacca31739fa6367d5681b762f83c';var __schain_domain='lastminuteengineers.com';var __ez_nid ='1254144';</script>
<script data-ezscrex="false" data-cfasync="false" data-pagespeed-no-defer="">var __ez=__ez||{};__ez.stms=Date.now();__ez.evt={};__ez.script={};__ez.ck=__ez.ck||{};__ez.template={};__ez.template.isOrig=false;__ez.queue=function(){var e=0,i=0,t=[],n=!1,o=[],r=[],s=!0,a=function(e,i,n,o,r,s,a){var l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:window,d=this;this.name=e,this.funcName=i,this.parameters=null===n?null:p(n)?n:[n],this.isBlock=o,this.blockedBy=r,this.deleteWhenComplete=s,this.isError=!1,this.isComplete=!1,this.isInitialized=!1,this.proceedIfError=a,this.fWindow=l,this.isTimeDelay=!1,this.process=function(){f("... func = "+e),d.isInitialized=!0,d.isComplete=!0,f("... func.apply: "+e);var i=d.funcName.split("."),n=null,o=this.fWindow||window;i.length>3||(n=3===i.length?o[i[0]][i[1]][i[2]]:2===i.length?o[i[0]][i[1]]:o[d.funcName]),null!=n&&n.apply(null,this.parameters),!0===d.deleteWhenComplete&&delete t[e],!0===d.isBlock&&(f("----- F'D: "+d.name),u())}},l=function(e,i,t,n,o,r,s){var a=arguments.length>7&&void 0!==arguments[7]?arguments[7]:window,l=this;this.name=e,this.path=i,this.async=o,this.defer=r,this.isBlock=t,this.blockedBy=n,this.isInitialized=!1,this.isError=!1,this.isComplete=!1,this.proceedIfError=s,this.fWindow=a,this.isTimeDelay=!1,this.isPath=function(e){return"/"===e[0]&&"/"!==e[1]},this.getSrc=function(e){return void 0!==window.__ezScriptHost&&this.isPath(e)&&"banger.js"!==this.name?window.__ezScriptHost+e:e},this.process=function(){l.isInitialized=!0,f("... file = "+e);var i=this.fWindow?this.fWindow.document:document,t=i.createElement("script");t.src=this.getSrc(this.path),!0===o?t.async=!0:!0===r&&(t.defer=!0),t.onerror=function(){var e={url:window.location.href,name:l.name,path:l.path,user_agent:window.navigator.userAgent};"undefined"!=typeof _ezaq&&(e.pageview_id=_ezaq.page_view_id);var i=encodeURIComponent(JSON.stringify(e)),t=new XMLHttpRequest;t.open("GET","//g.ezoic.net/ezqlog?d="+i,!0),t.send(),f("----- ERR'D: "+l.name),l.isError=!0,!0===l.isBlock&&u()},t.onreadystatechange=t.onload=function(){var e=t.readyState;f("----- F'D: "+l.name),e&&!/loaded|complete/.test(e)||(l.isComplete=!0,!0===l.isBlock&&u())},i.getElementsByTagName("head")[0].appendChild(t)}},d=function(e,i){this.name=e,this.path="",this.async=!1,this.defer=!1,this.isBlock=!1,this.blockedBy=[],this.isInitialized=!0,this.isError=!1,this.isComplete=i,this.proceedIfError=!1,this.isTimeDelay=!1,this.process=function(){}};function c(e){!0!==h(e)&&0!=s&&e.process()}function h(e){if(!0===e.isTimeDelay&&!1===n)return f(e.name+" blocked = TIME DELAY!"),!0;if(p(e.blockedBy))for(var i=0;i<e.blockedBy.length;i++){var o=e.blockedBy[i];if(!1===t.hasOwnProperty(o))return f(e.name+" blocked = "+o),!0;if(!0===e.proceedIfError&&!0===t[o].isError)return!1;if(!1===t[o].isComplete)return f(e.name+" blocked = "+o),!0}return!1}function f(e){var i=window.location.href,t=new RegExp("[?&]ezq=([^&#]*)","i").exec(i);"1"===(t?t[1]:null)&&console.debug(e)}function u(){++e>200||(f("let's go"),m(o),m(r))}function m(e){for(var i in e)if(!1!==e.hasOwnProperty(i)){var t=e[i];!0===t.isComplete||h(t)||!0===t.isInitialized||!0===t.isError?!0===t.isError?f(t.name+": error"):!0===t.isComplete?f(t.name+": complete already"):!0===t.isInitialized&&f(t.name+": initialized already"):t.process()}}function p(e){return"[object Array]"==Object.prototype.toString.call(e)}return window.addEventListener("load",(function(){setTimeout((function(){n=!0,f("TDELAY -----"),u()}),5e3)}),!1),{addFile:function(e,i,n,s,a,d,h,f,u){var m=new l(e,i,n,s,a,d,h,u);!0===f?o[e]=m:r[e]=m,t[e]=m,c(m)},addDelayFile:function(e,i){var n=new l(e,i,!1,[],!1,!1,!0);n.isTimeDelay=!0,f(e+" ... FILE! TDELAY"),r[e]=n,t[e]=n,c(n)},addFunc:function(e,n,s,l,d,h,f,u,m,p){!0===h&&(e=e+"_"+i++);var w=new a(e,n,s,l,d,f,u,p);!0===m?o[e]=w:r[e]=w,t[e]=w,c(w)},addDelayFunc:function(e,i,n){var o=new a(e,i,n,!1,[],!0,!0);o.isTimeDelay=!0,f(e+" ... FUNCTION! TDELAY"),r[e]=o,t[e]=o,c(o)},items:t,processAll:u,setallowLoad:function(e){s=e},markLoaded:function(e){if(e&&0!==e.length){if(e in t){var i=t[e];!0===i.isComplete?f(i.name+" "+e+": error loaded duplicate"):(i.isComplete=!0,i.isInitialized=!0)}else t[e]=new d(e,!0);f("markLoaded dummyfile: "+t[e].name)}},logWhatsBlocked:function(){for(var e in t)!1!==t.hasOwnProperty(e)&&h(t[e])}}}();__ez.evt.add=function(e,t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent?e.attachEvent("on"+t,n):e["on"+t]=n()},__ez.evt.remove=function(e,t,n){e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent?e.detachEvent("on"+t,n):delete e["on"+t]};__ez.script.add=function(e){var t=document.createElement("script");t.src=e,t.async=!0,t.type="text/javascript",document.getElementsByTagName("head")[0].appendChild(t)};__ez.dot={};__ez.queue.addFile('/detroitchicago/boise.js', '/detroitchicago/boise.js?gcb=195-0&cb=2', true, [], true, false, true, false);__ez.queue.addFile('/parsonsmaize/abilene.js', '/parsonsmaize/abilene.js?gcb=195-0&cb=30', true, [], true, false, true, false);</script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/boise.js.download" async=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/abilene.js.download" async=""></script>
<script data-ezscrex="false" type="text/javascript" data-cfasync="false">window._ezaq = Object.assign({}, typeof window._ezaq !== "undefined" ? window._ezaq : {}, {"ad_cache_level":1,"domain_id":354895,"ezcache_level":2,"ezcache_skip_code":0,"has_bad_image":0,"has_bad_words":0,"is_sitespeed":0,"lt_cache_level":0,"page_view_id":"84e847a7-ff0e-4693-7ae9-a6df7a38669e","response_size_orig":94197,"response_time_orig":3,"template_id":134,"url":"https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/","word_count":2640,"worst_bad_word_level":0});__ez.queue.markLoaded('ezaqBaseReady');</script>
<script data-ezscrex="false" data-pagespeed-no-defer="" data-cfasync="false" type="text/javascript">__ez.jitver=1;</script>
<script>window.__ezaps=[{"slotID":"div-gpt-ad-lastminuteengineers_com-edge-2-0","divID":"","slotName":"/1254144,22763294119/lastminuteengineers_com-edge-2","sizes":[[160,600]]},{"slotID":"div-gpt-ad-lastminuteengineers_com-edge-1-0","divID":"","slotName":"/1254144,22763294119/lastminuteengineers_com-edge-1","sizes":[[160,600]]},{"slotID":"div-gpt-ad-lastminuteengineers_com-box-1-0","divID":"","slotName":"/1254144,22763294119/lastminuteengineers_com-box-1","sizes":[[300,250]]},{"slotID":"div-gpt-ad-lastminuteengineers_com-box-1-0_1","divID":"","slotName":"/1254144,22763294119/lastminuteengineers_com-box-1","sizes":[[300,250]]},{"slotID":"div-gpt-ad-lastminuteengineers_com-box-1-0_2","divID":"","slotName":"/1254144,22763294119/lastminuteengineers_com-box-1","sizes":[[300,250]]},{"slotID":"div-gpt-ad-lastminuteengineers_com-box-1-0_3","divID":"","slotName":"/1254144,22763294119/lastminuteengineers_com-box-1","sizes":[[300,250]]},{"slotID":"div-gpt-ad-lastminuteengineers_com-banner-2-0","divID":"","slotName":"/1254144,22763294119/lastminuteengineers_com-banner-2","sizes":[[336,280],[300,250]]},{"slotID":"div-gpt-ad-lastminuteengineers_com-medrectangle-2-0","divID":"","slotName":"/1254144,22763294119/lastminuteengineers_com-medrectangle-2","sizes":[[970,90],[728,90]]},{"slotID":"div-gpt-ad-lastminuteengineers_com-medrectangle-3-0","divID":"","slotName":"/1254144,22763294119/lastminuteengineers_com-medrectangle-3","sizes":[[728,90]]},{"slotID":"div-gpt-ad-lastminuteengineers_com-box-3-0","divID":"","slotName":"/1254144,22763294119/lastminuteengineers_com-box-3","sizes":[[728,90]]},{"slotID":"div-gpt-ad-lastminuteengineers_com-box-4-0","divID":"","slotName":"/1254144,22763294119/lastminuteengineers_com-box-4","sizes":[[580,400],[336,280],[300,250]]},{"slotID":"div-gpt-ad-lastminuteengineers_com-large-mobile-banner-1-0","divID":"","slotName":"/1254144,22763294119/lastminuteengineers_com-large-mobile-banner-1","sizes":[[250,250]]},{"slotID":"div-gpt-ad-lastminuteengineers_com-large-leaderboard-2-0","divID":"","slotName":"/1254144,22763294119/lastminuteengineers_com-large-leaderboard-2","sizes":[[300,250]]},{"slotID":"div-gpt-ad-lastminuteengineers_com-large-mobile-banner-2-0","divID":"","slotName":"/1254144,22763294119/lastminuteengineers_com-large-mobile-banner-2","sizes":[[728,90]]},{"slotID":"div-gpt-ad-lastminuteengineers_com-leader-1-0","divID":"","slotName":"/1254144,22763294119/lastminuteengineers_com-leader-1","sizes":[[336,280],[300,250]]},{"slotID":"div-gpt-ad-lastminuteengineers_com-banner-1-0","divID":"","slotName":"/1254144,22763294119/lastminuteengineers_com-banner-1","sizes":[[300,250]]},{"slotID":"div-gpt-ad-lastminuteengineers_com-leader-3-0","divID":"","slotName":"/1254144,22763294119/lastminuteengineers_com-leader-3","sizes":[[336,280],[300,250]]},{"slotID":"div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-1-0","divID":"","slotName":"/1254144,22763294119/lastminuteengineers_com-mobile-leaderboard-1","sizes":[[300,250]]},{"slotID":"div-gpt-ad-lastminuteengineers_com-medrectangle-4-0","divID":"","slotName":"/1254144,22763294119/lastminuteengineers_com-medrectangle-4","sizes":[[468,60]]},{"slotID":"div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-2-0","divID":"","slotName":"/1254144,22763294119/lastminuteengineers_com-mobile-leaderboard-2","sizes":[[300,250]]},{"slotID":"div-gpt-ad-lastminuteengineers_com-narrow-sky-1-0","divID":"","slotName":"/1254144,22763294119/lastminuteengineers_com-narrow-sky-1","sizes":[[336,280],[300,250]]},{"slotID":"div-gpt-ad-lastminuteengineers_com-narrow-sky-2-0","divID":"","slotName":"/1254144,22763294119/lastminuteengineers_com-narrow-sky-2","sizes":[[336,280],[300,250]]},{"slotID":"div-gpt-ad-lastminuteengineers_com-netboard-2-0","divID":"","slotName":"/1254144,22763294119/lastminuteengineers_com-netboard-2","sizes":[[300,250]]}];window.__ezapsVideo=[];window.__ezapid='aa05931b-5308-4ea3-95a2-adf84f4ffde4';</script>
<script data-ezscrex="false" async="" data-pagespeed-no-defer="" type="text/javascript" src="./MAX7219 LED Dot Matrix Display with Arduino_files/calgary.js.download"></script>
<script>!function(){var e=setInterval((function(){var t=document.querySelectorAll('[id^="outbrain_widget_"]');0!==t.length&&(function(e){e.forEach((function(e){if(e.parentElement.hasAttribute("data-ez-name")){var t=e.parentElement.attributes["data-ez-name"].value;new IntersectionObserver((function(e,i){e[0].isIntersecting&&(n({unit:t,name:"viewed"}),i.disconnect())}),{threshold:[1]}).observe(e);var i=e.attributes["data-widget-id"].value;window.OBREvents=window.OBREvents||[],OBREvents.push({event:"widgetDataReturned",widgetId:i,func:function(){n({unit:t,name:"loaded"})}})}}))}(t),clearInterval(e))}),250),t=[],i=setInterval((function(){"undefined"!=typeof __ez&&"undefined"!=typeof _ezim_d&&"undefined"!=typeof __ezDotData&&(o(),clearInterval(i))}),2500);function n(e){t.push(e),o()}var d="/porpoiseant/army.gif";function o(){var e,i;if(0!==t.length&&"undefined"!=typeof __ez&&"undefined"!=typeof _ezim_d&&"undefined"!=typeof __ezDotData)for(;t.length>0;){var n=t.shift(),o=(e=n.unit,i=n.name,[{type:"impression",impression_id:_ezim_d[e].full_id.split("/")[2],domain_id:window.did.toString(),unit:e,t_epoch:__ez.dot.getEpoch(0),ad_position:_ezim_d[e].position_id,country_code:__ez.dot.getCC(),pageview_id:__ez.dot.getPageviewId(),comp_id:2,data:__ez.dot.dataToStr([new __ezDotData(i,"1")]),is_orig:0}]),a=__ez.dot.getURL(d)+"?orig="+(!0===__ez.template.isOrig?1:0)+"&sts="+btoa(JSON.stringify(o));void 0!==window.ezWp&&ezWp&&void 0!==window._ezaq&&_ezaq.hasOwnProperty("visit_uuid")&&(a+="&visit_uuid="+window.visit_uuid),__ez.dot.Fire(a)}}}();</script>
<script async="" src="./MAX7219 LED Dot Matrix Display with Arduino_files/f(1).txt" crossorigin="anonymous"></script>
<script>window.ezhbopt=true;</script>
<script>window.ezpbCache=true;</script>
<link href="https://ad.doubleclick.net/" rel="dns-prefetch">
<link href="https://pagead2.googlesyndication.com/" rel="dns-prefetch">
<link href="https://googleads.g.doubleclick.net/" rel="dns-prefetch">
<link href="https://tpc.googlesyndication.com/" rel="dns-prefetch">
<link href="https://adservice.google.com/" rel="dns-prefetch">
<link href="https://secureads.g.doubleclick.net/" rel="dns-prefetch">
<link href="https://www.googletagservices.com/" rel="dns-prefetch">
<link rel="preload" as="script" href="./MAX7219 LED Dot Matrix Display with Arduino_files/f.txt">
<link rel="preload" as="script" href="https://go.ezodn.com/hb/dall.js?cb=195-0-68" onerror="window.ezDallErr=true">
<script type="text/javascript">
var __banger_pmp_deals=function(){var d={};return[{"SlotName":"/1254144,22763294119/lastminuteengineers_com-netboard-2","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-large-mobile-banner-2","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-leader-1","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-leader-2","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-edge-2","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-banner-1","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-edge-1","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-leader-3","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-box-1","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-leader-4","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-banner-2","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-mobile-leaderboard-1","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-medrectangle-1","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-medrectangle-4","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-medrectangle-2","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-mobile-leaderboard-2","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-narrow-sky-1","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-medrectangle-3","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-narrow-sky-2","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-box-3","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-netboard-1","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-box-4","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-large-mobile-banner-1","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-large-leaderboard-2","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-box-1","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-box-1","Deals":[]},{"SlotName":"/1254144,22763294119/lastminuteengineers_com-box-1","Deals":[]}]}();
</script>
<script type="text/javascript">_ebcids=[138231308856,138231308940,138231308949,138231387842,138231421744,138231421759,138231421774,138231421783,138231421789,138231421792,138242067587,138242067590,138242067602,138242067605,138242067608,138242067614,138242229406,138242229415,138242229421,138242229430];</script>
<script data-ezscrex="false" data-cfasync="false" data-pagespeed-no-defer="" type="text/javascript">var __ez_gcb="gcb=195-0&cb=123";"use strict";window.googletag=window.googletag||{};googletag.cmd=googletag.cmd||[];__ez.fads=window.__ez.fads||{cmd:[],initslots:{},kvStore:{},divs:[[],[],[],[],[],[],[]],divsd:[],fadcount:0,isJIT:true,};var ez_ad_units=ez_ad_units||[];var ezslots=[];var ezrpos=[];var ezsrqt={};var __ez_fad_haspo=false;var __ez_fad_hascp=false;if(typeof PerformanceObserver!=='undefined'&&typeof PerformanceObserver.supportedEntryTypes!=='undefined'){if(PerformanceObserver.supportedEntryTypes.indexOf('largest-contentful-paint')>-1){__ez_fad_haspo=true;}}
try{var __ez_fad_po=new PerformanceObserver(function(){window.__ez_fad_hascp=true;__ez.fads.cmd.push(function(){__ez.fads.__ez_fad_hascp=true;});});__ez_fad_po.observe({type:'largest-contentful-paint',buffered:true});}catch(e){console.log(e);}
if(typeof __ez_fad_position=='undefined'){function __ez_fad_position(id){if(typeof __ez!="undefined"&&typeof __ez.fads!="undefined"&&typeof __ez.fads.cmd!="undefined"){__ez.fads.cmd.push(function(){__ez.fads.__ez_fad_position(id);});}}}
function ezSetTargetingFromMap(slot,obj){if(typeof slot==='undefined'){return;}
for(var key in obj){if(!obj.hasOwnProperty(key)){continue;}
slot.setTargeting(key,obj[key]);}}
function ezSetSlotTargeting(divid,key,value){var slot=ezGetSlotById(divid);if(slot){slot.setTargeting(key,value);}else{if(typeof __ez.fads.kvStore[divid]==='undefined'){__ez.fads.kvStore[divid]={};}
__ez.fads.kvStore[divid][key]=value;}}
function ezGetSlotById(id){if(typeof window.ezslots==='undefined'||window.ezslots==0){return;}
for(var i=0;i<window.ezslots.length;i++){var slot=window[ezslots[i]];if(typeof slot==='undefined'){continue;}
var slotId=slot.getSlotElementId();if(typeof slotId!=='undefined'&&slotId==id){return slot;}}}
function __ez_close_anchor(){googletag.cmd.push(function(slot){for(var i=0;i<window.ezslots.length;i++){var slot=window[ezslots[i]];if(typeof slot==='undefined'){continue;}
var alS=slot.getTargeting('al')[0]%1000;if(alS==5){googletag.destroySlots([slot]);}}
if(typeof window.ezdomain!=='undefined'){var d=new Date();d.setTime(d.getTime()+(2*60*60*1000));var expires="expires="+d.toGMTString();var cookie="ez_anchor_closed=true;domain=."+ezdomain+';'+expires+"; path=/";document.cookie=cookie;}
if(typeof(__ez_set_outstream_floor)!=='undefined'){__ez_set_outstream_floor(0);}
var anchor=document.getElementById('ezmobfooter');if(!anchor){return;}
anchor.innerHTML='';anchor.style.paddingTop=0;var styleElement=document.getElementById('ezoicCSS');if(!styleElement){return;}
var cert=document.getElementById('ezoic-certification-fixed');if(cert){cert.style.bottom='15px';}
var styles=styleElement.sheet?styleElement.sheet:styleElement.styleSheet;for(var i=0;i<styles.cssRules.length;i++){var rules=styles.cssRules[i];if(rules.selectorText==='body'&&rules.style.height==='auto'&&(rules.style.paddingTop!==''||rules.style.paddingBottom!=='')){styles.deleteRule(i);}}});}__ez.fads=(__ez.fads&&__ez.fads.loaded===true)?__ez.fads:{cmd:typeof window.__ez.fads!="undefined"?window.__ez.fads.cmd||[]:[],logEnabled:false,doc_ht:0,vp_ht:0,loaded:true,isJIT:true,libraryRoot:'https://go.ezodn.com/porpoiseant/',scrollMonitor:{loaded:false,url:'ezjitscroll.js'},positionMonitor:{loaded:false,url:'ezjitpos.js'},adLoadGAM:{loaded:false,url:'ezadloadgam.js'},adLoadAMZN:{loaded:false,url:'ezadloadamzn.js'},adLoadAS:{loaded:false,url:'ezadloadas.js'},adLoadHB:{loaded:false,url:'ezadloadhb.js'},adFilled:{loaded:false,url:'ezadfilled.js'},incontentSticky:{loaded:false,url:'ezicsticky.js'},libraries:['positionMonitor','scrollMonitor','adLoadGAM','adLoadAMZN','adLoadAS','adLoadHB','incontentSticky','adFilled'],librariesLoading:[],libraryCmds:{},kvStore:typeof window.__ez.fads!="undefined"?window.__ez.fads.kvStore||{}:{},addedDivs:[],floatingAdsShown:false,loadTime:new Date().getTime(),onScreenDelay:0,isInit:false,triggerFloatingOnAdd:false,eligibleRefreshAds:[],onScreenDivs:[],onScreenLoadStatus:0,callGAMOnAuctionComplete:[],initslots:typeof window.__ez.fads!="undefined"?window.__ez.fads.initslots||{}:{},divsd:typeof window.__ez.fads!="undefined"?window.__ez.fads.divsd||[]:[],divsdExt:[],version:1,__ez_fad_haspo:window.__ez_fad_haspo||false,__ez_fad_hascp:window.__ez_fad_hascp||false,init:function(){if(this.isInit){return;}
this.isInit=true;this.doc_ht=this.__ez_fad_docht();this.vp_ht=this.__ez_fad_vpht();if(typeof window.__ez.jitver!='undefined'){this.version=window.__ez.jitver;}
if(this.__ez_fad_scroll()>0){this.handleScroll();}
if(this.cmd.length>0){for(var i=0;i<this.cmd.length;i++){if(typeof this.cmd[i]==='function'){this.cmd[i]();}}}
this.cmd={push:function(f){f();}};this.initalizePositions();if(this.version==10){this.onScreenDelay=500;}
this.initOnScreenFallbacks();},reset:function(){this.loadTime=new Date().getTime();this.divsd=[];this.addedDivs=[];this.callLibrary('positionMonitor','reset');this.callLibrary('scrollMonitor','reset');this.callLibrary('adLoadGAM','reset');this.callLibrary('adLoadAMZN','reset');this.callLibrary('adLoadAS','reset');this.callLibrary('adLoadHB','reset');this.callLibrary('incontentSticky','reset');},loadLibrary:function(url,name){if(this.librariesLoading.indexOf(name)==-1&&typeof this[name]!="undefined"&&this[name].loaded!==true){if(document==null||typeof document.body=='undefined'||document.body==null){setTimeout(function(){__ez.fads.loadLibrary(url,name);},100);return;}
this.librariesLoading.push(name);var script=document.createElement('script');script.src=this.libraryRoot+url+"?"+this.getCacheBustParams();script.async=true;script.onload=function(){__ez.fads.LibraryLoaded(name);};document.body.appendChild(script);}},LibraryLoaded:function(name){if(this.libraries.indexOf(name)==-1){return;}
this[name].loaded=true;if(typeof this[name].init==='function'){this[name].init(this.vp_ht,this.doc_ht,this.version);}
this.runLibraryCmds(name);},runLibraryCmds:function(name){if(typeof this.libraryCmds[name]!=='undefined'){for(var i=0;i<this.libraryCmds[name].length;i++){this.libraryCmds[name][i]();}
this.libraryCmds[name]=[];}},callLibrary:function(name,func,args,skipLibraryLoad){if(typeof args!='undefined'&&typeof args.length=='undefined'){args=[args];}
if(this.libraries.indexOf(name)==-1){return;}
if(typeof this[name]!='undefined'&&this[name].loaded==true&&typeof this[name][func]=='function'){return this[name][func].apply(this[name],args);}else{this.libraryCmds[name]=this.libraryCmds[name]||[];this.libraryCmds[name].push(function(){__ez.fads[name][func].apply(__ez.fads[name],args);});if(skipLibraryLoad!==true){this.loadLibrary(this[name].url,name);}}},__ez_fad_docht:function(){return document.documentElement.scrollHeight},__ez_fad_vpht:function(){if(typeof window.innerHeight!='undefined'){return window.innerHeight;}
if(typeof document.documentElement!='undefined'){return document.documentElement.clientHeight;}
var body=typeof document.body!='undefined'&&document.body!=null?document.body:document.getElementsByTagName('body')[0];var screenHeight=typeof window.screen!='undefined'?window.screen.height:0;return Math.min(body.clientHeight,screenHeight)||0;},__ez_fad_scroll:function(){return window.pageYOffset||(document.documentElement||document.body.parentNode||document.body).scrollTop},getCacheBustParams:function(){if(typeof window.__ez_gcb=='undefined'){var d=new Date();gcb='gcb='+d.getFullYear()+d.getMonth()+d.getDate()+d.getHours();cb='0';return gcb+"&"+cb;}else{return window.__ez_gcb}},initalizePositions:function(){if(typeof window.ez_ad_units=='undefined'){setTimeout(function(){__ez.fads.initalizePositions();},100);return;}
for(var i=0;i<window.ez_ad_units.length;i++){var unit=window.ez_ad_units[i];this.__ez_fad_position('div-gpt-ad-'+unit[6]);}},SetViewportHeight:function(viewportHeight){this.vp_ht=viewportHeight;this.callLibrary('positionMonitor','setViewportHeight',[viewportHeight]);},SetDocumentHeight:function(documentHeight){this.doc_ht=documentHeight;this.callLibrary('positionMonitor','setDocumentHeight',[documentHeight]);},handleScroll:function(){this.callLibrary('scrollMonitor','SetAdLoadFunctions',[this.__ez_fad_load.bind(this)]);this.loadFloatingAds(800);this.callLibrary('incontentSticky','CheckIncontentSticky',[]);},__ez_fad_position:function(id){if(this.addedDivs.indexOf(id)!=-1){return;}
this.callLibrary('positionMonitor','AddDiv',[id,4],true);this.__ez_fad_add(id);if(!this.isFloating(id)&&this.isOnScreen(id)){this.log("intial div on screen",id);}else if(this.onScreenLoadStatus==0){setTimeout(function(){this.loadOnScreenAds();}.bind(this),200);this.onScreenLoadStatus=1;}},initOnScreenFallbacks:function(){setTimeout(function(){if(__ez.fads.onScreenLoadStatus==false){__ez.fads.loadOnScreenAds(true);}},2000);if(this.__ez_fad_rdy()==false){document.addEventListener('DOMContentLoaded',function(){__ez.fads.loadOnScreenAds();}.bind(this));}},loadOnScreenAds:function(force){if(this.onScreenLoadStatus==2){return;}
this.log("start on screen load");var floatAds=window.__ez_fad_floating||[];var divs=this.onScreenDivs.concat(floatAds);divs=divs.filter(function(value,index,self){return self.indexOf(value)===index;});this.log("on screen divs",divs);if(divs.length>0){this.markIdsAsRunGAMOnAuctionComplete(divs);this.onScreenLoadStatus=2;setTimeout(function(){this.loadAdsWaitForExternal(divs);}.bind(this),this.onScreenDelay);}},loadAdsWaitForExternal:function(ids,isInitailLoad){if(this.adLoadHB.loaded==true){var auctionIds=this.adLoadHB.FilterByAuctionEligible(ids);}else{var auctionIds={eligible:ids,notEligible:[],running:[]};}
if(auctionIds.eligible.length>0){this.markIdsAsRunGAMOnAuctionComplete(auctionIds.eligible);this.callExternalBidders(auctionIds.eligible,true);}
if(auctionIds.notEligible.length>0){if(isInitailLoad){this.callLibrary('adLoadGAM','LoadAd',[auctionIds.notEligible]);}else{this.refreshAds(auctionIds.notEligible);}}
if(auctionIds.running.length>0){var loadIds=[];for(var i=0;i<auctionIds.running.length;i++){if(this.isGAMOnAuctionComplete(auctionIds.running[i])==false){loadIds.push(auctionIds.running[i]);}}
if(loadIds.length>0){setTimeout(function(){if(isInitailLoad){this.callLibrary('adLoadGAM','LoadAd',[loadIds]);}else{this.refreshAds(loadIds);}},1000);}}},isOnScreen:function(id){var elem=document.getElementById(id);var isOn=(elem=document.getElementById(id))?elem.getBoundingClientRect().top<window.innerHeight&&elem.getBoundingClientRect().bottom>0&&elem.offsetParent!=null:false;if(isOn||this.isFloating(id)){if(this.onScreenDivs.indexOf(id)==-1){this.onScreenDivs.push(id);}}else{if(this.onScreenDivs.indexOf(id)!=-1){this.onScreenDivs.splice(this.onScreenDivs.indexOf(id),1);}}},LoadAds:function(ids,force,waitForExternal){for(var i=0;i<ids.length;i++){this.LoadAd(ids[i],force,waitForExternal);}},LoadAd:function(id,force,waitForExternal){if(!force&&!this.__ez_fad_rdy()){setTimeout(function(){__ez.fads.LoadAd(id,force,waitForExternal);},50);return;}
if(__ez.fads.divsd.indexOf(id)==-1){this.log("loading ad",id,force,waitForExternal);__ez.fads.divsd.push(id);if(this.handleAdsense(id)){this.removeLoadingIcon(id);return;}
this.loadLibrary(this.adLoadGAM.url,'adLoadGAM');if(waitForExternal==true){this.loadAdsWaitForExternal([id],true);}else{this.callExternalBidders(id);this.callLibrary('adLoadGAM','LoadAd',[id]);}}else if(this.isEligibleAdRefresh(id)){this.refreshAds([id]);}else{}},refreshAds:function(ids){this.log("Calling adLoadGAM RefreshAds",ids);this.callLibrary('adLoadGAM','RefreshAds',[ids]);for(var i=0;i<ids.length;i++){this.removeEligibleAdRefresh(ids[i]);}},removeLoadingIcon:function(id){var adDiv=document.getElementById(id);if(adDiv){adDiv.classList.remove("ezoic-adl");}},isFloating:function(id){if(typeof __ez_fad_floating!='undefined'&&__ez_fad_floating.indexOf(id)!=-1){return true;}
return false;},callExternalBidders:function(ids,force){if(!Array.isArray(ids)){ids=[ids];}
if(force!==true){var ids=ids.filter(function(id){return __ez.fads.divsdExt.indexOf(id)==-1||__ez.fads.isEligibleAdRefresh(id)==true;});}
if(ids.length==0){this.log("no ids left to call external bidders",ids);return;}
this.divsdExt=this.divsdExt.concat(ids);var br1s=this.getRawSlotsById(ids,'br1');this.log("call external bidders",ids);this.callLibrary('adLoadHB','LoadAd',[ids,0,br1s]);if(typeof window.__ezaps!='undefined'&&window.__ezaps.length>0||typeof __ez_hasamzn!='undefined'&&__ez_hasamzn==true){this.callLibrary('adLoadAMZN','LoadAd',[ids,0,br1s]);}
if(typeof openwrapRefreshSlot==='function'){for(var i=0;i<ids.length;i++){if(this.eligibleRefreshAds.indexOf(ids[i])!=-1){var slot=this.adLoadGAM.GetSlotById(ids[i]);if(typeof slot!='undefined'){this.log("refreshing openwrap",ids[i]);openwrapRefreshSlot(slot);}}}}},SetGAMTargeting:function(id,key,value){this.callLibrary('adLoadGAM','SetTargeting',[id,key,value]);},getRawSlotsById:function(ids,key){var rawSlots={};if(typeof window.ezslots_raw!='undefined'){for(var i=0;i<ids.length;i++){var id=ids[i];var slotId=id.split('div-gpt-ad-')[1].split('-',3).join('-');for(var s in window.ezslots_raw){if(typeof window.ezslots_raw[s].tap!="undefined"&&window.ezslots_raw[s].tap.includes(slotId)){rawSlots[id]=window.ezslots_raw[s];}}}
if(key!=null){for(var k in rawSlots){rawSlots[k]=rawSlots[k][key];}}}
return rawSlots;},AdLoadComplete:function(library,ids){this.log("ad load complete",library,ids);if(library=='adLoadHB'){var loadIds=[];var refreshIds=[];for(var i=0;i<ids.length;i++){if(this.isGAMOnAuctionComplete(ids[i])){if(this.eligibleRefreshAds.indexOf(ids[i])!=-1){refreshIds.push(ids[i]);}else{loadIds.push(ids[i]);}
this.removeGAMOnAuctionComplete(ids[i]);}else{this.log("not calling GAM on auction complete for",ids[i]);}}
this.log("load ids",loadIds,"refresh ids",refreshIds);if(loadIds.length>0){this.callLibrary('adLoadGAM','LoadAd',[loadIds]);}
if(refreshIds.length>0){this.refreshAds(refreshIds);}}},AdFilled:function(id){this.callLibrary('adFilled','AdFilled',[id]);},__ez_fad_load:function(adLoadBounds,force){if(!force&&!this.__ez_fad_rdy()){return;}
if(this.positionMonitor.loaded==false){this.loadLibrary(this.positionMonitor.url,'positionMonitor');setTimeout(function(){__ez.fads.__ez_fad_load(adLoadBounds,force);},50);return;}
var divs=this.positionMonitor.getPositionsSorted();var s=[];var loadIds=[];var externalIds=[];for(var i=0;i<divs.length;i++){if(this.divsd.indexOf(divs[i])!=-1&&this.isEligibleAdRefresh(divs[i])==false){continue;}
if(this.positionMonitor.isInBounds(divs[i][0],adLoadBounds)){loadIds.push(divs[i][0]);}else if(this.positionMonitor.isInBounds(divs[i][0],adLoadBounds,true)){externalIds.push(divs[i][0]);}}
if(loadIds.length>0){for(var i=0;i<loadIds.length;i++){this.LoadAd(loadIds[i],force,true);}}
if(externalIds.length>0){this.callExternalBidders(externalIds);}},handleAdsense:function(id){var ezslotName=window.ezslotdivs&&ezslotdivs[id]&&ezslotdivs[id].slot;if(typeof ezslotName!='undefined'){var rawTargeting=window[ezslotName+'_raw'];if(rawTargeting&&rawTargeting['compid']=='1'){if(typeof window.ezasBuild==='function'&&window.ezasBuild(id)){this.log("built adsense on ",id);__ez.fads.divsd.push(id);return true;}
rawTargeting['compid']='0';}}
return false},addEligibleAdRefresh:function(id){if(this.eligibleRefreshAds.indexOf(id)==-1){this.eligibleRefreshAds.push(id);}},removeEligibleAdRefresh:function(id){if(this.eligibleRefreshAds.indexOf(id)!=-1){this.eligibleRefreshAds.splice(this.eligibleRefreshAds.indexOf(id),1);}},isEligibleAdRefresh:function(id){return this.eligibleRefreshAds.indexOf(id)!=-1;},addGAMOnAuctionComplete:function(id){if(this.callGAMOnAuctionComplete.indexOf(id)===-1){this.callGAMOnAuctionComplete.push(id);}},removeGAMOnAuctionComplete:function(id){var index=this.callGAMOnAuctionComplete.indexOf(id);if(index!==-1){this.callGAMOnAuctionComplete.splice(index,1);}},isGAMOnAuctionComplete:function(id){return this.callGAMOnAuctionComplete.indexOf(id)!==-1;},markIdsAsRunGAMOnAuctionComplete:function(ids){for(var i=0;i<ids.length;i++){if(!this.isGAMOnAuctionComplete(ids[i])){this.addGAMOnAuctionComplete(ids[i]);}
if(this.divsd.indexOf(ids[i])==-1){this.divsd.push(ids[i]);}}},RefreshAd:function(id,skipExternal){this.log("refresh ad",id);this.callLibrary('adLoadGAM','resetTargeting',[id]);this.addEligibleAdRefresh(id);if(skipExternal!==true){this.callExternalBidders(id);this.addGAMOnAuctionComplete(id);}else{this.LoadAd(id,true,false);}},ShouldResize:function(id){if(this.isOnScreen(id)){return false;}
return true;},ShouldRefresh:function(id){if(!this.isFloating(id)&&!this.isOnScreen(id)){return false;}
return true;},ShouldBang:function(id){if(!this.isFloating(id)){if(!this.isOnScreen(id)&&this.positionMonitor.loaded&&this.scrollMonitor.loaded&&this.positionMonitor.isInBounds(id,this.scrollMonitor.GetAdLoadBounds(),true)==false){this.log("not in bounds for bang",id,this.isOnScreen(id),this.positionMonitor.isInBounds(id,this.scrollMonitor.GetAdLoadBounds()));this.addEligibleAdRefresh(id);return false;}else{this.log("in bounds for bang",id);}}
return true;},loadFloatingAds:function(timeout,force){this.log("load floating ads",timeout,force);if(this.__ez_fad_rdy()||force){if(!this.floatingAdsShown&&typeof window.__ez_fad_floating!=='undefined'&&window.__ez_fad_floating.length>0){this.floatingAdsShown=true;setTimeout(function(){window.__ez.fads.callLibrary('adLoadGAM','ShowFloatingAds');},timeout);}else if(!this.floatingAdsShown){this.triggerFloatingOnAdd=true;}}},FloatingAdded:function(){if(this.onScreenLoadStatus==2){this.loadFloatingAds(0,true);}},__ez_fad_add:function(id){if(this.addedDivs.indexOf(id)==-1){this.addedDivs.push(id);}},GetInteractionEvents:function(){return["scroll","mousedown","keydown","touchstart","pointerdown"];},__ez_fad_rdy:function(){if(document.body!==null&&(this.__ez_fad_haspo==false&&this.doc_ht>this.vp_ht||this.__ez_fad_hascp)||document.readyState!="loading"){return true;}else{this.doc_ht=this.__ez_fad_docht();this.vp_ht=this.__ez_fad_vpht();}
return false;},log:function(){if(__ez.fads.logEnabled){let args=Array.from(arguments);args.unshift(new Date().toTimeString().split(" ")[0].split(":").slice(0,3).join(":"));args.unshift('%c🧠 ezjit::');args.splice(1,0,'color: #5FA624;');console.log.apply(console,args);}},};__ez.fads.init();__ez.fads.interactionEvents=__ez.fads.GetInteractionEvents();function __ez_handle_init_scroll(e){__ez.fads.handleScroll();for(var i=0;i<__ez.fads.interactionEvents.length;i++){window.removeEventListener(__ez.fads.interactionEvents[i],__ez_handle_init_scroll);}}
for(var i=0;i<__ez.fads.interactionEvents.length;i++){window.addEventListener(__ez.fads.interactionEvents[i],__ez_handle_init_scroll);}
function __ez_hb_render(id){setTimeout(function(){window.top.epbjs.renderAd(document,id);},10);}__ez.fads.adLoadGAM=(__ez.fads.adLoadGAM&&__ez.fads.adLoadGAM.loaded===true)?__ez.fads.adLoadGAM:{loaded:true,floatingAdsShown:false,slotsDone:[],slotKV:{},isInit:false,floatingStyleLoaded:false,bangerName:'IL11ILILIIlLLLILILLLLIILLLIIL11111LLILiiLIliLlILlLiiLLIiILL',version:1,refreshTargetingResetParams:{'hb_bidder':'','hb_adid':'','hb_pb':'','hb_opt':'','nam':'','pwtsid':'','pwtbst':'','hb_ssid':'','hb_format':'','hb_rt':'','epb':'','epa':'','epp':'','eps':'','epf':'','amznbid':'','amzniid':'','amznp':'','amznsz':'','r_amznbid':'','r_amzniid':'','r_amznp':''},log:__ez.fads.log,hbAsFloorThreshold:0.75,hbAsFloorCap:10.0,init:function(viewportHeight,documentHeight,version){if(this.isInit){return;}
this.version=version;this.isInit=true;if(this.version==11){this.hbAsFloorThreshold=0.5;}
if(this.version==12){this.hbAsFloorThreshold=0.25;this.hbAsFloorCap=2.00;}
if(this.version!=4){this.LoadGPT();}
__ez.fads.LibraryLoaded("adLoadGAM");},reset:function(){this.floatingAdsShown=false;this.slotsDone=[];this.slotKV={}},RefreshAds:function(ids){if(!Array.isArray(ids)){ids=[ids];}
if(typeof window[this.bangerName]!='undefined'){for(var i=0;i<ids.length;i++){var id=ids[i];if(__ez.fads.adLoadHB.loaded===true){__ez.fads.adLoadHB.SetAdBid(id);}
this.adjustFloor(id);this.adjustFloorToExtBid(id);window[this.bangerName].RefreshById(id);}}else{setTimeout(function(){__ez.fads.adLoadGAM.RefreshAds(ids)},100);}},replaceOpenwrapBid:function(slot,hb_bid){var ow_bid=slot.getTargeting('ow_hb_opt')[0];if(typeof ow_bid==='undefined'||ow_bid===''||isNaN(ow_bid)){return false;}
ow_bid=parseFloat(ow_bid);if(ow_bid>hb_bid){this.log("adjustFloorToHBBid: openwrap bid is higher",slot.getSlotElementId(),ow_bid,hb_bid);var targetingParams=slot.getTargetingMap();for(var key in targetingParams){if(key.startsWith('ow_hb_')){var newKey='hb_'+key.slice(6);slot.setTargeting(newKey,targetingParams[key][0]);this.log("adjustFloorToHBBid: setting targeting",slot.getSlotElementId(),newKey,targetingParams[key][0]);}}
return ow_bid;}
return false;},adjustFloor:function(id){if(__ez.fads.adFilled.loaded!==true){this.log("adjustFloor: adFilled not loaded",id);return;}
var percentOfMax=1.0;if(this.version==13){percentOfMax=1.0;}else if(this.version==14){percentOfMax=2.0;}else{return;}
var maxFloor=__ez.fads.adFilled.GetMaxFloor(id,percentOfMax,2);this.log("adjustFloor: max floor",id,maxFloor);if(maxFloor!==false){var slot=this.GetSlotById(id);var floor=this.getFloor(slot);this.log("adjustFloor: max floor",id,maxFloor,floor);if(floor>maxFloor){this.setFloor(slot,maxFloor);}}},adjustFloorToExtBid:function(id){var bidType='hb';var slot=this.GetSlotById(id);if(slot==null){return;}
var hb_bid=slot.getTargeting('hb_opt')[0];if(typeof hb_bid==='undefined'||hb_bid===''||isNaN(hb_bid)){return;}
hb_bid=parseFloat(hb_bid);var openWebResult=this.replaceOpenwrapBid(slot,hb_bid);if(openWebResult!==false){hb_bid=openWebResult;bidType='ow';}
var floor=this.getFloor(slot);this.log("adjustFloorToHBBid: header bid vs floor!",id,"hb_bid:",hb_bid,"floor:",floor);if(hb_bid>(floor*this.hbAsFloorThreshold)||hb_bid>this.hbAsFloorCap){this.setFloor(slot,hb_bid,bidType);}},getFloor(slot){if(!slot){return 0;}
var floor=parseInt(slot.getTargeting('br1')[0]);if(typeof floor==='undefined'||floor===''||isNaN(floor)){return 0;}
return floor/100;},setFloor(slot,floor,bidType){if(!slot){return;}
var GAMAccount=slot.getTargeting('ga')[0];var formattedFloor=this.formatBid(floor,GAMAccount);if(window.ezoibfh.hasOwnProperty(formattedFloor)){var bidFloorHash=window.ezoibfh[formattedFloor];}
this.log("adjustFloorToHBBid: setting floor for ",slot.getSlotElementId(),floor,formattedFloor,bidFloorHash,slot.getTargeting('hb_rt')[0]);if(typeof bidFloorHash!=='undefined'){slot.setTargeting('br1',formattedFloor);slot.setTargeting('eb_br',bidFloorHash);if(bidType=='ow'){this.log("adjustFloorToHBBid: activating openwrap line item",slot.getSlotElementId());slot.setTargeting('pwtbst','1');slot.setTargeting('nam','');}else if(bidType=='hb'){this.log("adjustFloorToHBBid: activating prebid line item",slot.getSlotElementId());slot.setTargeting('nam','1');slot.setTargeting('pwtbst','');}else{slot.setTargeting('pwtbst','');slot.setTargeting('nam','');}}},LoadAd:function(ids,attempt){if(!Array.isArray(ids)){ids=[ids];}
var idsToDo=[];for(var i=0;i<ids.length;i++){if(this.slotsDone.indexOf(ids[i])==-1){idsToDo.push(ids[i]);}}
ids=idsToDo;if(ids.length<1){return;}
if(attempt<1){attempt=1;}else if(attempt>100){return;}
this.slotsDone=this.slotsDone.concat(ids);googletag.cmd.push(function(){if(googletag.pubadsReady!==true){setTimeout(function(){__ez.fads.adLoadGAM.SlotsNotDone(ids);__ez.fads.adLoadGAM.LoadAd(ids,attempt+1)},100);return;}
var gamSlots=[];for(var i=0;i<ids.length;i++){var id=ids[i];var slot=__ez.fads.adLoadGAM.GetSlotById(id);if(slot==null){if(!__ez.fads.initslots.hasOwnProperty(id)){__ez.fads.log("id does not exist in initslots",id);continue;}
var slot_id=__ez.fads.initslots[id](5);var slot=window[slot_id];}
if(parseInt(slot.getTargeting('al')[0])%1000==5){__ez.fads.adLoadGAM.showFloatingStyle();}
if(document.getElementById(slot.getSlotElementId())===null){__ez.fads.log("gam slot element isn't on the page",id,slot.getSlotElementId());setTimeout(function(){__ez.fads.adLoadGAM.SlotsNotDone(id);__ez.fads.adLoadGAM.LoadAd(id,attempt+1)},100);continue;}else{googletag.display(slot.getSlotElementId());if(typeof window.ezoResponsiveSizes!='undefined'&&typeof slot!='undefined'&&slot!=null&&slot.getTargeting('al')[0]!='1005'&&slot.getTargeting('al')[0]!='3005'){var sizeString=__ez.fads.adLoadGAM.buildSlotResponsiveSizes(slot.getSlotElementId());if(sizeString!==''){__ez.fads.adLoadGAM.adjustResponsiveDiv(slot.getSlotElementId());slot.defineSizeMapping(sizeString);}}
if(typeof window.__ezWillLoadCnx!=='undefined'&&typeof slot!='undefined'&&slot!=null&&slot.getTargeting('al')[0]=='1039'){__ez.fads.adLoadGAM.loadConnatix(slot);continue;}
if(__ez.fads.adLoadHB.loaded===true){__ez.fads.adLoadHB.SetAdBid(id);}
__ez.fads.adLoadGAM.setQueuedTargeting(id);__ez.fads.adLoadGAM.adjustFloor(id);__ez.fads.adLoadGAM.adjustFloorToExtBid(id);gamSlots.push(slot);}}
__ez.fads.log("initial loading gam slots",ids,gamSlots);if(gamSlots.length>0){googletag.pubads().refresh(gamSlots);}});if(this.floatingAdsShown!==true){setTimeout(window.__ez.fads.loadFloatingAds(0,true),0);}},GetTargeting:function(id,key){var slot=this.GetSlotById(id);if(slot){return slot.getTargeting(key);}
return[];},GetStatSourceId:function(id){var slot=this.GetSlotById(id);if(slot){if(slot.getTargeting('nam')[0]=='1'){return parseInt(slot.getTargeting('hb_ssid')[0]);}else{return 35;}}
return 0;},SlotsNotDone:function(ids){for(var i=0;i<ids.length;i++){var index=this.slotsDone.indexOf(ids[i]);if(index>-1){this.slotsDone.splice(index,1);}}},ShowFloatingAds:function(){if(this.floatingAdsShown===true||typeof __ez_fad_floating==='undefined'||__ez_fad_floating.length<1){return;}
this.floatingAdsShown=true;this.showFloatingStyle();this.LoadAd(__ez_fad_floating);},showFloatingStyle:function(){if(this.floatingStyleLoaded){return;}
this.floatingStyleLoaded=true;var e=document.getElementById('ezmobfooter');if(e!=null){e.classList.add('ezmobtrans');}else{var head=document.head||document.getElementsByTagName('head')[0];var style=document.createElement('style');head.appendChild(style);var css="body > #ezmobfooter{bottom:0px;visibility:visible;}";style.type='text/css';if(style.styleSheet){style.styleSheet.cssText=css;}else{style.appendChild(document.createTextNode(css));}}},loadConnatix:function(slot){window.__ezsbwcmd=window.__ezsbwcmd||[];var sr=[slot];window.__ezsbwcmd.push(function(){if(typeof __ezcnxPlayer==='undefined'||!__ezcnxPlayer.getSize()){googletag.pubads().refresh(sr);}else{__ezcnxPlayer.once('removed',function(){googletag.pubads().refresh(sr);});}});},SetTargeting:function(id,key,value){var slot=this.GetSlotById(id);if(slot){slot.setTargeting(key,value);if(this.slotKV[id]&&this.slotKV[id][key]){delete this.slotKV[id][key];}}else{this.slotKV[id]=this.slotKV[id]||{};this.slotKV[id][key]=value;}},resetTargeting:function(id){var slot=this.GetSlotById(id);if(slot){slot.updateTargetingFromMap(this.refreshTargetingResetParams);}},setQueuedTargeting:function(id){if(this.slotKV[id]){var slot=this.GetSlotById(id);if(slot){for(var key in this.slotKV[id]){slot.setTargeting(key,this.slotKV[id][key]);}}}},GetSlotById:function(n){if(typeof googletag=='undefined'||typeof googletag.pubads!='function'||typeof googletag.pubads().getSlots!='function'){return;}
var slots=googletag.pubads().getSlots();for(var i=0;i<slots.length;i++){if(slots[i].getSlotElementId()==n){return slots[i];}}},LoadGPT:function(){!function(){var t=document.createElement("script");t.async=!0,t.type="text/javascript";var e="https:"==document.location.protocol;t.src=(e?"https:":"http:")+"//securepubads.g.doubleclick.net/tag/js/gpt.js";var c=document.getElementsByTagName("script")[0];c.parentNode.insertBefore(t,c)}();},buildSlotResponsiveSizes:function(domID){var gptSizeMapping=googletag.sizeMapping();if(typeof window.ezoResponsiveSizes==='undefined'||typeof window.ezoResponsiveSizes[domID]==='undefined'){return false}
window.ezoResponsiveSizes[domID].responsiveSizes.sort(function(a,b){var largerWidth=a.minWidth>b.minWidth;var equalWidth=a.minWidth===b.minWidth;var largerHeight=a.minHeight>b.minHeight;if(largerWidth)return-1;if(equalWidth&&largerHeight)return-1;return 0;});if(window.ezoResponsiveSizes[domID].responsiveSizes){var hasSizesAtZero=false;for(var sizeIdx=0;sizeIdx<window.ezoResponsiveSizes[domID].responsiveSizes.length;sizeIdx++){var sizeDirective=window.ezoResponsiveSizes[domID].responsiveSizes[sizeIdx];if(sizeDirective.minWidth===0&&sizeDirective.minHeight===0){hasSizesAtZero=true;}
gptSizeMapping.addSize([sizeDirective.minWidth,sizeDirective.minHeight],sizeDirective.sizes);}
if(!hasSizesAtZero){gptSizeMapping.addSize([0,0],[]);}}else{return false;}
var mapping=gptSizeMapping.build();if(mapping.length<1){return false;}else{return mapping;}},adjustResponsiveDiv:function(divID){if(!window.ezoResponsiveSizes||!window.ezoResponsiveSizes[divID]){return;}
var adDiv=document.getElementById(divID);if(!adDiv){return;}
var fillSize=__ez_get_largest_ad_size(divID);if(fillSize.length===0||fillSize[0]===0||fillSize[1]===0){return;}
var orivDivSize=[adDiv.getAttribute('ezaw'),adDiv.getAttribute('ezah')];if(orivDivSize[0]===null||orivDivSize[1]===null){return;}
if(fillSize[0]>=orivDivSize[0]){return;}
var parentDiv=adDiv.parentElement;if(!parentDiv||!parentDiv.classList.contains('ezoic-ad')){return;}
parentDiv.style.minWidth=fillSize[0]+'px';parentDiv.style.width=fillSize[0]+'px';parentDiv.style.maxWidth="100%";adDiv.style.width='';adDiv.style.minWidth=fillSize[0]+'px';},getLargestAdSize:function(slotID){var applicableSizes=[];if(ezoResponsiveSizes[slotID]){var clientWidth=document.documentElement.clientWidth;var clientHeight=document.documentElement.clientHeight;var bestResponsiveFit=null;window.ezoResponsiveSizes[slotID].responsiveSizes.forEach(responsiveSize=>{var appliesToViewport=responsiveSize.minWidth<=clientWidth&&responsiveSize.minHeight<=clientHeight;var betterResponsiveFit=bestResponsiveFit===null||responsiveSize.minWidth>bestResponsiveFit.minWidth||(bestResponsiveFit.minWidth==responsiveSize.minWidth&&responsiveSize.minHeight>bestResponsiveFit.minHeight);if(appliesToViewport&&betterResponsiveFit){bestResponsiveFit=responsiveSize;}});if(bestResponsiveFit!==null){applicableSizes=bestResponsiveFit.sizes;}}
var largestDims=[0,0];applicableSizes.forEach(size=>{if(size[0]>largestDims[0]){largestDims[0]=size[0];}
if(size[1]>largestDims[1]){largestDims[1]=size[1];}});return largestDims;},formatBid:function(e,t){var o=e;return o>300&&(o=300),"1254144"==t||"21732118914"==t||""==t?(o=o<=0?0:o<=.5?2*Math.floor(100*o/2+.5):o<=1?10*Math.floor(10*o+.5):o<=3?20*Math.floor(100*o/20+.5):o<=10?50*Math.floor(100*o/50+.5):o<=30?100*Math.floor(100*o/100+.5):o<=50?200*Math.floor(100*o/200+.5):o<=120?500*Math.floor(100*o/500+.5):1e3*Math.floor(100*o/1e3+.5))/100>e&&o>2&&(o-=o<=50?2:o<=100?10:o<=300?20:o<=1e3?50:o<=3e3?100:o<=5e3?500:1e3):(o=o<=0?0:o<=1?10*Math.floor(10*o+.5):o<=3?20*Math.floor(100*o/20+.5):o<=10?50*Math.floor(100*o/50+.5):o<=30?100*Math.floor(100*o/100+.5):o<=50?200*Math.floor(100*o/200+.5):o<=120?500*Math.floor(100*o/500+.5):1e3*Math.floor(100*o/1e3+.5))/100>e&&o>2&&(o-=o<=100?10:o<=300?20:o<=1e3?50:o<=3e3?100:o<=5e3?200:o<=12e3?500:1e3),o}};__ez.fads.adLoadGAM.init();</script><script data-ezscrex="false" data-cfasync="false" data-pagespeed-no-defer="" type="text/javascript">window.isEZABL=false;window.ezmadspc=300;window.ezoViewCheck=false;</script><script data-ezscrex="false" data-cfasync="false" data-pagespeed-no-defer="" type="text/javascript">window.ezDisableInitialLoad=false;</script><script data-ezscrex="false" data-cfasync="false" data-pagespeed-no-defer="" type="text/javascript">window.googletag=window.googletag||{};googletag.cmd=googletag.cmd||[];</script><script data-ezscrex="false" data-cfasync="false" data-pagespeed-no-defer="" type="text/javascript">window.ezogetbrkey = function(s){ var k = 'br1';var k2 = 'eb_br';if(window.ezogtk == ""){k='br1u';k2='eb_bru';}else if(window.ezogtk != "NT"){k='br1t';k2='eb_brt';} s.setTargeting('br1', s.getTargeting(k));s.setTargeting('eb_br', s.getTargeting(k2));};googletag.cmd.push(function() {window.ezslot_interstitial = googletag.defineOutOfPageSlot('/1254144,22763294119/lastminuteengineers_com-pixel1',googletag.enums.OutOfPageFormat.INTERSTITIAL); if(window.ezslot_interstitial != null) {window.ezslot_interstitial.addService(googletag.pubads()).setTargeting('al', '1006').setTargeting('reft', 'n').setTargeting('eb_br', '58ef7bddb438af5e257c4377f32c243a').setTargeting('bvr', '0').setTargeting('bra', 'mod82').setTargeting('ap', '9999').setTargeting('ic', '1').setTargeting('avc', '79').setTargeting('br1', '120').setTargeting('br2', '80').setTargeting('iid1', '7568173994921685').setTargeting('ezoic', '1').setTargeting('d', '354895').setTargeting('ga', '2497208').setTargeting('tap', 'lastminuteengineers_com-pixel1-7568173994921685');}
googletag.pubads().enableSingleRequest();googletag.pubads().addEventListener('slotRenderEnded', function(event) { __ez.queue.addFunc("ezbanger", "ezbanger", event, false, ['banger.js'], true, true, false, true); });googletag.pubads().addEventListener('impressionViewable', function(event) { __ez.queue.addFunc("ezvb", "ezvb", event, false, ['banger.js'], true, true, false, true); });googletag.pubads().addEventListener('slotVisibilityChanged', function(event) { __ez.queue.addFunc("ezvt", "ezvt", event, false, ['banger.js'], true, true, false, true); });googletag.pubads().addEventListener('slotResponseReceived', function(event) { __ez.queue.addFunc("ezsr", "ezsr", event, false, ['banger.js'], true, true, false, true); });googletag.pubads().addEventListener('slotRequested', function(e) { window.ezsrqt[e.slot.getSlotElementId()] = Date.now();});googletag.pubads().disableInitialLoad();googletag.pubads().enableLazyLoad({fetchMarginPercent: 700, renderMarginPercent: 10, mobileScaling: 1.0});googletag.enableServices();});window.ezoll = false;window.ezoadxnc = '1254144';window.ezoadhb = '120';var ezaxmns={};var ezaucmns={};
var __ez_fad_floating = ['div-gpt-ad-lastminuteengineers_com-edge-1-0','div-gpt-ad-lastminuteengineers_com-edge-2-0','div-gpt-ad-lastminuteengineers_com-medrectangle-2-0'];if(typeof __ez.fads != 'undefined' && typeof __ez.fads.FloatingAdded == "function"){__ez.fads.FloatingAdded();}
function __ez_init_slot(bvr, did, slotNum, defineFunc) {
googletag.cmd.push(function() {
defineFunc();
ezrpos[slotNum]=slotNum;
ezslots.push("ezslot_" + slotNum);
if(__ez.fads.kvStore[did] !== 'undefined') {
for (var name in __ez.fads.kvStore[did]) {
if (!__ez.fads.kvStore.hasOwnProperty(name)) {
ezSetSlotTargeting(did, name, __ez.fads.kvStore[did][name]);
}
}
__ez.fads.kvStore[did] = {};
}
});return "ezslot_" + slotNum;
}
var ezslot_17_raw = {'a':'1','iid1':'8325930054941741','eid':'8325930054941741','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1113','sap':'1113','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'17','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'30','al':'1030','compid':'0','tap':'lastminuteengineers_com-banner-1-8325930054941741','eb_br':'60474211daf1dfd4d90000ea01f56c30','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'11','bvm':'0','bvr':'1','avc':'57','shp':'1','ftsn':'12','ftsng':'12','br1':'0','br2':'0','ezoic':'1','nmau':'0','mau':'0','sticky':'1','icsticky':'1','stl':[157,193,0,4,0,193,142,20,157,201,192,31,902,903,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,815,817,899,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3933,4184,4185,4186,4276,4604,4605,5747,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_17_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-banner-1-0'] = {slot:'ezslot_17',adunit:'/1254144,22763294119/lastminuteengineers_com-banner-1'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-banner-1-0'] = function(bvr){
var defScript = function() {ezslot_17 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-banner-1',[[300,250],[336,280],[728,90],[580,400],['fluid']],'div-gpt-ad-lastminuteengineers_com-banner-1-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_17,ezslot_17_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-banner-1-0',17, defScript);
};var ezslot_16_raw = {'a':'1','iid1':'3948435230940330','eid':'3948435230940330','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1131','sap':'1131','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'16','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'715','al':'1715','compid':'1','tap':'lastminuteengineers_com-leader-2-3948435230940330','eb_br':'60474211daf1dfd4d90000ea01f56c30','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'38','bvm':'4','bvr':'0','avc':'46','shp':'1','ftsn':'12','ftsng':'12','br1':'0','br2':'0','ezoic':'1','nmau':'0','mau':'0','sticky':'1','icsticky':'1','stl':[63,14,28,4,51,0,88,0,71,30,0,31,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,28,760,815,816,817,899,903,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3915,3919,3933,4184,4185,4186,4276,4604,4605,5747,6044,6045,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_16_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-leader-2-0'] = {slot:'ezslot_16',adunit:'/1254144,22763294119/lastminuteengineers_com-leader-2'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-leader-2-0'] = function(bvr){
var defScript = function() {ezslot_16 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-leader-2',[[250,250],[300,250],[580,400],[336,280],[728,90],['fluid']],'div-gpt-ad-lastminuteengineers_com-leader-2-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_16,ezslot_16_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-leader-2-0',16, defScript);
};var ezslot_14_raw = {'a':'1','iid1':'3379630288987360','eid':'3379630288987360','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1118','sap':'1118','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'14','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'702','al':'1702','compid':'0','tap':'lastminuteengineers_com-large-mobile-banner-2-3379630288987360','eb_br':'60474211daf1dfd4d90000ea01f56c30','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'38','bvm':'4','bvr':'0','avc':'46','shp':'1','ftsn':'12','ftsng':'12','br1':'0','br2':'0','ezoic':'1','nmau':'0','mau':'0','sticky':'1','icsticky':'1','stl':[75,168,176,27,134,131,93,20,26,209,205,0,181,137,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,815,899,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3933,4184,4185,4186,4276,4604,4605,5747,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_14_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-large-mobile-banner-2-0'] = {slot:'ezslot_14',adunit:'/1254144,22763294119/lastminuteengineers_com-large-mobile-banner-2'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-large-mobile-banner-2-0'] = function(bvr){
var defScript = function() {ezslot_14 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-large-mobile-banner-2',[[728,90],[580,400],[336,280],[300,250],['fluid']],'div-gpt-ad-lastminuteengineers_com-large-mobile-banner-2-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_14,ezslot_14_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-large-mobile-banner-2-0',14, defScript);
};var ezslot_26_raw = {'a':'1','iid1':'5523248026998777','eid':'5523248026998777','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1122','sap':'1122','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'26','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'706','al':'1706','compid':'0','tap':'lastminuteengineers_com-netboard-2-5523248026998777','eb_br':'60474211daf1dfd4d90000ea01f56c30','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'38','bvm':'4','bvr':'0','avc':'31','shp':'1','ftsn':'12','ftsng':'12','br1':'0','br2':'0','ezoic':'1','nmau':'0','mau':'0','sticky':'1','icsticky':'1','stl':[157,193,0,4,0,193,142,20,157,201,192,31,902,903,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,815,817,899,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3933,4184,4185,4186,4276,4605,5747,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_26_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-netboard-2-0'] = {slot:'ezslot_26',adunit:'/1254144,22763294119/lastminuteengineers_com-netboard-2'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-netboard-2-0'] = function(bvr){
var defScript = function() {ezslot_26 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-netboard-2',[[300,250],[728,90],[580,400],[336,280],['fluid']],'div-gpt-ad-lastminuteengineers_com-netboard-2-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_26,ezslot_26_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-netboard-2-0',26, defScript);
};var ezslot_15_raw = {'a':'1','iid1':'2902977874925158','eid':'2902977874925158','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1115','sap':'1115','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'15','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'37','al':'1037','compid':'0','tap':'lastminuteengineers_com-leader-1-2902977874925158','eb_br':'60474211daf1dfd4d90000ea01f56c30','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'38','bvm':'4','bvr':'0','avc':'47','shp':'1','ftsn':'12','ftsng':'12','br1':'0','br2':'0','ezoic':'1','nmau':'0','mau':'0','sticky':'1','icsticky':'1','stl':[210,14,120,27,5,131,153,20,26,209,205,0,136,148,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,815,899,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3933,4184,4185,4186,4276,4605,5747,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_15_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-leader-1-0'] = {slot:'ezslot_15',adunit:'/1254144,22763294119/lastminuteengineers_com-leader-1'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-leader-1-0'] = function(bvr){
var defScript = function() {ezslot_15 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-leader-1',[[336,280],[728,90],[300,250],[580,400],['fluid']],'div-gpt-ad-lastminuteengineers_com-leader-1-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_15,ezslot_15_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-leader-1-0',15, defScript);
};var ezslot_21_raw = {'a':'1','iid1':'4148694950986349','eid':'4148694950986349','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1111','sap':'1111','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'21','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'22','al':'1022','compid':'0','tap':'lastminuteengineers_com-medrectangle-4-4148694950986349','eb_br':'60474211daf1dfd4d90000ea01f56c30','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'11','bvm':'0','bvr':'1','avc':'50','shp':'1','ftsn':'12','ftsng':'12','br1':'0','br2':'0','ezoic':'1','nmau':'0','mau':'0','sticky':'1','icsticky':'1','stl':[157,193,0,4,0,193,142,20,157,201,192,31,902,903,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,815,899,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,4184,4185,4186,4276,5747,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_21_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-medrectangle-4-0'] = {slot:'ezslot_21',adunit:'/1254144,22763294119/lastminuteengineers_com-medrectangle-4'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-medrectangle-4-0'] = function(bvr){
var defScript = function() {ezslot_21 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-medrectangle-4',[[468,60],[336,280],[728,90],[300,250],[580,400],['fluid']],'div-gpt-ad-lastminuteengineers_com-medrectangle-4-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_21,ezslot_21_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-medrectangle-4-0',21, defScript);
};var ezslot_19_raw = {'a':'1','iid1':'5576839706936112','eid':'5576839706936112','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1119','sap':'1119','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'19','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'703','al':'1703','compid':'1','tap':'lastminuteengineers_com-leader-4-5576839706936112','eb_br':'60474211daf1dfd4d90000ea01f56c30','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'38','bvm':'4','bvr':'0','avc':'44','shp':'1','ftsn':'12','ftsng':'12','br1':'0','br2':'0','ezoic':'1','nmau':'0','mau':'0','sticky':'1','icsticky':'1','stl':[157,193,0,4,0,193,142,20,157,201,192,31,902,903,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,815,817,899,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3933,4184,4185,4186,4276,4604,4605,5747,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_19_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-leader-4-0'] = {slot:'ezslot_19',adunit:'/1254144,22763294119/lastminuteengineers_com-leader-4'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-leader-4-0'] = function(bvr){
var defScript = function() {ezslot_19 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-leader-4',[[300,250],[336,280],[728,90],[580,400],['fluid']],'div-gpt-ad-lastminuteengineers_com-leader-4-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_19,ezslot_19_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-leader-4-0',19, defScript);
};var ezslot_6_raw = {'a':'1','iid1':'4978862004980556','eid':'4978862004980556','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1175','sap':'1175','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'6','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'31','al':'1031','compid':'0','tap':'lastminuteengineers_com-banner-2-4978862004980556','eb_br':'291d27313eb66c50243129b23df8a579','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'11','bvm':'0','bvr':'1','avc':'73','shp':'2','ftsn':'12','ftsng':'12','br1':'10','br2':'6','ezoic':'1','nmau':'0','mau':'0','stl':[157,193,0,4,0,193,142,20,157,201,192,31,902,903,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,28,29,30,760,761,813,815,816,817,818,819,893,899,903,917,918,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3915,3919,3933,4184,4185,4186,4276,4604,4605,5747,6044,6045,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_6_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-banner-2-0'] = {slot:'ezslot_6',adunit:'/1254144,22763294119/lastminuteengineers_com-banner-2'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-banner-2-0'] = function(bvr){
var defScript = function() {ezslot_6 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-banner-2',[[336,280],[160,600],[300,250],[300,600],['fluid']],'div-gpt-ad-lastminuteengineers_com-banner-2-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_6,ezslot_6_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-banner-2-0',6, defScript);
};var ezslot_7_raw = {'a':'1','iid1':'3467556882965277','eid':'3467556882965277','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1167','sap':'1167','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'7','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'4','al':'1004','compid':'1','tap':'lastminuteengineers_com-medrectangle-1-3467556882965277','eb_br':'60474211daf1dfd4d90000ea01f56c30','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'38','bvm':'4','bvr':'0','avc':'46','shp':'1','ftsn':'12','ftsng':'12','acptad':'1','br1':'0','br2':'0','ezoic':'1','nmau':'0','mau':'0','sticky':'1','icsticky':'1','stl':[63,14,28,4,51,0,88,0,71,30,0,31,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,28,760,815,816,817,899,903,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3915,3919,3933,4184,4185,4186,4276,4604,4605,5747,6044,6045,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_7_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-medrectangle-1-0'] = {slot:'ezslot_7',adunit:'/1254144,22763294119/lastminuteengineers_com-medrectangle-1'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-medrectangle-1-0'] = function(bvr){
var defScript = function() {ezslot_7 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-medrectangle-1',[[336,280],[580,400],[728,90],[300,250],['fluid']],'div-gpt-ad-lastminuteengineers_com-medrectangle-1-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_7,ezslot_7_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-medrectangle-1-0',7, defScript);
};var ezslot_18_raw = {'a':'1','iid1':'2105863856963985','eid':'2105863856963985','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1116','sap':'1116','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'18','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'700','al':'1700','compid':'0','tap':'lastminuteengineers_com-leader-3-2105863856963985','eb_br':'33dd523f8e4dda158f0aa99686dda7f2','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'11','bvm':'0','bvr':'1','avc':'54','shp':'1','ftsn':'12','ftsng':'12','br1':'6','br2':'4','ezoic':'1','nmau':'0','mau':'0','sticky':'1','icsticky':'1','stl':[77,131,0,192,0,168,132,0,71,197,187,0,901,182,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,815,899,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3933,4184,4185,4186,4276,4604,4605,5747,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_18_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-leader-3-0'] = {slot:'ezslot_18',adunit:'/1254144,22763294119/lastminuteengineers_com-leader-3'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-leader-3-0'] = function(bvr){
var defScript = function() {ezslot_18 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-leader-3',[[336,280],[728,90],[300,250],[580,400],['fluid']],'div-gpt-ad-lastminuteengineers_com-leader-3-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_18,ezslot_18_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-leader-3-0',18, defScript);
};var ezslot_11_raw = {'a':'1','iid1':'2605569456957337','eid':'2605569456957337','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1112','sap':'1112','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'11','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'3','al':'1003','compid':'0','tap':'lastminuteengineers_com-box-4-2605569456957337','eb_br':'60474211daf1dfd4d90000ea01f56c30','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'11','bvm':'0','bvr':'1','avc':'51','shp':'1','ftsn':'12','ftsng':'12','br1':'0','br2':'0','ezoic':'1','nmau':'0','mau':'0','sticky':'1','icsticky':'1','stl':[77,131,0,192,0,168,132,0,71,197,187,0,901,182,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,815,899,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3919,3933,4184,4185,4186,4276,4604,4605,5747,6044,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_11_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-box-4-0'] = {slot:'ezslot_11',adunit:'/1254144,22763294119/lastminuteengineers_com-box-4'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-box-4-0'] = function(bvr){
var defScript = function() {ezslot_11 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-box-4',[[580,400],[300,250],[336,280],[728,90],['fluid']],'div-gpt-ad-lastminuteengineers_com-box-4-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_11,ezslot_11_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-box-4-0',11, defScript);
};var ezslot_10_raw = {'a':'1','iid1':'507776768955662','eid':'507776768955662','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1102','sap':'1102','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'10','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'2','al':'1002','compid':'0','tap':'lastminuteengineers_com-box-3-507776768955662','eb_br':'33dd523f8e4dda158f0aa99686dda7f2','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'11','bvm':'0','bvr':'1','avc':'48','shp':'1','ftsn':'12','ftsng':'12','br1':'6','br2':'4','ezoic':'1','nmau':'0','mau':'0','sticky':'1','icsticky':'1','stl':[179,189,28,67,134,131,153,20,26,30,0,0,124,159,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,815,899,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3933,4184,4185,4186,4276,4604,4605,5747,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_10_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-box-3-0'] = {slot:'ezslot_10',adunit:'/1254144,22763294119/lastminuteengineers_com-box-3'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-box-3-0'] = function(bvr){
var defScript = function() {ezslot_10 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-box-3',[728,90],'div-gpt-ad-lastminuteengineers_com-box-3-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_10,ezslot_10_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-box-3-0',10, defScript);
};var ezslot_20_raw = {'a':'1','iid1':'2496670290984216','eid':'2496670290984216','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1120','sap':'1120','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'20','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'704','al':'1704','compid':'0','tap':'lastminuteengineers_com-mobile-leaderboard-1-2496670290984216','eb_br':'60474211daf1dfd4d90000ea01f56c30','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'38','bvm':'4','bvr':'0','avc':'38','shp':'1','ftsn':'12','ftsng':'12','br1':'0','br2':'0','ezoic':'1','nmau':'0','mau':'0','sticky':'1','icsticky':'1','stl':[157,193,0,4,0,193,142,20,157,201,192,31,902,903,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,815,817,899,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3933,4184,4185,4186,4276,4604,4605,5747,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_20_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-1-0'] = {slot:'ezslot_20',adunit:'/1254144,22763294119/lastminuteengineers_com-mobile-leaderboard-1'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-1-0'] = function(bvr){
var defScript = function() {ezslot_20 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-mobile-leaderboard-1',[[300,250],[580,400],[336,280],[728,90],['fluid']],'div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-1-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_20,ezslot_20_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-1-0',20, defScript);
};var ezslot_1_raw = {'a':'1','iid1':'8240343858958125','eid':'8240343858958125','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1975','sap':'1975','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'1','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'38','al':'1038','compid':'0','tap':'lastminuteengineers_com-edge-1-8240343858958125','eb_br':'60474211daf1dfd4d90000ea01f56c30','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'38','bvm':'4','bvr':'0','avc':'15','shp':'2','ftsn':'12','ftsng':'12','br1':'0','br2':'0','ezoic':'1','nmau':'0','mau':'0','sticky':'1','stl':[157,193,0,4,0,193,142,20,157,201,192,31,902,903,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,4184,4185,4186,4276,5747,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_1_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-edge-1-0'] = {slot:'ezslot_1',adunit:'/1254144,22763294119/lastminuteengineers_com-edge-1'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-edge-1-0'] = function(bvr){
var defScript = function() {ezslot_1 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-edge-1',[160,600],'div-gpt-ad-lastminuteengineers_com-edge-1-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_1,ezslot_1_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-edge-1-0',1, defScript);
};var ezslot_12_raw = {'a':'1','iid1':'2934361546987913','eid':'2934361546987913','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1125','sap':'1125','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'12','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'709','al':'1709','compid':'0','tap':'lastminuteengineers_com-large-mobile-banner-1-2934361546987913','eb_br':'60474211daf1dfd4d90000ea01f56c30','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'38','bvm':'4','bvr':'0','avc':'25','shp':'1','ftsn':'12','ftsng':'12','br1':'0','br2':'0','ezoic':'1','nmau':'0','mau':'0','sticky':'1','icsticky':'1','stl':[63,14,28,4,51,0,88,0,71,30,0,31,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,815,899,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3933,4184,4185,4186,4276,4604,4605,5747,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_12_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-large-mobile-banner-1-0'] = {slot:'ezslot_12',adunit:'/1254144,22763294119/lastminuteengineers_com-large-mobile-banner-1'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-large-mobile-banner-1-0'] = function(bvr){
var defScript = function() {ezslot_12 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-large-mobile-banner-1',[[250,250],[336,280],[728,90],[300,250],[580,400],['fluid']],'div-gpt-ad-lastminuteengineers_com-large-mobile-banner-1-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_12,ezslot_12_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-large-mobile-banner-1-0',12, defScript);
};var ezslot_25_raw = {'a':'1','iid1':'877309152977547','eid':'877309152977547','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1130','sap':'1130','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'25','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'714','al':'1714','compid':'1','tap':'lastminuteengineers_com-netboard-1-877309152977547','eb_br':'60474211daf1dfd4d90000ea01f56c30','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'38','bvm':'4','bvr':'0','avc':'46','shp':'1','ftsn':'12','ftsng':'12','br1':'0','br2':'0','ezoic':'1','nmau':'0','mau':'0','sticky':'1','icsticky':'1','stl':[63,14,28,4,51,0,88,0,71,30,0,31,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,28,760,815,817,899,903,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3915,3919,3933,4184,4185,4186,4276,4604,4605,5747,6044,6045,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_25_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-netboard-1-0'] = {slot:'ezslot_25',adunit:'/1254144,22763294119/lastminuteengineers_com-netboard-1'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-netboard-1-0'] = function(bvr){
var defScript = function() {ezslot_25 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-netboard-1',[[250,250],[300,250],[580,400],[336,280],[728,90],['fluid']],'div-gpt-ad-lastminuteengineers_com-netboard-1-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_25,ezslot_25_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-netboard-1-0',25, defScript);
};var ezslot_24_raw = {'a':'1','iid1':'4082265502967462','eid':'4082265502967462','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1123','sap':'1123','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'24','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'707','al':'1707','compid':'0','tap':'lastminuteengineers_com-narrow-sky-2-4082265502967462','eb_br':'60474211daf1dfd4d90000ea01f56c30','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'38','bvm':'4','bvr':'0','avc':'28','shp':'1','ftsn':'12','ftsng':'12','br1':'0','br2':'0','ezoic':'1','nmau':'0','mau':'0','sticky':'1','icsticky':'1','stl':[157,193,0,4,0,193,142,20,157,201,192,31,902,903,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,815,817,899,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3933,4184,4185,4186,4276,4604,4605,5747,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_24_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-narrow-sky-2-0'] = {slot:'ezslot_24',adunit:'/1254144,22763294119/lastminuteengineers_com-narrow-sky-2'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-narrow-sky-2-0'] = function(bvr){
var defScript = function() {ezslot_24 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-narrow-sky-2',[[336,280],[728,90],[300,250],[580,400],['fluid']],'div-gpt-ad-lastminuteengineers_com-narrow-sky-2-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_24,ezslot_24_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-narrow-sky-2-0',24, defScript);
};var ezslot_0_raw = {'a':'1','iid1':'8754385102966692','eid':'8754385102966692','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1976','sap':'1976','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'0','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'39','al':'1039','compid':'0','tap':'lastminuteengineers_com-edge-2-8754385102966692','eb_br':'60474211daf1dfd4d90000ea01f56c30','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'38','bvm':'4','bvr':'0','avc':'9','shp':'2','ftsn':'12','ftsng':'12','br1':'0','br2':'0','ezoic':'1','nmau':'0','mau':'0','sticky':'1','stl':[157,193,0,4,0,193,142,20,157,201,192,31,902,903,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,4184,4185,4186,4276,5747,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_0_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-edge-2-0'] = {slot:'ezslot_0',adunit:'/1254144,22763294119/lastminuteengineers_com-edge-2'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-edge-2-0'] = function(bvr){
var defScript = function() {ezslot_0 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-edge-2',[160,600],'div-gpt-ad-lastminuteengineers_com-edge-2-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_0,ezslot_0_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-edge-2-0',0, defScript);
};var ezslot_2_raw = {'a':'1','iid1':'7327510830924461','eid':'7327510830924461','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1168','sap':'1168','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'2','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'0','al':'1000','compid':'0','tap':'lastminuteengineers_com-box-1-7327510830924461','eb_br':'60474211daf1dfd4d90000ea01f56c30','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'11','bvm':'0','bvr':'1','avc':'77','shp':'3','ftsn':'12','ftsng':'12','acptad':'1','br1':'0','br2':'0','ezoic':'1','nmau':'4','mau':'0','stl':[63,14,28,4,51,0,88,0,71,30,0,31,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,28,760,815,817,899,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3919,3933,4184,4185,4186,4276,4604,4605,5747,6044,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_2_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-box-1-0'] = {slot:'ezslot_2',adunit:'/1254144,22763294119/lastminuteengineers_com-box-1'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-box-1-0'] = function(bvr){
var defScript = function() {ezslot_2 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-box-1',[300,250],'div-gpt-ad-lastminuteengineers_com-box-1-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_2,ezslot_2_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-box-1-0',2, defScript);
};var ezslot_3_raw = {'a':'1','iid1':'7327510830924461','eid':'7327510830924461','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1168','sap':'1168','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'3','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'0','al':'1000','compid':'0','tap':'lastminuteengineers_com-box-1-7327510830924461','eb_br':'60474211daf1dfd4d90000ea01f56c30','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'11','bvm':'0','bvr':'1','avc':'77','shp':'3','ftsn':'12','ftsng':'12','acptad':'1','br1':'0','br2':'0','ezoic':'1','nmau':'4','mau':'1','stl':[63,14,28,4,51,0,88,0,71,30,0,31,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,28,760,815,817,899,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3919,3933,4184,4185,4186,4276,4604,4605,5747,6044,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_3_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-box-1-0_1'] = {slot:'ezslot_3',adunit:'/1254144,22763294119/lastminuteengineers_com-box-1'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-box-1-0_1'] = function(bvr){
var defScript = function() {ezslot_3 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-box-1',[300,250],'div-gpt-ad-lastminuteengineers_com-box-1-0_1').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_3,ezslot_3_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-box-1-0_1',3, defScript);
};var ezslot_4_raw = {'a':'1','iid1':'7327510830924461','eid':'7327510830924461','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1168','sap':'1168','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'4','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'0','al':'1000','compid':'0','tap':'lastminuteengineers_com-box-1-7327510830924461','eb_br':'60474211daf1dfd4d90000ea01f56c30','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'11','bvm':'0','bvr':'1','avc':'77','shp':'3','ftsn':'12','ftsng':'12','acptad':'1','br1':'0','br2':'0','ezoic':'1','nmau':'4','mau':'2','stl':[63,14,28,4,51,0,88,0,71,30,0,31,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,28,760,815,817,899,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3919,3933,4184,4185,4186,4276,4604,4605,5747,6044,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_4_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-box-1-0_2'] = {slot:'ezslot_4',adunit:'/1254144,22763294119/lastminuteengineers_com-box-1'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-box-1-0_2'] = function(bvr){
var defScript = function() {ezslot_4 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-box-1',[300,250],'div-gpt-ad-lastminuteengineers_com-box-1-0_2').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_4,ezslot_4_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-box-1-0_2',4, defScript);
};var ezslot_5_raw = {'a':'1','iid1':'7327510830924461','eid':'7327510830924461','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1168','sap':'1168','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'5','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'0','al':'1000','compid':'0','tap':'lastminuteengineers_com-box-1-7327510830924461','eb_br':'60474211daf1dfd4d90000ea01f56c30','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'11','bvm':'0','bvr':'1','avc':'77','shp':'3','ftsn':'12','ftsng':'12','acptad':'1','br1':'0','br2':'0','ezoic':'1','nmau':'4','mau':'3','stl':[63,14,28,4,51,0,88,0,71,30,0,31,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,28,760,815,817,899,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3919,3933,4184,4185,4186,4276,4604,4605,5747,6044,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_5_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-box-1-0_3'] = {slot:'ezslot_5',adunit:'/1254144,22763294119/lastminuteengineers_com-box-1'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-box-1-0_3'] = function(bvr){
var defScript = function() {ezslot_5 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-box-1',[300,250],'div-gpt-ad-lastminuteengineers_com-box-1-0_3').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_5,ezslot_5_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-box-1-0_3',5, defScript);
};var ezslot_22_raw = {'a':'1','iid1':'6929651714929909','eid':'6929651714929909','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1117','sap':'1117','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'22','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'701','al':'1701','compid':'0','tap':'lastminuteengineers_com-mobile-leaderboard-2-6929651714929909','eb_br':'33dd523f8e4dda158f0aa99686dda7f2','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'38','bvm':'4','bvr':'0','avc':'51','shp':'1','ftsn':'12','ftsng':'12','br1':'6','br2':'4','ezoic':'1','nmau':'0','mau':'0','sticky':'1','icsticky':'1','stl':[157,193,0,4,0,193,142,20,157,201,192,31,902,903,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,815,817,899,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3933,4184,4185,4186,4276,4604,4605,5747,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_22_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-2-0'] = {slot:'ezslot_22',adunit:'/1254144,22763294119/lastminuteengineers_com-mobile-leaderboard-2'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-2-0'] = function(bvr){
var defScript = function() {ezslot_22 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-mobile-leaderboard-2',[[300,250],[336,280],[728,90],[580,400],['fluid']],'div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-2-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_22,ezslot_22_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-2-0',22, defScript);
};var ezslot_13_raw = {'a':'1','iid1':'375908628972898','eid':'375908628972898','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1114','sap':'1114','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'13','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'36','al':'1036','compid':'0','tap':'lastminuteengineers_com-large-leaderboard-2-375908628972898','eb_br':'33dd523f8e4dda158f0aa99686dda7f2','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'11','bvm':'0','bvr':'1','avc':'55','shp':'1','ftsn':'12','ftsng':'12','br1':'6','br2':'4','ezoic':'1','nmau':'0','mau':'0','sticky':'1','icsticky':'1','stl':[157,193,0,4,0,193,142,20,157,201,192,31,902,903,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,815,817,899,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3933,4184,4185,4186,4276,4604,4605,5747,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_13_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-large-leaderboard-2-0'] = {slot:'ezslot_13',adunit:'/1254144,22763294119/lastminuteengineers_com-large-leaderboard-2'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-large-leaderboard-2-0'] = function(bvr){
var defScript = function() {ezslot_13 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-large-leaderboard-2',[[300,250],[336,280],[728,90],[580,400],['fluid']],'div-gpt-ad-lastminuteengineers_com-large-leaderboard-2-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_13,ezslot_13_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-large-leaderboard-2-0',13, defScript);
};var ezslot_23_raw = {'a':'1','iid1':'7643748036949576','eid':'7643748036949576','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1121','sap':'1121','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'23','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'705','al':'1705','compid':'0','tap':'lastminuteengineers_com-narrow-sky-1-7643748036949576','eb_br':'33dd523f8e4dda158f0aa99686dda7f2','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'38','bvm':'4','bvr':'0','avc':'32','shp':'1','ftsn':'12','ftsng':'12','br1':'6','br2':'4','ezoic':'1','nmau':'0','mau':'0','sticky':'1','icsticky':'1','stl':[157,193,0,4,0,193,142,20,157,201,192,31,902,903,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,815,899,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3933,4184,4185,4186,4276,4604,4605,5747,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_23_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-narrow-sky-1-0'] = {slot:'ezslot_23',adunit:'/1254144,22763294119/lastminuteengineers_com-narrow-sky-1'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-narrow-sky-1-0'] = function(bvr){
var defScript = function() {ezslot_23 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-narrow-sky-1',[[336,280],[728,90],[300,250],[580,400],['fluid']],'div-gpt-ad-lastminuteengineers_com-narrow-sky-1-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_23,ezslot_23_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-narrow-sky-1-0',23, defScript);
};var ezslot_8_raw = {'a':'1','iid1':'1818045114971358','eid':'1818045114971358','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1100','sap':'1100','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'8','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'5','al':'1005','compid':'0','tap':'lastminuteengineers_com-medrectangle-2-1818045114971358','eb_br':'9c3e4ee8eae7f1433cb2fe69b1326605','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'12','bvm':'0','bvr':'2','avc':'72','shp':'1','ftsn':'12','ftsng':'12','br1':'4','br2':'2','ezoic':'1','nmau':'0','mau':'0','stl':[77,168,0,192,0,168,132,0,71,197,187,0,901,182,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,28,29,30,760,761,813,814,815,816,817,818,819,899,917,918,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3933,4184,4185,4186,4276,4604,4605,5747,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_8_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-medrectangle-2-0'] = {slot:'ezslot_8',adunit:'/1254144,22763294119/lastminuteengineers_com-medrectangle-2'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-medrectangle-2-0'] = function(bvr){
var defScript = function() {ezslot_8 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-medrectangle-2',[970,90],'div-gpt-ad-lastminuteengineers_com-medrectangle-2-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_8,ezslot_8_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-medrectangle-2-0',8, defScript);
};var ezslot_9_raw = {'a':'1','iid1':'3947134712919871','eid':'3947134712919871','t':'134','d':'354895','t1':'134','pvc':'2','ap':'1110','sap':'1110','a':'|0|','as':'revenue','plat':'1','bra':'mod82','ic':'1','at':'mbf','adr':'399','ezosn':'9','reft':'tf','refs':'30','refa':'0','ga':'2497208','gala':'','rid':'99998','pt':'21','al':'1021','compid':'0','tap':'lastminuteengineers_com-medrectangle-3-3947134712919871','eb_br':'60474211daf1dfd4d90000ea01f56c30','eba':'1','ebss':[10017,10061,10015,10063,11307],'asau':'1143299278','bv':'11','bvm':'0','bvr':'1','avc':'57','shp':'1','ftsn':'12','ftsng':'12','br1':'0','br2':'0','ezoic':'1','nmau':'0','mau':'0','sticky':'1','icsticky':'1','stl':[77,193,0,192,0,168,132,0,71,197,187,0,901,182,901,902,903],'deal1':[17,18,19,20,21,22,23,24,25,26,27,815,817,899,919,1428,1794,2310,2339,2351,2526,2527,2610,2688,2693,2761,2763,2764,2765,3044,3045,3052,3053,3054,3154,3430,3455,3456,3457,3458,3460,3682,3683,3684,3856,3933,4184,4185,4186,4276,4604,4605,5747,6044,6293,6294,6295,5534,4312,774]}; window.ezslots_raw.push(ezslot_9_raw); window.ezslotdivs['div-gpt-ad-lastminuteengineers_com-medrectangle-3-0'] = {slot:'ezslot_9',adunit:'/1254144,22763294119/lastminuteengineers_com-medrectangle-3'};__ez.fads.initslots['div-gpt-ad-lastminuteengineers_com-medrectangle-3-0'] = function(bvr){
var defScript = function() {ezslot_9 = googletag.defineSlot('/1254144,22763294119/lastminuteengineers_com-medrectangle-3',[728,90],'div-gpt-ad-lastminuteengineers_com-medrectangle-3-0').addService(googletag.pubads()).setCollapseEmptyDiv(false);ezSetTargetingFromMap(ezslot_9,ezslot_9_raw);};
return __ez_init_slot(bvr,'div-gpt-ad-lastminuteengineers_com-medrectangle-3-0',9, defScript);
};</script>
<script data-ezscrex="false" data-pagespeed-no-defer="" data-cfasync="false" type="text/javascript">__ez.queue.addFile('banger.js', '/porpoiseant/banger.js?cb=195-0&bv=279&v=100&PageSpeed=off', true, ['ezaqReady'], true, false, false, true);</script>
<script data-ezscrex="false" type="text/javascript" data-cfasync="false">var _ezim_d = {"lastminuteengineers_com-banner-1":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-banner-1-0","full_id":"lastminuteengineers_com-banner-1/2023-10-30/8325930054941741","height":"250","position_id":1113,"sub_position_id":1113,"width":"300"},"lastminuteengineers_com-banner-2":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-banner-2-0","full_id":"lastminuteengineers_com-banner-2/2023-10-30/4978862004980556","height":"280","position_id":1175,"sub_position_id":1175,"width":"336"},"lastminuteengineers_com-box-1":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-box-1-0","full_id":"lastminuteengineers_com-box-1/2023-10-30/7327510830924461","height":"250v4","position_id":1168,"sub_position_id":1168,"width":"300"},"lastminuteengineers_com-box-1_1":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-box-1-0_1","full_id":"lastminuteengineers_com-box-1/2023-10-30/7327510830924461","height":"250v4","position_id":1168,"sub_position_id":1168,"width":"300"},"lastminuteengineers_com-box-1_2":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-box-1-0_2","full_id":"lastminuteengineers_com-box-1/2023-10-30/7327510830924461","height":"250v4","position_id":1168,"sub_position_id":1168,"width":"300"},"lastminuteengineers_com-box-1_3":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-box-1-0_3","full_id":"lastminuteengineers_com-box-1/2023-10-30/7327510830924461","height":"250v4","position_id":1168,"sub_position_id":1168,"width":"300"},"lastminuteengineers_com-box-3":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-box-3-0","full_id":"lastminuteengineers_com-box-3/2023-10-30/507776768955662","height":"90","position_id":1102,"sub_position_id":1102,"width":"728"},"lastminuteengineers_com-box-4":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-box-4-0","full_id":"lastminuteengineers_com-box-4/2023-10-30/2605569456957337","height":"400","position_id":1112,"sub_position_id":1112,"width":"580"},"lastminuteengineers_com-edge-1":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-edge-1-0","full_id":"lastminuteengineers_com-edge-1/2023-10-30/8240343858958125","height":"600","position_id":1975,"sub_position_id":1975,"width":"160"},"lastminuteengineers_com-edge-2":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-edge-2-0","full_id":"lastminuteengineers_com-edge-2/2023-10-30/8754385102966692","height":"600","position_id":1976,"sub_position_id":1976,"width":"160"},"lastminuteengineers_com-large-leaderboard-2":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-large-leaderboard-2-0","full_id":"lastminuteengineers_com-large-leaderboard-2/2023-10-30/375908628972898","height":"250","position_id":1114,"sub_position_id":1114,"width":"300"},"lastminuteengineers_com-large-mobile-banner-1":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-large-mobile-banner-1-0","full_id":"lastminuteengineers_com-large-mobile-banner-1/2023-10-30/2934361546987913","height":"250","position_id":1125,"sub_position_id":1125,"width":"250"},"lastminuteengineers_com-large-mobile-banner-2":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-large-mobile-banner-2-0","full_id":"lastminuteengineers_com-large-mobile-banner-2/2023-10-30/3379630288987360","height":"90","position_id":1118,"sub_position_id":1118,"width":"728"},"lastminuteengineers_com-leader-1":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-leader-1-0","full_id":"lastminuteengineers_com-leader-1/2023-10-30/2902977874925158","height":"280","position_id":1115,"sub_position_id":1115,"width":"336"},"lastminuteengineers_com-leader-2":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-leader-2-0","full_id":"lastminuteengineers_com-leader-2/2023-10-30/3948435230940330","height":"250","position_id":1131,"sub_position_id":1131,"width":"250"},"lastminuteengineers_com-leader-3":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-leader-3-0","full_id":"lastminuteengineers_com-leader-3/2023-10-30/2105863856963985","height":"280","position_id":1116,"sub_position_id":1116,"width":"336"},"lastminuteengineers_com-leader-4":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-leader-4-0","full_id":"lastminuteengineers_com-leader-4/2023-10-30/5576839706936112","height":"250","position_id":1119,"sub_position_id":1119,"width":"300"},"lastminuteengineers_com-medrectangle-1":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-medrectangle-1-0","full_id":"lastminuteengineers_com-medrectangle-1/2023-10-30/3467556882965277","height":"280","position_id":1167,"sub_position_id":1167,"width":"336"},"lastminuteengineers_com-medrectangle-2":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-medrectangle-2-0","full_id":"lastminuteengineers_com-medrectangle-2/2023-10-30/1818045114971358","height":"90","position_id":1100,"sub_position_id":1100,"width":"970"},"lastminuteengineers_com-medrectangle-3":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-medrectangle-3-0","full_id":"lastminuteengineers_com-medrectangle-3/2023-10-30/3947134712919871","height":"90","position_id":1110,"sub_position_id":1110,"width":"728"},"lastminuteengineers_com-medrectangle-4":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-medrectangle-4-0","full_id":"lastminuteengineers_com-medrectangle-4/2023-10-30/4148694950986349","height":"60","position_id":1111,"sub_position_id":1111,"width":"468"},"lastminuteengineers_com-mobile-leaderboard-1":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-1-0","full_id":"lastminuteengineers_com-mobile-leaderboard-1/2023-10-30/2496670290984216","height":"250","position_id":1120,"sub_position_id":1120,"width":"300"},"lastminuteengineers_com-mobile-leaderboard-2":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-2-0","full_id":"lastminuteengineers_com-mobile-leaderboard-2/2023-10-30/6929651714929909","height":"250","position_id":1117,"sub_position_id":1117,"width":"300"},"lastminuteengineers_com-narrow-sky-1":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-narrow-sky-1-0","full_id":"lastminuteengineers_com-narrow-sky-1/2023-10-30/7643748036949576","height":"280","position_id":1121,"sub_position_id":1121,"width":"336"},"lastminuteengineers_com-narrow-sky-2":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-narrow-sky-2-0","full_id":"lastminuteengineers_com-narrow-sky-2/2023-10-30/4082265502967462","height":"280","position_id":1123,"sub_position_id":1123,"width":"336"},"lastminuteengineers_com-netboard-1":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-netboard-1-0","full_id":"lastminuteengineers_com-netboard-1/2023-10-30/877309152977547","height":"250","position_id":1130,"sub_position_id":1130,"width":"250"},"lastminuteengineers_com-netboard-2":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-netboard-2-0","full_id":"lastminuteengineers_com-netboard-2/2023-10-30/5523248026998777","height":"250","position_id":1122,"sub_position_id":1122,"width":"300"},"lastminuteengineers_com-pixel1":{"adsense_stat_source_id":5,"adx_ad_count":24,"adx_stat_source_id":35,"div_id":"div-gpt-ad-lastminuteengineers_com-pixel1-0","full_id":"lastminuteengineers_com-pixel1/2023-10-30/7568173994921685","height":"3","position_id":1006,"sub_position_id":1006,"width":"3"}};</script>
<script type="text/javascript">(function(){function storageAvailable(type){var storage;try{storage=window[type];var x='__storage_test__';storage.setItem(x,x);storage.removeItem(x);return true;}
catch(e){return e instanceof DOMException&&(e.code===22||e.code===1014||e.name==='QuotaExceededError'||e.name==='NS_ERROR_DOM_QUOTA_REACHED')&&(storage&&storage.length!==0);}}
function remove_ama_config(){if(storageAvailable('localStorage')){localStorage.removeItem("google_ama_config");}}
remove_ama_config()})()</script>
<script type="text/javascript">var ezoicTestActive = true</script>
<script data-ezscrex="false" type="text/javascript" data-cfasync="false">window._ezaq = Object.assign({}, typeof window._ezaq !== "undefined" ? window._ezaq : {}, {"ab_test_id":"mod82","ad_cache_level":1,"ad_count_adjustment":2,"ad_lazyload_version":24,"ad_load_version":1,"ad_location_ids":"6,39,38,0,0,0,0,31,4,5,21,2,3,709,36,702,37,715,30,700,703,704,22,701,705,707,714,706","adx_ad_count":24,"ai_placeholder_cache_level":1,"ai_placeholder_placement_cnt":-1,"bidder_method":1,"bidder_version":5,"city":"Jaipur","country":"IN","days_since_last_visit":-1,"display_ad_count":21,"domain_id":354895,"ds_adsize_opt_id":-1,"engaged_time_visit":457,"ezcache_level":2,"ezcache_skip_code":0,"form_factor_id":1,"framework_id":1,"has_bad_image":0,"has_bad_words":0,"iab_category":"","is_embed":false,"is_from_recommended_pages":false,"is_return_visitor":false,"is_sitespeed":0,"last_page_load":"1698683896502","last_pageview_id":"65944eab-9b70-423b-6156-cafc2848465d","lt_cache_level":0,"max_ads":19,"metro_code":0,"optimization_version":1,"page_ad_positions":"1006,1100,1102,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1125,1130,1131,1167,1168,1168,1168,1168,1175,1975,1976","page_view_count":2,"page_view_id":"84e847a7-ff0e-4693-7ae9-a6df7a38669e","position_selection_id":54,"postal_code":"302006","pv_event_count":0,"response_size_orig":94197,"response_time_orig":3,"serverid":"i-059c940323b23fee4","state":"RJ","sub_page_ad_positions":"1006,1100,1102,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1125,1130,1131,1167,1168,1168,1168,1168,1175,1975,1976","t_epoch":1698683900,"template_id":134,"time_on_site_visit":501,"url":"https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/","word_count":2640,"worst_bad_word_level":0});__ez.queue.markLoaded('ezaqReady');</script>
<script data-ezscrex="false" data-cfasync="false" data-pagespeed-no-defer="">__ez.queue.addFile('/parsonsmaize/mulvane.js', '/parsonsmaize/mulvane.js?gcb=195-0&cb=5', true, ['/parsonsmaize/abilene.js'], true, false, true, false);__ez.queue.addFile('/parsonsmaize/olathe.js', '/parsonsmaize/olathe.js?gcb=195-0&cb=23', false, ['/parsonsmaize/abilene.js','/parsonsmaize/mulvane.js'], true, false, true, false);__ez.queue.addFile('/porpoiseant/et.js', '/porpoiseant/et.js?gcb=195-0&cb=2', false, [], true, false, true, false);!function(){var e;__ez.vep=(e=[],{Add:function(i,t){__ez.dot.isDefined(i)&&__ez.dot.isValid(t)&&e.push({type:"video",video_impression_id:i,domain_id:__ez.dot.getDID(),t_epoch:__ez.dot.getEpoch(0),data:__ez.dot.dataToStr(t)})},Fire:function(){if(void 0===document.visibilityState||"prerender"!==document.visibilityState){if(__ez.dot.isDefined(e)&&e.length>0)for(;e.length>0;){var i=5;i>e.length&&(i=e.length);var t=e.splice(0,i),o=__ez.dot.getURL("/detroitchicago/grapefruit.gif")+"?orig="+(!0===__ez.template.isOrig?1:0)+"&v="+btoa(JSON.stringify(t));__ez.dot.Fire(o)}e=[]}}})}();</script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/mulvane.js.download" async=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/et.js.download" async=""></script><script data-ezscrex="false" data-cfasync="false" data-pagespeed-no-defer="">!function(){function e(i){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(i)}__ez.pel=function(){var i=[];function t(t,o,d,_,n,r,a,s){if(__ez.dot.isDefined(t)&&0!=__ez.dot.isAnyDefined(t.getSlotElementId,t.ElementId)){void 0===s&&(s=!1);var p=parseInt(__ez.dot.getTargeting(t,"ap")),f=__ez.dot.getSlotIID(t),u=__ez.dot.getAdUnit(t,s),z=parseInt(__ez.dot.getTargeting(t,"compid")),g=0,c=0,l=function(i){if("undefined"==typeof _ezim_d)return!1;var t=__ez.dot.getAdUnitPath(i).split("/").pop();if("object"===("undefined"==typeof _ezim_d?"undefined":e(_ezim_d))&&_ezim_d.hasOwnProperty(t))return _ezim_d[t];for(var o in _ezim_d)if(o.split("/").pop()===t)return _ezim_d[o];return!1}(t);"object"==e(l)&&(void 0!==l.creative_id&&(c=l.creative_id),void 0!==l.line_item_id&&(g=l.line_item_id)),__ez.dot.isDefined(f,u)&&__ez.dot.isValid(o)&&("0"===f&&!0!==s||""===u||i.push({type:"impression",impression_id:f,domain_id:__ez.dot.getDID(),unit:u,t_epoch:__ez.dot.getEpoch(0),revenue:d,est_revenue:_,ad_position:p,ad_size:"",bid_floor_filled:n,bid_floor_prev:r,stat_source_id:a,country_code:__ez.dot.getCC(),pageview_id:__ez.dot.getPageviewId(),comp_id:z,line_item_id:g,creative_id:c,data:__ez.dot.dataToStr(o),is_orig:s||__ez.template.isOrig}))}}function o(){void 0!==document.visibilityState&&"prerender"===document.visibilityState||(__ez.dot.isDefined(i)&&i.length>0&&[i.filter((function(e){return e.is_orig})),i.filter((function(e){return!e.is_orig}))].forEach((function(e){for(;e.length>0;){var i=e[0].is_orig||!1,t=5;t>e.length&&(t=e.length);var o=e.splice(0,t),d=__ez.dot.getURL("/porpoiseant/army.gif")+"?orig="+(!0===i?1:0)+"&sts="+btoa(JSON.stringify(o));(void 0!==window.isAmp&&isAmp||void 0!==window.ezWp&&ezWp)&&void 0!==window._ezaq&&_ezaq.hasOwnProperty("domain_id")&&(d+="&visit_uuid="+_ezaq.visit_uuid),__ez.dot.Fire(d)}})),i=[])}return{Add:t,AddAndFire:function(e,i){t(e,i,0,0,0,0,0),o()},AddAndFireOrig:function(e,i){t(e,i,0,0,0,0,0,!0),o()},AddById:function(e,t,o,d){var _=e.split("/");if(__ez.dot.isDefined(e)&&3===_.length&&__ez.dot.isValid(t)){var n=_[0],r={type:"impression",impression_id:_[2],domain_id:__ez.dot.getDID(),unit:n,t_epoch:__ez.dot.getEpoch(0),pageview_id:__ez.dot.getPageviewId(),data:__ez.dot.dataToStr(t),is_orig:o||__ez.template.isOrig};void 0!==d&&(r.revenue=d),i.push(r)}},Fire:o,GetPixels:function(){return i}}}()}();__ez.queue.addFile('/detroitchicago/raleigh.js', '/detroitchicago/raleigh.js?gcb=195-0&cb=6', false, ['/parsonsmaize/abilene.js'], true, false, true, false);__ez.queue.addFile('/detroitchicago/vista.js', '/detroitchicago/vista.js?gcb=195-0&cb=5', false, ['/parsonsmaize/abilene.js'], true, false, true, false);__ez.queue.addFile('/detroitchicago/tampa.js', '/detroitchicago/tampa.js?gcb=195-0&cb=5', false, ['/parsonsmaize/abilene.js'], true, false, true, false);</script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/raleigh.js.download" async=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/vista.js.download" async=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/tampa.js.download" async=""></script><!--<base href="https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/">--><base href="."><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="profile" href="https://gmpg.org/xfn/11"><link rel="preconnect" href="https://lastminuteengineers.b-cdn.net/" crossorigin=""><link rel="dns-prefetch" href="https://lastminuteengineers.b-cdn.net/" crossorigin=""><meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"> <script type="application/ld+json">{"@context":"http:\/\/schema.org","publisher":{"@type":"Organization","name":"Last Minute Engineers","logo":{"@type":"ImageObject","url":"https:\/\/lastminuteengineers.com\/wp-content\/themes\/siddhai-child\/logo\/LastMinuteEngineers.png","height":90,"width":168}},"@type":"BlogPosting","mainEntityOfPage":"https:\/\/lastminuteengineers.com\/max7219-dot-matrix-arduino-tutorial\/","headline":"Interfacing MAX7219 LED Dot Matrix Display with Arduino","datePublished":"2020-10-26T09:55:59+00:00","dateModified":"2022-10-10T09:26:43+00:00","author":{"@type":"Person","name":"Last Minute Engineers"},"image":{"@type":"ImageObject","url":"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/2020\/10\/Arduino-Tutorial-for-Interfacing-MAX7219-LED-Display-Module.jpg","width":763,"height":436}}</script> <title>In-Depth: Interfacing MAX7219 LED Dot Matrix Display with Arduino</title><meta name="description" content="Learn to use MAX7219 Module with Arduino along with working, pinout, wiring, Arduino code to printing and scrolling text, Adjusting current and brightness"><link rel="canonical" href="https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/"><meta property="og:locale" content="en_GB"><meta property="og:type" content="article"><meta property="og:title" content="In-Depth: Interfacing MAX7219 LED Dot Matrix Display with Arduino"><meta property="og:description" content="Learn to use MAX7219 Module with Arduino along with working, pinout, wiring, Arduino code to printing and scrolling text, Adjusting current and brightness"><meta property="og:url" content="https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/"><meta property="og:site_name" content="Last Minute Engineers"><meta property="article:published_time" content="2020-10-26T09:55:59+00:00"><meta property="article:modified_time" content="2022-10-10T09:26:43+00:00"><meta property="og:image" content="https://lastminuteengineers.com/wp-content/uploads/2020/10/Arduino-Tutorial-for-Interfacing-MAX7219-LED-Display-Module.jpg"><meta property="og:image:width" content="763"><meta property="og:image:height" content="436"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:label1" content="Written by"><meta name="twitter:data1" content="Last Minute Engineers"><meta name="twitter:label2" content="Estimated reading time"><meta name="twitter:data2" content="14 minutes"><link rel="dns-prefetch" href="https://s.w.org/"><link rel="icon" type="image/png" href="https://lastminuteengineers.com/wp-content/uploads/logo/Favicon.png"><script async="" src="./MAX7219 LED Dot Matrix Display with Arduino_files/js"></script> <script>window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-121719862-1');</script> <script async="" src="./MAX7219 LED Dot Matrix Display with Arduino_files/js(1)"></script> <script>window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-EXKKHM4S66');</script> <style type="text/css">html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body,input{margin:0}article,figure,footer,header,main,nav,section{display:block}figure{margin:0;max-width:100%}pre{font-family:monospace,monospace;font-size:1em;padding:4px 10px}a{background-color:transparent;-webkit-text-decoration-skip:objects;text-decoration:none;color:#1a73e8}a:active,a:hover{outline-width:0}b,strong{font-weight:500}.site-footer .footer-menu li{display:inline-block}img{border-style:none}svg:not(:root){overflow:hidden}input{overflow:visible}[type=checkbox]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}body,input{color:#191919;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:clamp(1rem, 0.96rem + 0.18vw, 1.125rem);font-weight:400;line-height:1.7}h1,h2,h3{clear:both;line-height:1.4;margin:0 0 .75em;color:#191919;font-size:24px;font-size:1.5rem;font-weight:300}h2,h3{font-size:20px;font-size:1.25rem}h3{font-size:18px;font-size:1.125rem}p,ul{padding:0;margin:0 0 1.5em}:focus,a:focus{outline:0}input[type=search]{color:#666;background:#fff;background-image:-webkit-linear-gradient(rgba(255,255,255,0),rgba(255,255,255,0));border:1px solid #bbb;-webkit-border-radius:3px;border-radius:3px;display:block;padding:.7em;width:100%}input[type=search]:focus{color:#222;border-color:#333}input[type=checkbox]:focus{outline:thin dotted #333}input[type=checkbox]{margin-right:.5em}input[type=checkbox]+label{font-weight:400}:-moz-placeholder,:-ms-input-placeholder,::-moz-placeholder,::-webkit-input-placeholder,::placeholder{color:#888}::-moz-placeholder{opacity:1}ul{list-style:disc}a:active,a:hover{outline:0}*,:after,:before{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}body{background:#fff;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body,button,input,select,textarea{font-family:Segoe UI,system-ui,-apple-system,sans-serif}img{height:auto;max-width:100%}
article{font-size:17px}h1,h2,h3,h4,h5,h6{font-weight:400;line-height:1.2}article p{margin:clamp(1.375rem,1.2rem + .89vw,2rem)0;font-size:clamp(1.02rem,.96rem + .18vw,1.125rem);line-height:1.7}article li{line-height:1.7;margin-top:1em;font-size:clamp(1rem,.96rem + .18vw,1.125rem)}article ul{padding-left:30px}article h2{font-size:clamp(1.5rem,1.29rem + 1.07vw,2.25rem);margin:0;margin-top:clamp(2.375rem,1.98rem + 1.96vw,3.75rem)}article h3,article h4,article h5,article h6{font-size:clamp(1.25rem,1.11rem + .71vw,1.75rem);margin:0;margin-top:clamp(2.2rem,1.7rem + 1.96vw,3rem)}article h4,article h5,article h6{font-size:clamp(1rem,1.15rem + .18vw,1.45rem)}caption:empty,p:empty{margin:0}article b,article strong{font-weight:500}.hide,.invisi,article hr{display:none!important}a:not([href]){color:inherit}article h2+*,article h3+*,article h4+*{margin-top:1rem}.wp-block-image{margin:clamp(2.375rem,1.98rem + 1.96vw,3.75rem)0}.wp-block-image img{margin:0 auto;display:block}.entry-content > p:first-child{margin-top:0}.svg-assets{position:absolute;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);display:none}ul.one-liner li{margin-top:0.6em}article h2+h3{margin-top:2.1rem}
.single-post .site-main{display:flex;flex-wrap:wrap;gap:20px}#main,.post-wrapper{flex-basis:0;flex-grow:999;min-width:70%}.main-wrapper{display:flex;gap:20px;flex-direction:row-reverse;flex-wrap:nowrap}#main{flex:auto}.entry-content{width:auto;max-width:770px;margin:0 auto;padding:0 20px;overflow:hidden;overflow-wrap:break-word}@media (max-width:767px){.post{width:100%}h1,h2,h3,h4,h5,h6{font-weight:500}.site-main{gap:0}}.site-footer{background-color:#f8f9fa;font-size:14px;overflow:hidden;text-align:center;margin-top:30px;padding:10px;border-top:1px solid #ededed}.site-footer .copyright{line-height:20px;margin-bottom:15px;color:#888}.site-footer .footer-menu{margin:12px 0}.site-footer .footer-menu li a{margin:0 16px;line-height:18px;color:#191919;letter-spacing:.25px}.header-nav .dropdown a:hover,.site-footer .footer-menu li a:hover{color:#54a0ff}.example h4,.menu-checkbox-label{display:none}
.post-header{padding:clamp(1.5rem,1.5rem + 2vw,3.5rem) 20px}.featured-image{padding:0 20px;margin-bottom:clamp(2.375rem,1.98rem + 1.96vw,3.75rem)}.featured-image img{border-radius:10px;box-shadow:0 0 0 1px #eee;margin:0 auto;display:block}.post-header h1,.entry-title{font-size:clamp(1.75rem,1.39rem + 1.79vw,2.8rem);text-align:center;max-width:900px;margin:1.8rem auto 2.5rem}@media (max-width:767px){.post-header h1,.entry-title{margin:1.2rem auto 2.2rem}}.article-tag{line-height:1.5714285714;font-size:14px;letter-spacing:1.5px;color:#888;text-transform:uppercase;font-weight:500;display:block;max-width:fit-content;margin:0 auto}.article-tag:hover{color:#1a73e8}
.site-header{position:relative;border-bottom:1px solid #d2d3d7;display:flex;width:100%;height:65px;align-items:center;padding:0 20px}.sitelogo a{display:flex}.site-header .sitelogo{height:54px;width:167px}.dropdown a:before,.search-form span:before{display:inline-block;position:relative;background-repeat:no-repeat;content:"";width:24px;height:24px;top:6px;left:-10px}.header-nav a{font-size:15px;line-height:2.5;color:#191919}.header-nav .dropdown{display:flex;align-items:center;gap:44px}.sitelogo svg{transform:scale(.9)}.search-box .search-field{font-size:15px;min-height:36px;min-width:260px;background:#f3f3f3;border-radius:4px;padding:2px 38px;border:0}@media (min-width:768px){.menu-search-wrapper{display:flex;flex:1;justify-content:space-between;flex-direction:row-reverse;align-items:center}.header-nav{margin-left:70px}.header-nav b{display:none}}@media (max-width:767px){.search-box .search-field{min-width:200px}.sitelogo{margin:0 auto}.menu-search-wrapper{overflow-y:auto;background:#fff;position:fixed;z-index:2001;width:260px;height:100vh;right:0;top:1px;padding:20px 16px 30px;box-shadow:0 1px 0 1px rgba(0,0,0,.14),0 2px 2px 2px rgba(0,0,0,.12);-webkit-transition:transform .3s cubic-bezier(.55,0,.1,1) 0s;-moz-transition:transform .3s cubic-bezier(.55,0,.1,1) 0s;-o-transition:transform .3s cubic-bezier(.55,0,.1,1) 0s;transition:transform .3s cubic-bezier(.55,0,.1,1) 0s;transform:translate3d(-260px,0,0);-webkit-transform:translate3d(265px,0,0);-moz-transform:translate3d(265px,0,0);-ms-transform:translate3d(265px,0,0);-o-transform:translate3d(265px,0,0)}#menu-checkbox:checked~.menu-search-wrapper{transform:initial;-webkit-transform:initial;-moz-transform:initial;-ms-transform:initial;-o-transform:initial}#menu-checkbox:checked~.sidebar-overlay{opacity:1;visibility:visible}.menu-checkbox-label{display:block;position:absolute;top:0;right:0;padding:23px 20px}.header-nav .dropdown{margin-left:20px;align-items:flex-start;gap:0;flex-direction:column}.dropdown a{padding:0 10px;line-height:40px;display:block;margin:8px 0}.header-nav b{margin:30px 0 10px;display:block;font-size:16px}}@media (max-width:1070px) and (min-width:950px){.header-nav .dropdown{gap:34px}.search-box .search-field{min-width:190px;width:190px}}@media (max-width:950px) and (min-width:768px){.dropdown a:before{display:none}.header-nav{margin-left:20px}.header-nav .dropdown{gap:20px}.search-box .search-field{min-width:190px;width:190px}}@media (min-width:1140px){.header-nav{margin-left:80px}}form.search-form{position:relative}.search-form span:before{display:block;position:absolute;top:7px;left:9px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%23888888'%3E%3Cpath d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E")}
.ard:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='4.5 0 24 24'%3E%3Cpath fill='%2300878F' d='M12 9a4 4 0 0 0-.6 0 3.2 3.2 0 0 0-3.2 3c0 1.7 1.4 3 3.2 3h.5c2-.3 3.2-2.2 3.7-3-.5-.8-1.7-2.8-3.7-3zm1.4 3.6H9.7v-1.2h3.7v1.2zM21.6 9a4 4 0 0 0-.5 0c-2 .2-3.2 2.2-3.7 3 .5.8 1.7 2.7 3.7 3h.5c1.8 0 3.2-1.3 3.2-3s-1.4-3-3.2-3zm1.7 3.6H22v1.3h-1.2v-1.3h-1.2v-1.2h1.2v-1.3H22v1.3h1.3v1.2z'/%3E%3Cpath fill='%2300878F' d='M16.5 0a12 12 0 1 0 0 24 12 12 0 0 0 0-24zm5 16.8l-.7-.1a6.5 6.5 0 0 1-4.3-3 6.5 6.5 0 0 1-4.3 3h-.8c-2.7 0-5-2-5-4.7a4.9 4.9 0 0 1 5.8-4.7c2 .3 3.5 1.8 4.3 3a6.5 6.5 0 0 1 4.3-3h.8c2.7 0 5 2 5 4.7 0 2.6-2.3 4.8-5 4.8z'/%3E%3C/svg%3E")}.esp:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 906.9 24 24'%3E%3Cpath fill='%23CC111F' d='M9.9 928.4c-.8-.3-1-.9-1-.9-.1 0 .7-1.3.7-1.9v-1.2a3.8 3.8 0 0 0-3.6-3.2 4 4 0 0 1-1.7-.4 4 4 0 0 1-1.8-1.8c-.3-.6-.5-1.2-.5-1.7l.3-1.8a4.2 4.2 0 0 1 3.1-2.5h1.9a12.1 12.1 0 0 1 10.4 14.9c-.1 0-1.4.7-2.2.7s-1.4-.5-1.5-.6l.5-2v-2a8.7 8.7 0 0 0-7.6-7.6c-.9-.1-1.1 0-1.3.3v.9l.9.2a7.2 7.2 0 0 1 5.9 10.4l-.4.7s-1.4-.1-2.1-.5z'/%3E%3Cpath fill='%23CC111F' d='M19.4 925.2l-.1-2a13.6 13.6 0 0 0-10.7-11.4c-.8-.2-2.9-.3-2.9-.3s-.2-1.2 0-1.8S8 908 8 908h.2A17 17 0 0 1 22.7 923c0 .2-.7 2-1.5 2.2s-1.8 0-1.8 0z'/%3E%3Cpath fill='%23CC111F' d='M23.2 919l-.1-.4c-.3-.9-.9-2-1.3-2.8a18.6 18.6 0 0 0-9.9-8.2l.1-.4c.1-.3 0-.3.7-.3A11 11 0 0 1 24 918.8l-.7.2z'/%3E%3Ccircle fill='%23CC111F' cx='6.1' cy='924.7' r='1.9'/%3E%3Cpath fill='%23CC111F' d='M13 930a12 12 0 0 1-8.4-20.6l-.7-.7a13 13 0 0 0 9.1 22.2 13 13 0 0 0 9.2-3.8l-.7-.7a12 12 0 0 1-8.5 3.5z'/%3E%3C/svg%3E")}.bas:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='11.88' y1='44.54' x2='28.85' y2='27.57' gradientTransform='matrix(1 0 0 -1 -8.36 48.05)'%3E%3Cstop offset='0' stop-color='%23752891'/%3E%3Cstop offset='1' stop-color='%23ee2c7e'/%3E%3C/linearGradient%3E%3Ccircle fill='url(%23a)' cx='12' cy='12' r='12'/%3E%3Cpath fill='%23FFF' d='M21.5 12a10.8 10.8 0 01-.73 4.4c-.3.72-.71 1.43-1.33 2.07a4.1 4.1 0 01-2.54 1.2 3.83 3.83 0 01-2.87-.98 7.68 7.68 0 01-1.62-2.02c-.8-1.38-1.3-2.77-1.8-4.11-.5-1.34-.94-2.66-1.49-3.81a6.64 6.64 0 00-.9-1.46c-.3-.37-.66-.54-.9-.6h-.39c-.07 0-.2 0-.3.04-.21.06-.43.17-.67.32-.47.3-.92.78-1.32 1.31A21.3 21.3 0 002.5 12c0-1.47.3-2.93.85-4.37.3-.7.7-1.41 1.3-2.06a4.13 4.13 0 011.83-1.13l.42-.09.27-.03a3.9 3.9 0 012.9 1.07c.71.63 1.17 1.34 1.57 2.03.79 1.39 1.29 2.77 1.79 4.11.48 1.34.93 2.66 1.48 3.8.27.56.59 1.07.9 1.43.34.35.59.52 1 .56.46.05.9-.07 1.38-.35a5 5 0 001.3-1.28A17.19 17.19 0 0021.5 12z'/%3E%3C/svg%3E")}
.tabler{font-size:1.03rem;border-top:1px solid #d2d3d7;text-align:center;border-collapse:collapse;border-spacing:0;margin:0 auto;caption-side:bottom;overflow:hidden;min-width:400px}.tabler td{border-width:0;text-align:center;padding:8px}.tabler .tabler-smalltext{font-size:11px}.tabler tr.tabler-header{font-weight:500;border-bottom:2px solid #d2d3d7}.tabler tr{border-bottom:1px solid #d2d3d7}.parametertabler tr td{text-align:left;padding-left:30px}.parametertabler td:first-child{font-weight:500;padding-left:40px}.wp-caption-text,caption,figcaption{font-size:clamp(.75rem,.71rem + .18vw,.875rem);font-style:italic;line-height:1.7;color:#585b63;margin-top:1rem;text-align:center}.tabler.max550{max-width:550px}.tablescroll{overflow-x:auto;margin-top:clamp(1.375rem,1.2rem + .89vw,2rem);background:linear-gradient(to right,#fff 30%,rgba(255,255,255,0)),linear-gradient(to right,rgba(255,255,255,0),#fff 70%)0 100%,radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.2),transparent),radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.2),transparent)0 100%;background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%,14px 100%;background-position:0 0,100%,0 0,100%;background-attachment:local,local,scroll,scroll}@media (max-width:550px){.parametertabler td:first-child{padding-left:20px}.tabler{font-size:.95rem}}
.lme-string,pre .str{color:#d81b60}.lme-boolean,.lme-number,pre .dec,pre .lit{color:#c53929}.lme-char,.lme-comment,pre .atv,pre .com{color:#0d904f}.func,.lme-builtin,.lme-class-name,.lme-function,.lme-keyword,pre .kwd,pre .tag{color:#3b78e7}.lme-variable,pre .atn,pre .typ{color:#9c27b0}.example pre,code{font-family:Consolas,Monaco,"Courier New",monospace;font-size:.945em}.example pre{line-height:23px;display:block;background-color:transparent;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;margin:0;overflow-x:auto;padding:clamp(1rem,.96rem + .18vw,1.125rem);max-height:605px;background:linear-gradient(to right,#fafafa 30%,rgba(255,255,255,0)),linear-gradient(to right,rgba(255,255,255,0),#fafafa 70%)0 100%,radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.2),transparent),radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.2),transparent)0 100%;background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%,14px 100%;background-position:0 0,100%,0 0,100%;background-attachment:local,local,scroll,scroll}code{border-radius:4px;background:#f9f9f9;color:#1e2d35;padding:1px 6px 3px}.example code{padding:0;background-color:initial;position:initial;top:0;box-shadow:none;color:#1e2d35;background:initial}.example{border-radius:6px;overflow:hidden;margin:clamp(1.375rem,1.2rem + .89vw,2rem)0;background-color:#fafafa;position:relative;border:1px solid #d2d3d7;font-size:clamp(1rem,.96rem + .18vw,1.125rem)}.example .excode,.example .exout{background:#fff;margin:20px 0;border-radius:4px;border:1px solid #ddd}li code,p code{border:1px solid #dfdfdf;font-size:.92em}.example .excode pre,.example .exout pre,.simple-note .example .excode code{background:0 0}.example p{margin:15px auto}.excode code>span.com:first-of-type{position:relative;top:-3px}.prm{color:#0d904f;font-style:italic}.prm:before{content:"<";margin-right:2px}.prm:after{content:">";margin-left:2px}.example pre::-webkit-scrollbar{height:5px;width:5px}.example pre::-webkit-scrollbar-thumb{border-radius:10px;background-color:#ddd}.example pre::-webkit-scrollbar-track{border-radius:10px;background-color:#fafafa}li .example code{border:0}
.simple-note,.special-block{background:#e8f0fe;border:1px solid #d3e3f1;border-radius:8px;color:#32516b;position:relative;margin:clamp(2.2rem,1.7rem + 1.96vw,3rem)0;padding:clamp(1.375rem,1.2rem + .89vw,1.5rem);padding-left:60px}.simple-note:before,.special-block:before{width:25px;height:25px;content:"";background-image:url("data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' viewBox='0 0 25 25' style='enable-background:new 0 0 25 25' xml:space='preserve'%3E%3Cstyle%3E.st0%7Bfill:%2332516b%7D%3C/style%3E%3Cpath class='st0' d='M14.3 16.5h-.5v-5.6c0-.3-.3-.6-.6-.6h-2.4c-.3 0-.6.3-.6.6v1.2c0 .3.3.6.6.6h.5v3.8h-.5c-.3 0-.6.3-.6.6v1.2c0 .3.3.6.6.6h3.5c.3 0 .6-.3.6-.6v-1.2c0-.3-.3-.6-.6-.6z'/%3E%3Ccircle class='st0' cx='12.5' cy='7.6' r='1.5'/%3E%3Cpath class='st0' d='M12.5 0C5.6 0 0 5.6 0 12.5S5.6 25 12.5 25 25 19.4 25 12.5 19.4 0 12.5 0zm0 23.4c-6 0-10.9-4.9-10.9-10.9S6.5 1.6 12.5 1.6s10.9 4.9 10.9 10.9-4.9 10.9-10.9 10.9z'/%3E%3C/svg%3E");background-repeat:no-repeat;position:absolute;top:28px;left:19px;opacity:.8}.simple-note p,.special-block p{margin-top:1rem;margin-bottom:0}.simple-note p:first-child{margin-top:0}.simple-note h3,.special-block h3{margin:10px 0;line-height:1.76em;font-size:17px;color:#32516b;font-weight:500}.simple-note code,.special-block code{background:#ffffff70;color:#32516b;padding:0 6px 2px}.simple-note .example{box-shadow:none;margin:0;padding:0;background:0 0;border-width:0}.simple-note .example .excode{background:#ffffff80;border-width:0;margin:10px 0 20px}.simple-note b,.simple-note p,.special-block b{color:#32516b}.simple-note .example code{padding:0}.simple-note img{margin:2rem auto;display:block}.simple-note .wp-block-image{margin:0}.simple-note h3{margin:0}
.nav-sidebar-wrapper{z-index:2;flex-basis:300px;flex-grow:1;max-width:300px}@media (max-width:767px){.nav-sidebar-wrapper{z-index:2001}}@media (max-width:1470px) and (min-width:768px){.nav-sidebar-wrapper{display:none}}@media (max-width:1470px){.nav-sidebar-wrapper{width:0}}.nav-sidebar-wrapper .nav-sidebar{position:sticky;width:100%;padding-top:20px;padding-bottom:30px;top:0;height:100vh;z-index:4;-webkit-transition:transform .3s cubic-bezier(.55,0,.1,1) 0s;-moz-transition:transform .3s cubic-bezier(.55,0,.1,1) 0s;-o-transition:transform .3s cubic-bezier(.55,0,.1,1) 0s;transition:transform .3s cubic-bezier(.55,0,.1,1) 0s;overflow-y:auto;overflow-x:hidden;border-right:1px solid #d2d3d7;border-bottom:1px solid #d2d3d7;transform:translate3d(-260px,0,0);-webkit-transform:translate3d(-265px,0,0);-moz-transform:translate3d(-265px,0,0);-ms-transform:translate3d(-265px,0,0);-o-transform:translate3d(-265px,0,0);overscroll-behavior:contain}@media (min-width:768px){.nav-sidebar-wrapper .nav-sidebar{transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0)}}.nav-sidebar-wrapper .nav-sidebar::-webkit-scrollbar,.story-highlights::-webkit-scrollbar{width:4px;background-color:#fff}.nav-sidebar-wrapper .nav-sidebar::-webkit-scrollbar-thumb,.story-highlights::-webkit-scrollbar-thumb{border-radius:10px;background-color:#ddd}.nav-sidebar-wrapper .nav-sidebar::-webkit-scrollbar-track,.story-highlights::-webkit-scrollbar-track{border-radius:10px;background-color:#fff}.nav-sidebar a{line-height:1.45em;display:block;padding:6px 0 6px 40px;color:#585b63;position:relative;font-size:15px}.nav-sidebar a.current-chapter,.nav-sidebar a:hover{border-top-right-radius:17px;border-bottom-right-radius:17px;margin-right:20px}.nav-sidebar a:hover{text-decoration:none;background-color:#f3f3f3}.nav-sidebar a.current-chapter{background:#e8f0fe;color:#3e7de7;font-weight:500;border:1px solid #d2e3fc;border-left:4px solid #3e7de7}.highlighter-strip h2:after,.highlighter-strip h2:before,.nav-sidebar-label,.story-highlights input{display:none}.hide-checkbox,.sidebar-overlay{position:absolute;opacity:0;visibility:hidden}.sidebar-overlay{width:100vw;height:100vh;background:rgba(0,0,0,.4);backdrop-filter:blur(5px);position:fixed;top:0;left:0;z-index:3;-webkit-transition:all .3s cubic-bezier(.55,0,.1,1) 0s;-moz-transition:all .3s cubic-bezier(.55,0,.1,1) 0s;-o-transition:all .3s cubic-bezier(.55,0,.1,1) 0s;transition:all .3s cubic-bezier(.55,0,.1,1) 0s}@media (max-width:767px){.nav-sidebar-wrapper{z-index:2001}.nav-sidebar-wrapper .nav-sidebar{background:#fff;position:fixed;width:260px;left:0}.site-main input:checked~.nav-sidebar-wrapper .nav-sidebar{transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0)}.site-main input:checked~.nav-sidebar-wrapper .sidebar-overlay{opacity:1;visibility:visible}.nav-sidebar-label{display:block;position:absolute;top:0;left:0;padding:22px 20px}}.nav-title{font-size:18px;font-weight:500;padding:9px 0 9px 18px;line-height:30px;margin:0}
.nav-rightbar-wrapper{flex:auto;flex-basis:300px;flex-grow:1;max-width:300px;display:revert}.story-highlights{padding-left:20px;padding-right:6px;margin-top:50px;width:100%;background:linear-gradient(to bottom,#fff 30%,rgba(255,255,255,0)),linear-gradient(to bottom,rgba(255,255,255,0),#fff 70%)0 100%,radial-gradient(farthest-side at 50%0,rgba(0,0,0,.2),transparent),radial-gradient(farthest-side at 50% 100%,rgba(0,0,0,.2),transparent);background-repeat:no-repeat;background-size:100% 40px,100% 40px,100% 14px,100% 14px;background-position:100%0,0 100%,100%0,0 100%;background-attachment:local,local,scroll,scroll;overscroll-behavior:contain}.story-highlights-title{font-size:17px;font-weight:500;margin:6px 0 16px;line-height:27px}.story-highlights .tab-content{margin:0}.story-highlights .tab-content li{list-style:none;padding:1px 0;font-size:16px;line-height:22px;margin:8px 0 0}.story-highlights .tab-content li a{color:#585b63}.story-highlights .tab-content li a:hover{color:#1a73e8}.story-highlights .main-tab .tab .tab-content{padding-left:20px;border-left:1px solid #d2d3d7;margin-left:20px}@media (max-width:767px){.nav-rightbar-wrapper{display:none}}@media (max-width:1024px){.nav-rightbar-wrapper{max-width:200px;flex-basis:200px}}
span.pinout{padding:0 7px;border-radius:3px;margin:0;color:#fff;font-size:15px;margin-right:3px;display:inline-block;-webkit-transform:skew(-10deg);-ms-transform:skew(-10deg);transform:skew(-10deg);-moz-transform:skew(-10deg);-o-transform:skew(-10deg)}.pinout.pinout-red{background-color:#cb2b2b}.pinout.pinout-black{background-color:#333739}.pinout.pinout-turquoise{background-color:#1abc9c}.pinout.pinout-green{background-color:#2ecc71}.pinout.pinout-blue{background-color:#3498db}.pinout.pinout-purple{background-color:#8d4ba3}.pinout.pinout-yellow{background-color:#f1c40f}.pinout.pinout-orange{background-color:#e67e22}.pinout.pinout-gray{background-color:#95a5a6}.pinout.pinout-brown{background-color:#7c3d04}.pinout.pinout-dark-turquoise{background-color:#008b8b}.pinout.pinout-dark-blue{background-color:#475577}.pinout.pinout-aqua{background-color:#68ced8}
.highlighter-strip{background:repeating-linear-gradient(-50deg,#f3cd32,#f3cd32 11px,#f1c40f 11px,#f1c40f 22px);width:100%;min-height:50px;margin-top:40px}.highlighter-strip h2{color:#fff;margin:0;line-height:49px;font-size:31px;font-weight:400;padding-left:15px;letter-spacing:.3px}.highlighter-strip-bold-text{font-weight:500}.highlighter-strip+h2{margin-top:32px}
.download-button-wrapper,.pdf-button-wrapper{text-align:center;margin-top:35px;margin-bottom:35px}.download-button,.pdf-button{padding:10px 75px 10px 25px;position:relative;color:#fff;font-weight:400;text-decoration:none;border-radius:4px;display:block;max-width:max-content;max-width:fit-content;margin-left:auto;margin-right:auto}.download-button{background-color:#56aa29}.pdf-button{background-color:#1a73e8}.download-button:after,.pdf-button:after{content:'';position:absolute;right:11px;top:50%;transform:translate(0,-50%);height:29px;width:29px;background-repeat:no-repeat;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29'%3E%3Cpath opacity='.35' fill='%23444' d='M29 14.5a14.5 14.5 0 1 1-29 0 14.5 14.5 0 0 1 29 0'/%3E%3Cpath fill='%23FFF' d='M14.5 23l7.7-7.6H17V7.2H12v8.2H6.8z'/%3E%3C/svg%3E")}.download-button:before,.pdf-button:before{content:'';position:absolute;right:10px;top:0;height:100%;width:43px;border-left:1px solid #44444444}.download-button:hover,.pdf-button:hover{opacity:.9}
.suggested-posts{margin:clamp(2.2rem,1.7rem + 1.96vw,3rem)0}.suggestion{display:flex;width:100%;align-items:center;border:1px solid #d2d3d7;border-radius:8px;overflow:hidden}.sugg-img{width:150px;height:130px;display:flex}.sugg-img img{object-fit:cover}.sugg-detail{flex:1;padding:0 20px}.sugg-title,.sugg-xcerpt{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.sugg-title{font-size:clamp(1rem,1.15rem + .18vw,1.45rem);line-height:1.2;color:#191919;display:block}.sugg-xcerpt{color:#585b63;font-size:clamp(.75rem,.71rem + .18vw,.875rem);margin-top:8px}
.social-sharing a{height:21px;width:21px}.social-sharing{margin:0 auto;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:22px}.bottom-sharing{border-top:1px solid #e6e6e6;text-align:center;padding:50px 0 30px;font-size:17px;line-height:16px;margin:54px auto 0;max-width:fit-content;gap:30px}.share-text{letter-spacing:1.5px;font-weight:500;color:#585b63;font-size:16px}.bottom-sharing a{height:25px;width:25px}a.facebook:hover svg{fill:#1877f2}a.twitter:hover svg{fill:#38a1f3}a.pinterest:hover svg{fill:#bd081c}a.linkedin:hover svg{fill:#0077b5}.social-sharing a svg{fill:#333}.top-sharing a svg{fill:#888}.top-sharing a.pinterest{height:23px;width:23px}.bottom-sharing a.pinterest{height:27px;width:27px}
#post-19,#post-457,#post-459{padding:20px;max-width:730px;margin:0 auto}.suggested-readings h4,br{display:none}.special-text{font-size:18px;color:#4285f4;text-align:center;margin:1.5em auto}
@media print{article{position:fixed}.social-sharing,footer{display:none}}
.amzn-btn{font-size:15px;line-height:19px;color:#111;background:linear-gradient(#f7dfa5,#f0c14b)0 0;border-radius:3px;padding:6px 12px 7px 38px;position:relative;margin-left:auto}.amzn-btn:hover{background:linear-gradient(#f5d78e,#eeb933)0 0}.amzn-btn:active{background:linear-gradient(#eeb933,#f5d78e)0 0}.amzn-btn:before{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1792' height='1792'%3E%3Cpath d='M1551 1476q15-6 26-3t11 17.5-15 33.5q-13 16-44 43.5t-95.5 68-141 74-188 58T875 1792q-119 0-238-31t-209-76.5-172.5-104-132.5-105-84-87.5q-8-9-10-16.5t1-12 8-7 11.5-2T61 1355q192 117 300 166 389 176 799 90 190-40 391-135zm207-115q11 16 2.5 69.5T1732 1533q-34 83-85 124-17 14-26 9t0-24q21-45 44.5-121.5t6.5-98.5q-5-7-15.5-11.5t-27-6-29.5-2.5-35 0-31.5 2-31 3-22.5 2q-6 1-13 1.5t-11 1-8.5 1-7 .5h-10l-3-.5-2-1.5-1.5-3q-6-16 47-40t103-30q46-7 108-1t76 24zm-394-443q0 31 13.5 64t32 58 37.5 46 33 32l13 11-227 224q-40-37-79-75.5t-58-58.5l-19-20q-11-11-25-33-38 59-97.5 102.5T860 1332t-140 23-137.5-21-117.5-65.5-83-113T351 993q0-84 28-154t72-116.5 106.5-83 122.5-57T810 548t119.5-18.5 99.5-6.5V396q0-65-21-97-34-53-121-53-6 0-16.5 1T830 259t-56 29.5-56 59.5-48 96l-294-27q0-60 22-119t67-113 108-95 151.5-65.5T915 0q100 0 181 25t129.5 61.5 81 83 45 86T1364 329v589zm-672 21q0 86 70 133 66 44 139 22 84-25 114-123 14-45 14-101V708q-59 2-111 12t-106.5 33.5-87 71T692 939z'/%3E%3C/svg%3E");background-position:9px center;background-repeat:no-repeat;background-size:14px 14px;inset:0;position:absolute;left:1px}.afflt{margin-top:clamp(1.375rem,1.2rem + .89vw,2rem)}.afflt-row{display:flex;align-items:center;min-height:66px;border-bottom:1px solid #d2d3d7;gap:20px;padding:0 50px 0 30px;padding:0 clamp(1rem,1rem + 1.96vw,3rem)0 clamp(1rem,.8rem + .9vw,2rem)}.afflt-row .wp-block-image,.afflt-row p{margin:0}.afflt-row p{font-size:1.03rem;padding-left:50px;padding-left:clamp(.1rem,1rem + 1.9vw,3rem)}.afflt-row .wp-block-image figure{width:55px}.afflt .afflt-row:first-child{border-top:1px solid #d2d3d7}.afflt-disclose{font-size:15px}@media (max-width:560px){.afflt .amzn-btn span{display:none}.afflt-row .wp-block-image figure{width:45px}.afflt-row p{font-size:.93rem;padding-left:10px}.afflt-row{padding:0}}@media (max-width:420px){.amzn-btn:before{display:none}.amzn-btn{padding-left:12px}}
span.wire{width:255px;display:block;position:relative;margin:0 auto}span.wire:after,span.wire:before{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' viewBox='0 0 46 7.3'%3E%3Cpath fill='%23535657' d='M13.7 0H46v7.3H13.7z'/%3E%3Cpath fill='%23C3C4C6' d='M0 2.7h13.7v1.8H0z'/%3E%3C/svg%3E");background-repeat:no-repeat;display:block;height:8px;top:0;position:absolute;width:50px;z-index:1}span.wire:before{left:0}span.wire:after{right:0;transform:rotate(180deg)}span.wire span{display:block;height:4px;margin:auto 15px;position:relative;top:2px}span.wire-red{background:#cb2b2b}span.wire-black{background:#333739}span.wire-blue{background:#3498db}span.wire-green{background:#2ecc71}span.wire-yellow{background:#f1c40f}span.wire-orange{background:#e67e22}span.wire-purple{background:#8d4ba3}span.wire-gray{background:#95a5a6}span.wire-brown{background:#a14403}.tabler.connections{min-width:480px}.tabler.connections tr:not(:first-child){border-width:0}.tabler.connections tr.tabler-header{border-bottom:1px solid #d2d3d7}.tabler.connections td{padding:6px}.tabler.connections td:not(:nth-child(2)){width:160px}</style><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/banger.js.download" async=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/olathe.js.download" async=""></script><style id="ezoicCSS">.video-js .vjs-big-play-button .vjs-icon-placeholder:before,.video-js .vjs-modal-dialog,.vjs-button>.vjs-icon-placeholder:before,.vjs-modal-dialog .vjs-modal-dialog-content{position:absolute;top:0;left:0;width:100%;height:100%}.video-js .vjs-big-play-button .vjs-icon-placeholder:before,.vjs-button>.vjs-icon-placeholder:before{text-align:center}@font-face{font-family:VideoJS;src:url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAABUgAAsAAAAAItAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAAPgAAAFZRiV33Y21hcAAAAYQAAAEJAAAD5p42+VxnbHlmAAACkAAADwwAABdk9R/WHmhlYWQAABGcAAAAKwAAADYn8kSnaGhlYQAAEcgAAAAdAAAAJA+RCL1obXR4AAAR6AAAABMAAAC8Q44AAGxvY2EAABH8AAAAYAAAAGB7SIHGbWF4cAAAElwAAAAfAAAAIAFAAI9uYW1lAAASfAAAASUAAAIK1cf1oHBvc3QAABOkAAABfAAAAnXdFqh1eJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGR7xDiBgZWBgaWQ5RkDA8MvCM0cwxDOeI6BgYmBlZkBKwhIc01hcPjI+FGPHcRdyA4RZgQRADbZCycAAHic7dPXbcMwAEXRK1vuvffem749XAbKV3bjBA6fXsaIgMMLEWoQJaAEFKNnlELyQ4K27zib5PNF6vl8yld+TKr5kH0+cUw0xv00Hwvx2DResUyFKrV4XoMmLdp06NKjz4AhI8ZMmDJjzoIlK9Zs2LJjz4EjJ85cuHLjziPe/0UWL17mf2tqKLz/9jK9f8tXpGCoRdPKhtS0RqFkWvVQNtSKoVYNtWaoddPXEBqG2jQ9XWgZattQO4baNdSeofYNdWCoQ0MdGerYUCeGOjXUmaHODXVhqEtDXRnq2lA3hro11J2h7g31YKhHQz0Z6tlQL4Z6NdSbod4N9WGoT9MfHF6GmhnZLxyDcRMAAAB4nJ1YC1gUV5auc6urCmxEGrq6VRD6ATQP5dHPKK8GRIyoKApoEBUDAiGzGmdUfKNRM4qLZrUZdGKcGN/GZJKd0SyOWTbfbmZ2NxqzM5IxRtNZd78vwYlJdtREoO7sudVNq6PmmxmKqrqPU+eee173P80Bh39Cu9DOEY4DHZBK3i20D/QRLcfxbE5sEVtwLpZzclw4ibFIkSCJUcZ4MBpMnnzwuKNsGWBL5i3qy6kO2dVpvUpKbkAP9fq62rdeGJ+TM/7C1nbIutfuWrWk5ci4zMxxR1qW/N+9JsmCGXj9VKWhFx/6tr/nz78INDm2C9yPF/fDcxLuyKxLBZ1ZBz2QTi+RSkiH5RrDQJ/GgGQadX9m0YSURs7GpSG905Zsk41uj14yul1OtieZ7QUk5GRG/YiS7PYYPSAZNRed9sq3+bOpz00rKb7pe/ZEZvbALxZAHT3AFoH8GXP3rt67QFn40kt8W13FjLTDb48c+fSi5/7h0P4dL5yz7DPtbmgmYxfQA9RL2+EOfTcvdp+1vmuBpvOll1As1S6ak0IvJzC7sKWJFtJgBd2uWcg+0Zyg7dzQfhcjXRgXGZRf5/a4A58IDU777Nl252AUk4m2ByRRjqTNqIDCEJeAnU3iCFwrkrNwXEzg4yFevBwypzxkcX+AIfk3VEKl3XmWbT8788SzvpvFJaiOezL6QyuSr9VNf97csNu0z3LuhR0wATUxZAfVBwVOy+nQFhxYdWaXlXe4HC4zWGWzzsrLDtmhI9pOWOHv7PTT7XybH1Z0+v2d5Abd3kmG+TsH23CS/KwTxx/JkzEwx6jcQOUc42LLwHJ/J93uZ9ygh3HuZGwqsY9dWDHQ58dxNqyqKRQTYdxwTubiOSs3FiMDkq0WSZQgCT0GBDOg2lxOAd1FlPVGs4AKBAcYHHaP2wPkHaivmLF5zYqnIZrvcHx5gN4k/6tchNW1DtdgNL2KrxEkS/kfnIHoVnp1VjmjpTf5r0lTzLj0mdS28tX+XGorU364eMPmnWVl8J36nlKGw3CZhjEiuMw8h8mKvhGD+4/lElBWjAhLJMg6fTw4zPZ8cOmcGQBm2Qxml1nAm13CpYGq1JKUlJJUzQn1PTAO0mgv6VMMpA/DuRfSWEu4lDIxdbAtdWIKvnn2Vk766CWfz9fpY0sH/UpdP50rfszaVpdVRmvIejEdLMk45s4Bu0EWHjeOySmFyZSiMahvZdNSn29peoI/YexYfKQTLeurTXXwEVLeSfInTWHkkMaeUx7sBvOCSTSj3AlcKjfueyS36tCrXDlgRtF0etFq9jhc1kfKuBT/OwMr0F4UUTTh1AN0g20+H/ScPcsIEsYu9d/zN5PmjprPtNwI1ZZcDK6iC97Mcjp2y2aX36f+QbpGHrgRuHlXJ+Zf6PFRL2uQSp8vxHeF2IoRb8Rd2rhMzsNxSRmEuKK4JFnkojhMcx6jzqHzGMGFcW+MhBj0bhf6cowN+45I4LHvwT6fteu7M42wGRI/pxcg6/MZdEvt1U1XaulHFXuLmqov/MukvRVL35/b3ODM1+4aPjtzeK7zmUkV2h3DN54HaQ9GzJvxHRb6Ks2gB81fwqraT+A7GvZJrRLRofU6G0urNL+zFw3v0FaVDFxsKEZW56F31r6ip6vOL+FCObBPuIMRiXld9RaMdLzRIOGhPey2T9vA/35DmZPK9IWaT9d/WgOGMieYqJ/dzjLIhZU118gbysxrNUGefxD6UO/hyNNllpFTOIbx32kSFQctnweV5PxTMHLjRqiAN+fQE9gL+Xy5WB6MOS4GJJuYbDUHhcKDhHGRbLzOpjsjdM1+iwAZLGeieehACX2hhI7SjK/ZUTNrvVje31TxJiFBGYViWFkCn9PMeX9fS6qVbzfCj4fOCTzDnuWy2c4xA7mdNkA3RS9FH2VeqzdCBlixxbzXjvkHU1I8BOYFb1pZvPIHSSIj4svT8xpzcxtXN+ZKyjdDvbz08niiF3PqV9Tn5NST8vg48MTaY8E5xqSSIsWoWHo+LtAzxdH/GDUyp37CBEYfso04F/NlMTcDJUTpECLY0HFGQHImE8xsEUdgnrQlixIvGhJA1BvxpDHGxEMBYFeNOHcBJlSjwe2JcSfbBEsGOPPBHg/6SBBOCsLLw0SpUxod0Z1bFMfLkbQ3UiZxEyd0Dx8t+SRBu18Q9msFbI4e3p1THEfkSEh7kEJ5orR10qTWDvbgPWn5aWvCYyOAjwgXyjJi34uMjo58L25cmRAeQZWI2PA1QQLsPESAH8WGFwZZ4SPoR73BHPzIPMJj9AreBzKUmrH4todT18ANvi1oc3YGjUT/0j+ExUwq8PI9BLaCQIpvewwYu2evAG/Vo/5avPdY7o+BemLLXw3y+AdkzP9bpIxB1wm5EYq8fesHbPEPtm6HrHvtx4jcGPR8fDDpkZBefIjB46QnlUNRltv4Z/pO/J6dxEjhYAtmoMeq+GozvUVvNYOW3m6GCIhoprcfr97B8AcIQYsfD8ljUvGNjvkrpj0ETA48ZMIxCeqsRIsQALE0gi2GB+glSOfbOjW3GSBM9yPq8/rpJXrJDz0BPxV6xdN4uiCGDQed3WhgFkBUZEFsmeyyBpzXrm7UGTBZG8Lh5aubFufk5eUsbrrFGr7McYdbltxa0nKYqRKbQjvikXYkTGM0f2xuyM3Ly21oXnWfvf6I1BmZwfh7EWWIYsg2nHhsDhOnczhJcmI6eBAmy3jZ3RiJmKQR/JA99FcwsfaVbNDDyi1rL9NPj9hfo61wjM6BjzOLijLpeTgk/pL+ip6tfYWupzeOgPny2tcUu9J/9mhxJlgyi985NFRbvCVewXUNXLJaW0RxZqtRYtnfYdcYomXQWdnJHQA3jiEEkeTQWcWxdDP9IvvVWvo2TK553XEMEq+s69/QDU1Q7p0zxwsm9qS379whr8NI2PJqLUyGyfNeX3eFfnJU2U+uHR9cVV1IqgurqwuV44XVp0h2qN55X5XJwtk59yP0IZuHrqBOBIuIYhkcoT6Kx79Pu2HS/IPZIMOqLWs/pteOOk4NPgEb6QAIdAPsyZk5Mwd+wVaHMexJv719W7xCu2l37UG6lvYdBcvHa08p89741zd63phTRGqL5ggo6SlvdbWXzCqsPq78NnSu7wnKy2HNZbVoRCI7UJEOyRj+sPE002tOOY7Qa5fXboFWkLNeqYUSZRocp9XwSUZxcQZ9Hw6LV2pOoVmvHQEDbGIENEG5i6bLgMSM4n8+FNLTtAds99DaWEvgcf4o5SyYe9x+kF6/tGoTPAdRmS/XQIEy//QxKC2oqioAI3tS5auvxCtzT6y6RK8fhChYcwCJaMJhxc0vqSxQ/qmgsrKAlBZUHlauheTpvd9uj5DnLzJct6qfq5fXbYHVIGcfrIVJihbaVLu1wW7Vbs8zK0A8e9Jvb91S9cVMjPrazD6gpfeZTXzYbCFMcppVRsGMpp55OWgx1/3JeAxW1Y7AORgM/m3rWrsdLkQVmEVSU16cX/e7uvkvpqRiQsG06XJ0t64Tf+l0nG1dt025gyOIZlvq5u9KSU1N2TW/rsWnnMRPyTDkctbhvIcNvYIXWyLzdwYLoYesUbaQG4iK2cWO2gdpeUYLqDD0MUTOPhDIGnZEs58yArR86FznuWEsU4YDi2x26dA4klkn8Qa6vhk2QUfX4Jxm/ngX9r7ogn1dmlmwqZmuhxtdg9XN/DEcUgqb+9hMyNansfaQET2mcROCmGEMVqxm5u+h6kN2MOwgqykV2wH9yQG9DvVFU38Pogaf4FVuE62KI/oJ02RDdWW2w5dqQwU/8+N1q1DlvsL863u61KLE7x/o8w0VJQM/Y/SQ3unIrqxueEa1BqT5VFNsO7p39/UC771a77RowpaKe9nvJQIT1Pog5LGx8XblBKmCNGTf3xMogAQvPnz9PYKX/08sVDTG1OKUlOLUgS/UaZtm1NAaYTsl7i9ZQ+L6O4Rl0OGa577LuWvc+C+x96/vYh0lLBuM+7XwI/dTLtdT7v4d6rRTWDnku0IBrqFnZ5bVIqKP8lasJlithWnaLhTsr8qFJBulF/70p4undou36HeTJ5+jv1fCybeQ8nH3+Xv6aENczmOFlab+hqMDg1rLOt12A+tiUFrYDwQ6c3RUJp601nzegTNX6WlYAI2zSUV945F6zU56ZmZVQaWspWcIADxJ9GmljQUnL2p2Dpr5T8H+5KJFu+vqBq8qvyHRzStLHPEO5SPYCV9nZe0yZT2RcH0oHvegSzNEJ0oGWU8iQWM12dgPEugngVceGIwZgPFp0BiT1a0a3R5Rcot7ihfA1J/20v96jX7zmTX9s583H0kwx6WnLd09cXrR9LGroOa9sHNbdyz8wcKk5lqhaVFJZNwmqtw884MXNdvJujpBa3xzuSaZH9sxa06Z7x+HJSduPbdYHv/DgmEhfbehvlmGN7JUkcG78GDM12CeyFFTPNqVeNxC1gzjz+c2nVo63Xxs8rKJWXoBJM0tmEbfGm4qzpoOH3xpzQfyxLzW1gnE9NHo6tol1eMEic4ZVPrjnVi0kqAe2sQ2bgqupScaq8WGlUWgWHI51SKJl/UYT6zccNsCSkBtiVZLsiefuFSDYT3Fi8Zk7EUnmjTRYtsFeuDDJS05MW79M3mr3mla+d8dzac31KTPmBYfFiYSUef48PhPjm9ryZsSGZZkdNvzq0Y9rdNcwDq5Dg5C3QW+7UN64IKptvS3tvHbvu5c9pv1Exau21rc9LIpwpQwUjTq8576yeVDz5+4WZ1nXT43wV60rPLJbDp/UksNrP3iQ2SA63Pst058gOYDbhRnRUw8l/sRt4HbxPzO4WYpInCpuVgSbVh6JXuwnnJngKTTCwaPWmG5Xbhpm1U0Yt3FyBGpGYemPM77p2TD904JjgJ2QFpFLeYpGx8X15Qx1Zk31p5ki9ZLUuXE0lmuJlcakJMVLeFS1iIvrB8drY0aloilakqCZwzwRORtxlgwxS4IThggJd4TDxoiaAIT80fFPGrCPPru+puFn504P/ybr4ihA/6dKASLshEJic7xE8tmzu3KzA7TABBe8y5fNbWo3ilQn/SuFKM16b2l5bOeayqfGhYmhIulU+fVNDdWVv4NMzX10MBHyPR5uhWUu8D9P1VnIMt4nGNgZGBgAOJ/1bf64vltvjJwszOAwAOlmqvINEc/WJyDgQlEAQA+dgnjAHicY2BkYGBnAAGOPgaG//85+hkYGVCBPgBGJwNkAAAAeJxjYGBgYB/EmKMPtxwAhg4B0gAAAAAAAA4AaAB+AMwA4AECAUIBbAGYAe4CLgKKAtAC/ANiA4wDqAPgBDAEsATaBQgFWgXABggGLgZwBqwG9gdOB4oH0ggqCHAIhgicCMgJJAlWCYgJrAnyCkAKdgrkC7J4nGNgZGBg0GdoZmBnAAEmIOYCQgaG/2A+AwAaqwHQAHicXZBNaoNAGIZfE5PQCKFQ2lUps2oXBfOzzAESyDKBQJdGR2NQR3QSSE/QE/QEPUUPUHqsvsrXjTMw83zPvPMNCuAWP3DQDAejdm1GjzwS7pMmwi75XngAD4/CQ/oX4TFe4Qt7uMMbOzjuDc0EmXCP/C7cJ38Iu+RP4QEe8CU8pP8WHmOPX2EPz87TPo202ey2OjlnQSXV/6arOjWFmvszMWtd6CqwOlKHq6ovycLaWMWVydXKFFZnmVFlZU46tP7R2nI5ncbi/dDkfDtFBA2DDXbYkhKc+V0Bqs5Zt9JM1HQGBRTm/EezTmZNKtpcAMs9Yu6AK9caF76zoLWIWcfMGOSkVduvSWechqZsz040Ib2PY3urxBJTzriT95lipz+TN1fmAAAAeJxtkXlT2zAQxf1C4thJAwRajt4HRy8VMwwfSJHXsQZZcnUQ+PYoTtwpM+wf2t9brWZ2n5JBsol58nJcYYAdDDFCijEy5JhgileYYRd72MccBzjEa7zBEY5xglO8xTu8xwd8xCd8xhd8xTec4RwXuMR3/MBP/MJvMPzBFYpk2Cr+OF0fTEgrFI1aHhxN740KDbEmeJpsWZlVj40s+45aLuv9KijlhCXSjLQnu/d/4UH6sWul1mRzFxZeekUuE7z10mg3qMtM1FGQddPSrLQyvJR6OaukItYXDp6pCJrmz0umqkau5pZ2hFmm7m+ImG5W2t0kZoJXUtPhVnYTbbdOBdeCVGqpJe7XKTqSbRK7zbdwXfR0U+SVsStuS3Y76em6+Ic3xYiHUppc04Nn0lMzay3dSxNcp8auDlWlaCi48yetFD7Y9USsx87G45cuop1ZxQUtjLnL4j53FO0a+5X08UXqQ7NQNo92R0XOz7sxWEnxN2TneJI8Acttu4Q=) format("woff");font-weight:400;font-style:normal}.video-js .vjs-big-play-button .vjs-icon-placeholder:before,.video-js .vjs-play-control .vjs-icon-placeholder,.vjs-icon-play{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js .vjs-big-play-button .vjs-icon-placeholder:before,.video-js .vjs-play-control .vjs-icon-placeholder:before,.vjs-icon-play:before{content:"\f101"}.vjs-icon-play-circle{font-family:VideoJS!important;font-weight:400;font-style:normal}.vjs-icon-play-circle:before{content:"\f102"}.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder,.vjs-icon-pause{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before,.vjs-icon-pause:before{content:"\f103"}.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder,.vjs-icon-volume-mute{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before,.vjs-icon-volume-mute:before{content:"\f104"}.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder,.vjs-icon-volume-low{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before,.vjs-icon-volume-low:before{content:"\f105"}.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder,.vjs-icon-volume-mid{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before,.vjs-icon-volume-mid:before{content:"\f106"}.video-js .vjs-mute-control .vjs-icon-placeholder,.vjs-icon-volume-high{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js .vjs-mute-control .vjs-icon-placeholder:before,.vjs-icon-volume-high:before{content:"\f107"}.video-js .vjs-fullscreen-control .vjs-icon-placeholder,.vjs-icon-fullscreen-enter{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js .vjs-fullscreen-control .vjs-icon-placeholder:before,.vjs-icon-fullscreen-enter:before{content:"\f108"}.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder,.vjs-icon-fullscreen-exit{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before,.vjs-icon-fullscreen-exit:before{content:"\f109"}.vjs-icon-spinner{font-family:VideoJS!important;font-weight:400;font-style:normal}.vjs-icon-spinner:before{content:"\f10a"}.video-js .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-subtitles-button .vjs-icon-placeholder,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder,.vjs-icon-subtitles{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-subtitles-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before,.vjs-icon-subtitles:before{content:"\f10b"}.video-js .vjs-captions-button .vjs-icon-placeholder,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder,.vjs-icon-captions{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js .vjs-captions-button .vjs-icon-placeholder:before,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before,.vjs-icon-captions:before{content:"\f10c"}.vjs-icon-hd{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-hd:before{content:"\f10d"}.video-js .vjs-chapters-button .vjs-icon-placeholder,.vjs-icon-chapters{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js .vjs-chapters-button .vjs-icon-placeholder:before,.vjs-icon-chapters:before{content:"\f10e"}.vjs-icon-downloading{font-family:VideoJS!important;font-weight:400;font-style:normal}.vjs-icon-downloading:before{content:"\f10f"}.vjs-icon-file-download{font-family:VideoJS!important;font-weight:400;font-style:normal}.vjs-icon-file-download:before{content:"\f110"}.vjs-icon-file-download-done{font-family:VideoJS!important;font-weight:400;font-style:normal}.vjs-icon-file-download-done:before{content:"\f111"}.vjs-icon-file-download-off{font-family:VideoJS!important;font-weight:400;font-style:normal}.vjs-icon-file-download-off:before{content:"\f112"}.vjs-icon-share{font-family:VideoJS!important;font-weight:400;font-style:normal}button.vjs-share__social{padding:0!important}.vjs-share__social img{max-width:none!important}.vjs-share__social_pinterest img{min-height:30px!important}.vjs-icon-cog{font-family:VideoJS!important;font-weight:400;font-style:normal}.vjs-icon-cog:before{content:"\f114"}.vjs-icon-square{font-family:VideoJS!important;font-weight:400;font-style:normal}.vjs-icon-square:before{content:"\f115"}.video-js .vjs-play-progress,.video-js .vjs-volume-level,.vjs-icon-circle,.vjs-seek-to-live-control .vjs-icon-placeholder{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js .vjs-play-progress:before,.video-js .vjs-volume-level:before,.vjs-icon-circle:before,.vjs-seek-to-live-control .vjs-icon-placeholder:before{content:"\f116"}.vjs-icon-circle-outline{font-family:VideoJS!important;font-weight:400;font-style:normal}.vjs-icon-circle-outline:before{content:"\f117"}.vjs-icon-circle-inner-circle{font-family:VideoJS!important;font-weight:400;font-style:normal}.vjs-icon-circle-inner-circle:before{content:"\f118"}.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder,.vjs-icon-cancel{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before,.vjs-icon-cancel:before{content:"\f119"}.vjs-icon-repeat{font-family:VideoJS!important;font-weight:400;font-style:normal}.vjs-icon-repeat:before{content:"\f11a"}.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder,.vjs-icon-replay{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before,.vjs-icon-replay:before{content:"\f11b"}.video-js .vjs-skip-backward-5 .vjs-icon-placeholder,.vjs-icon-replay-5{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js .vjs-skip-backward-5 .vjs-icon-placeholder:before,.vjs-icon-replay-5:before{content:"\f11c"}.video-js .vjs-skip-backward-10 .vjs-icon-placeholder,.vjs-icon-replay-10{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js .vjs-skip-backward-10 .vjs-icon-placeholder:before,.vjs-icon-replay-10:before{content:"\f11d"}.video-js .vjs-skip-backward-30 .vjs-icon-placeholder,.vjs-icon-replay-30{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js .vjs-skip-backward-30 .vjs-icon-placeholder:before,.vjs-icon-replay-30:before{content:"\f11e"}.video-js .vjs-skip-forward-5 .vjs-icon-placeholder,.vjs-icon-forward-5{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js .vjs-skip-forward-5 .vjs-icon-placeholder:before,.vjs-icon-forward-5:before{content:"\f11f"}.video-js .vjs-skip-forward-10 .vjs-icon-placeholder,.vjs-icon-forward-10{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js .vjs-skip-forward-10 .vjs-icon-placeholder:before,.vjs-icon-forward-10:before{content:"\f120"}.video-js .vjs-skip-forward-30 .vjs-icon-placeholder,.vjs-icon-forward-30{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js .vjs-skip-forward-30 .vjs-icon-placeholder:before,.vjs-icon-forward-30:before{content:"\f121"}.video-js .vjs-audio-button .vjs-icon-placeholder,.vjs-icon-audio{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js .vjs-audio-button .vjs-icon-placeholder:before,.vjs-icon-audio:before{content:"\f122"}.vjs-icon-next-item{font-family:VideoJS!important;font-weight:400;font-style:normal}.vjs-icon-next-item:before{content:"\f123"}.vjs-icon-previous-item{font-family:VideoJS!important;font-weight:400;font-style:normal}.vjs-icon-previous-item:before{content:"\f124"}.vjs-icon-shuffle{font-family:VideoJS!important;font-weight:400;font-style:normal}.vjs-icon-shuffle:before{content:"\f125"}.vjs-icon-cast{font-family:VideoJS!important;font-weight:400;font-style:normal}.vjs-icon-cast:before{content:"\f126"}.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder,.vjs-icon-picture-in-picture-enter{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before,.vjs-icon-picture-in-picture-enter:before{content:"\f127"}.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder,.vjs-icon-picture-in-picture-exit{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder:before,.vjs-icon-picture-in-picture-exit:before{content:"\f128"}.vjs-icon-facebook{font-family:VideoJS!important;font-weight:400;font-style:normal}.vjs-icon-facebook:before{content:"\f129"}.vjs-icon-linkedin{font-family:VideoJS!important;font-weight:400;font-style:normal}.vjs-icon-linkedin:before{content:"\f12a"}.vjs-icon-twitter{font-family:VideoJS!important;font-weight:400;font-style:normal}.vjs-icon-twitter:before{content:"\f12b"}.vjs-icon-tumblr{font-family:VideoJS!important;font-weight:400;font-style:normal}.vjs-icon-tumblr:before{content:"\f12c"}.vjs-icon-pinterest{font-family:VideoJS!important;font-weight:400;font-style:normal}.vjs-icon-pinterest:before{content:"\f12d"}.video-js .vjs-descriptions-button .vjs-icon-placeholder,.vjs-icon-audio-description{font-family:VideoJS!important;font-weight:400;font-style:normal}.video-js .vjs-descriptions-button .vjs-icon-placeholder:before,.vjs-icon-audio-description:before{content:"\f12e"}.video-js{display:inline-block;vertical-align:top;box-sizing:border-box;color:#fff;background-color:#000;position:relative;padding:0;font-size:10px;line-height:1;font-weight:400;font-style:normal;font-family:Arial,Helvetica,sans-serif;word-break:initial}.video-js:-moz-full-screen{position:absolute}.video-js:-webkit-full-screen{width:100%!important;height:100%!important}.video-js[tabindex="-1"]{outline:0}.video-js *,.video-js :after,.video-js :before{box-sizing:inherit}.video-js ul{font-family:inherit;font-size:inherit;line-height:inherit;list-style-position:outside;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.video-js.vjs-1-1,.video-js.vjs-16-9,.video-js.vjs-4-3,.video-js.vjs-9-16,.video-js.vjs-fluid{width:100%;max-width:100%}.video-js.vjs-1-1:not(.vjs-audio-only-mode),.video-js.vjs-16-9:not(.vjs-audio-only-mode),.video-js.vjs-4-3:not(.vjs-audio-only-mode),.video-js.vjs-9-16:not(.vjs-audio-only-mode),.video-js.vjs-fluid:not(.vjs-audio-only-mode){height:0}.video-js.vjs-16-9:not(.vjs-audio-only-mode){padding-top:56.25%}.video-js.vjs-4-3:not(.vjs-audio-only-mode){padding-top:75%}.video-js.vjs-9-16:not(.vjs-audio-only-mode){padding-top:177.7777777778%}.video-js.vjs-1-1:not(.vjs-audio-only-mode){padding-top:100%}.video-js.vjs-fill:not(.vjs-audio-only-mode){width:100%;height:100%}.video-js .vjs-tech{position:absolute;top:0;left:0;width:100%!important;height:100%!important}.video-js.vjs-audio-only-mode .vjs-tech{display:none}body.vjs-full-window,body.vjs-pip-window{padding:0;margin:0;height:100%}.vjs-full-window .video-js.vjs-fullscreen,body.vjs-pip-window .video-js{position:fixed;overflow:hidden;z-index:1000;left:0;top:0;bottom:0;right:0}.video-js.vjs-fullscreen:not(.vjs-ios-native-fs),body.vjs-pip-window .video-js{width:100%!important;height:100%!important;padding-top:0!important}.video-js.vjs-fullscreen.vjs-user-inactive{cursor:none}.vjs-pip-container .vjs-pip-text{position:absolute;bottom:10%;font-size:2em;background-color:rgba(0,0,0,.7);padding:.5em;text-align:center;width:100%}.vjs-layout-small.vjs-pip-container .vjs-pip-text,.vjs-layout-tiny.vjs-pip-container .vjs-pip-text,.vjs-layout-x-small.vjs-pip-container .vjs-pip-text{bottom:0;font-size:1.4em}.vjs-hidden{display:none!important}.vjs-disabled{opacity:.5;cursor:default}.video-js .vjs-offscreen{height:1px;left:-9999px;position:absolute;top:0;width:1px}.vjs-lock-showing{display:block!important;opacity:1!important;visibility:visible!important}.vjs-no-js{padding:20px;color:#fff;background-color:#000;font-size:18px;font-family:Arial,Helvetica,sans-serif;text-align:center;width:300px;height:150px;margin:0 auto}.vjs-no-js a,.vjs-no-js a:visited{color:#66a8cc}.video-js .vjs-big-play-button{font-size:3em;line-height:1.9em;height:1.63332em;width:3em;display:block;position:absolute;top:50%;left:50%;padding:0;margin-top:-.81666em;margin-left:-1.5em;cursor:pointer;opacity:1;border:.06666em solid #fff;background-color:#2b333f;background-color:rgba(43,51,63,.7);border-radius:.3em;transition:all .4s}.video-js .vjs-big-play-button:focus,.video-js:hover .vjs-big-play-button{border-color:#fff;background-color:#73859f;background-color:rgba(115,133,159,.5);transition:all 0s}.vjs-controls-disabled .vjs-big-play-button,.vjs-error .vjs-big-play-button,.vjs-has-started .vjs-big-play-button,.vjs-using-native-controls .vjs-big-play-button{display:none!important}.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause .vjs-big-play-button{display:block}.video-js button{background:0 0;border:none;color:inherit;display:inline-block;font-size:inherit;line-height:inherit;text-transform:none;text-decoration:none;transition:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.vjs-control .vjs-button{width:100%;height:100%}.video-js .vjs-control.vjs-close-button{cursor:pointer;height:3em;position:absolute;right:0;top:.5em;z-index:2}.video-js .vjs-modal-dialog{background:rgba(0,0,0,.8);background:linear-gradient(180deg,rgba(0,0,0,.8),rgba(255,255,255,0));overflow:auto}.video-js .vjs-modal-dialog>*{box-sizing:border-box}.vjs-modal-dialog .vjs-modal-dialog-content{font-size:1.2em;line-height:1.5;padding:20px 24px;z-index:1}.vjs-menu-button{cursor:pointer}.vjs-menu-button.vjs-disabled{cursor:default}.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu{display:none}.vjs-menu .vjs-menu-content{display:block;padding:0;margin:0;font-family:Arial,Helvetica,sans-serif;overflow:auto}.vjs-menu .vjs-menu-content>*{box-sizing:border-box}.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu{display:none}.vjs-menu li{list-style:none;margin:0;padding:.2em 0;line-height:1.4em;font-size:1.2em;text-align:center;text-transform:lowercase}.js-focus-visible .vjs-menu li.vjs-menu-item:hover,.vjs-menu li.vjs-menu-item:focus,.vjs-menu li.vjs-menu-item:hover{background-color:#73859f;background-color:rgba(115,133,159,.5)}.js-focus-visible .vjs-menu li.vjs-selected:hover,.vjs-menu li.vjs-selected,.vjs-menu li.vjs-selected:focus,.vjs-menu li.vjs-selected:hover{background-color:#fff;color:#2b333f}.js-focus-visible .vjs-menu :not(.vjs-selected):focus:not(.focus-visible),.video-js .vjs-menu :not(.vjs-selected):focus:not(:focus-visible){background:0 0}.vjs-menu li.vjs-menu-title{text-align:center;text-transform:uppercase;font-size:1em;line-height:2em;padding:0;margin:0 0 .3em 0;font-weight:700;cursor:default}.vjs-menu-button-popup .vjs-menu{display:none;position:absolute;bottom:0;width:10em;left:-3em;height:0;margin-bottom:1.5em;border-top-color:rgba(43,51,63,.7)}.vjs-pip-window .vjs-menu-button-popup .vjs-menu{left:unset;right:1em}.vjs-menu-button-popup .vjs-menu .vjs-menu-content{background-color:#2b333f;background-color:rgba(43,51,63,.7);position:absolute;width:100%;bottom:1.5em;max-height:15em}.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:5em}.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:10em}.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:14em}.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:25em}.vjs-menu-button-popup .vjs-menu.vjs-lock-showing,.vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu{display:block}.video-js .vjs-menu-button-inline{transition:all .4s;overflow:hidden}.video-js .vjs-menu-button-inline:before{width:2.222222222em}.video-js .vjs-menu-button-inline.vjs-slider-active,.video-js .vjs-menu-button-inline:focus,.video-js .vjs-menu-button-inline:hover{width:12em}.vjs-menu-button-inline .vjs-menu{opacity:0;height:100%;width:auto;position:absolute;left:4em;top:0;padding:0;margin:0;transition:all .4s}.vjs-menu-button-inline.vjs-slider-active .vjs-menu,.vjs-menu-button-inline:focus .vjs-menu,.vjs-menu-button-inline:hover .vjs-menu{display:block;opacity:1}.vjs-menu-button-inline .vjs-menu-content{width:auto;height:100%;margin:0;overflow:hidden}.video-js .vjs-control-bar{display:none;width:100%;position:absolute;bottom:0;left:0;right:0;height:3em;background-color:#2b333f;background-color:rgba(43,51,63,.7)}.vjs-audio-only-mode .vjs-control-bar,.vjs-has-started .vjs-control-bar{display:flex;visibility:visible;opacity:1;transition:visibility .1s,opacity .1s}.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{visibility:visible;opacity:0;pointer-events:none;transition:visibility 1s,opacity 1s}.vjs-controls-disabled .vjs-control-bar,.vjs-error .vjs-control-bar,.vjs-using-native-controls .vjs-control-bar{display:none!important}.vjs-audio-only-mode.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar,.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{opacity:1;visibility:visible;pointer-events:auto}.video-js .vjs-control{position:relative;text-align:center;margin:0;padding:0;height:100%;width:3em;flex:none}.video-js .vjs-control.vjs-visible-text{width:auto;padding-left:1em;padding-right:1em}.vjs-button>.vjs-icon-placeholder:before{font-size:1.8em;line-height:1.67}.vjs-button>.vjs-icon-placeholder{display:block}.video-js .vjs-control:focus,.video-js .vjs-control:focus:before,.video-js .vjs-control:hover:before{text-shadow:0 0 1em #fff}.video-js :not(.vjs-visible-text)>.vjs-control-text{border:0;clip:rect(0 0 0 0);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.video-js .vjs-custom-control-spacer{display:none}.video-js .vjs-progress-control{cursor:pointer;flex:auto;display:flex;align-items:center;min-width:3em;touch-action:none}.video-js .vjs-progress-control.disabled{cursor:default}.vjs-live .vjs-progress-control{display:none}.vjs-liveui .vjs-progress-control{display:flex;align-items:center}.video-js .vjs-progress-holder{flex:auto;transition:all .2s;height:.3em}.video-js .vjs-progress-control .vjs-progress-holder{margin:0 10px}.video-js .vjs-progress-control:hover .vjs-progress-holder{font-size:1.6666666667em}.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled{font-size:1em}.video-js .vjs-progress-holder .vjs-load-progress,.video-js .vjs-progress-holder .vjs-load-progress div,.video-js .vjs-progress-holder .vjs-play-progress{position:absolute;display:block;height:100%;margin:0;padding:0;width:0}.video-js .vjs-play-progress{background-color:#fff}.video-js .vjs-play-progress:before{font-size:.9em;position:absolute;right:-.5em;line-height:.35em;z-index:1}.video-js .vjs-load-progress{background:rgba(115,133,159,.5)}.video-js .vjs-load-progress div{background:rgba(115,133,159,.75)}.video-js .vjs-time-tooltip{background-color:#fff;background-color:rgba(255,255,255,.8);border-radius:.3em;color:#000;float:right;font-family:Arial,Helvetica,sans-serif;font-size:1em;padding:6px 8px 8px 8px;pointer-events:none;position:absolute;top:-3.4em;visibility:hidden;z-index:1}.video-js .vjs-progress-holder:focus .vjs-time-tooltip{display:none}.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip,.video-js .vjs-progress-control:hover .vjs-time-tooltip{display:block;font-size:.6em;visibility:visible}.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip{font-size:1em}.video-js .vjs-progress-control .vjs-mouse-display{display:none;position:absolute;width:1px;height:100%;background-color:#000;z-index:1}.video-js .vjs-progress-control:hover .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display{visibility:hidden;opacity:0;transition:visibility 1s,opacity 1s}.vjs-mouse-display .vjs-time-tooltip{color:#fff;background-color:#000;background-color:rgba(0,0,0,.8)}.video-js .vjs-slider{position:relative;cursor:pointer;padding:0;margin:0 .45em 0 .45em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:#73859f;background-color:rgba(115,133,159,.5)}.video-js .vjs-slider.disabled{cursor:default}.video-js .vjs-slider:focus{text-shadow:0 0 1em #fff;box-shadow:0 0 1em #fff}.video-js .vjs-mute-control{cursor:pointer;flex:none}.video-js .vjs-volume-control{cursor:pointer;margin-right:1em;display:flex}.video-js .vjs-volume-control.vjs-volume-horizontal{width:5em}.video-js .vjs-volume-panel .vjs-volume-control{visibility:visible;opacity:0;width:1px;height:1px;margin-left:-1px}.video-js .vjs-volume-panel{transition:width 1s}.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active,.video-js .vjs-volume-panel .vjs-volume-control:active,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control,.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control,.video-js .vjs-volume-panel:active .vjs-volume-control,.video-js .vjs-volume-panel:focus .vjs-volume-control{visibility:visible;opacity:1;position:relative;transition:visibility .1s,opacity .1s,height .1s,width .1s,left 0s,top 0s}.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal{width:5em;height:3em;margin-right:0}.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical{left:-3.5em;transition:left 0s}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active{width:10em;transition:width .1s}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only{width:4em}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical{height:8em;width:3em;left:-3000em;transition:visibility 1s,opacity 1s,height 1s 1s,width 1s 1s,left 1s 1s,top 1s 1s}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal{transition:visibility 1s,opacity 1s,height 1s 1s,width 1s,left 1s 1s,top 1s 1s}.video-js .vjs-volume-panel{display:flex}.video-js .vjs-volume-bar{margin:1.35em .45em}.vjs-volume-bar.vjs-slider-horizontal{width:5em;height:.3em}.vjs-volume-bar.vjs-slider-vertical{width:.3em;height:5em;margin:1.35em auto}.video-js .vjs-volume-level{position:absolute;bottom:0;left:0;background-color:#fff}.video-js .vjs-volume-level:before{position:absolute;font-size:.9em;z-index:1}.vjs-slider-vertical .vjs-volume-level{width:.3em}.vjs-slider-vertical .vjs-volume-level:before{top:-.5em;left:-.3em;z-index:1}.vjs-slider-horizontal .vjs-volume-level{height:.3em}.vjs-slider-horizontal .vjs-volume-level:before{right:-.5em}.video-js .vjs-volume-panel.vjs-volume-panel-vertical{width:4em}.video-js .vjs-volume-vertical{width:3em;height:8em;bottom:8em;background-color:#2b333f;background-color:rgba(43,51,63,.7)}.video-js .vjs-volume-horizontal .vjs-menu{left:-2em}.video-js .vjs-volume-tooltip{background-color:#fff;background-color:rgba(255,255,255,.8);border-radius:.3em;color:#000;float:right;font-family:Arial,Helvetica,sans-serif;font-size:1em;padding:6px 8px 8px 8px;pointer-events:none;position:absolute;top:-3.4em;visibility:hidden;z-index:1}.video-js .vjs-volume-control:hover .vjs-progress-holder:focus .vjs-volume-tooltip,.video-js .vjs-volume-control:hover .vjs-volume-tooltip{display:block;font-size:1em;visibility:visible}.video-js .vjs-volume-vertical:hover .vjs-progress-holder:focus .vjs-volume-tooltip,.video-js .vjs-volume-vertical:hover .vjs-volume-tooltip{left:1em;top:-12px}.video-js .vjs-volume-control.disabled:hover .vjs-volume-tooltip{font-size:1em}.video-js .vjs-volume-control .vjs-mouse-display{display:none;position:absolute;width:100%;height:1px;background-color:#000;z-index:1}.video-js .vjs-volume-horizontal .vjs-mouse-display{width:1px;height:100%}.video-js .vjs-volume-control:hover .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-volume-control .vjs-mouse-display{visibility:hidden;opacity:0;transition:visibility 1s,opacity 1s}.vjs-mouse-display .vjs-volume-tooltip{color:#fff;background-color:#000;background-color:rgba(0,0,0,.8)}.vjs-poster{display:inline-block;vertical-align:middle;cursor:pointer;margin:0;padding:0;position:absolute;top:0;right:0;bottom:0;left:0;height:100%}.vjs-has-started .vjs-poster,.vjs-using-native-controls .vjs-poster{display:none}.vjs-audio.vjs-has-started .vjs-poster,.vjs-has-started.vjs-audio-poster-mode .vjs-poster,.vjs-pip-container.vjs-has-started .vjs-poster{display:block}.vjs-poster img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.video-js .vjs-live-control{display:flex;align-items:flex-start;flex:auto;font-size:1em;line-height:3em}.video-js.vjs-liveui .vjs-live-control,.video-js:not(.vjs-live) .vjs-live-control{display:none}.video-js .vjs-seek-to-live-control{align-items:center;cursor:pointer;flex:none;display:inline-flex;height:100%;padding-left:.5em;padding-right:.5em;font-size:1em;line-height:3em;width:auto;min-width:4em}.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,.video-js:not(.vjs-live) .vjs-seek-to-live-control{display:none}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge{cursor:auto}.vjs-seek-to-live-control .vjs-icon-placeholder{margin-right:.5em;color:#888}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder{color:red}.video-js .vjs-time-control{flex:none;font-size:1em;line-height:3em;min-width:2em;width:auto;padding-left:1em;padding-right:1em}.video-js .vjs-current-time,.video-js .vjs-duration,.vjs-live .vjs-time-control,.vjs-live .vjs-time-divider{display:none}.vjs-time-divider{display:none;line-height:3em}.video-js .vjs-play-control{cursor:pointer}.video-js .vjs-play-control .vjs-icon-placeholder{flex:none}.vjs-text-track-display{position:absolute;bottom:3em;left:0;right:0;top:0;pointer-events:none}.video-js.vjs-controls-disabled .vjs-text-track-display,.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display{bottom:1em}.video-js .vjs-text-track{font-size:1.4em;text-align:center;margin-bottom:.1em}.vjs-subtitles{color:#fff}.vjs-captions{color:#fc6}.vjs-tt-cue{display:block}video::-webkit-media-text-track-display{transform:translateY(-3em)}.video-js.vjs-controls-disabled video::-webkit-media-text-track-display,.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display{transform:translateY(-1.5em)}.video-js .vjs-picture-in-picture-control{cursor:pointer;flex:none}.video-js.vjs-audio-only-mode .vjs-picture-in-picture-control,.vjs-pip-window .vjs-picture-in-picture-control{display:none}.video-js .vjs-fullscreen-control{cursor:pointer;flex:none}.video-js.vjs-audio-only-mode .vjs-fullscreen-control,.vjs-pip-window .vjs-fullscreen-control{display:none}.vjs-playback-rate .vjs-playback-rate-value,.vjs-playback-rate>.vjs-menu-button{position:absolute;top:0;left:0;width:100%;height:100%}.vjs-playback-rate .vjs-playback-rate-value{pointer-events:none;font-size:1.5em;line-height:2;text-align:center}.vjs-playback-rate .vjs-menu{width:4em;left:0}.vjs-error .vjs-error-display .vjs-modal-dialog-content{font-size:1.4em;text-align:center}.vjs-error .vjs-error-display:before{color:#fff;content:"X";font-family:Arial,Helvetica,sans-serif;font-size:4em;left:0;line-height:1;margin-top:-.5em;position:absolute;text-shadow:.05em .05em .1em #000;text-align:center;top:50%;vertical-align:middle;width:100%}.vjs-loading-spinner{display:none;position:absolute;top:50%;left:50%;margin:-25px 0 0 -25px;opacity:.85;text-align:left;border:6px solid rgba(43,51,63,.7);box-sizing:border-box;background-clip:padding-box;width:50px;height:50px;border-radius:25px;visibility:hidden}.vjs-seeking .vjs-loading-spinner,.vjs-waiting .vjs-loading-spinner{display:block;animation:vjs-spinner-show 0s linear .3s forwards}.vjs-loading-spinner:after,.vjs-loading-spinner:before{content:"";position:absolute;margin:-6px;box-sizing:inherit;width:inherit;height:inherit;border-radius:inherit;opacity:1;border:inherit;border-color:transparent;border-top-color:#fff}.vjs-seeking .vjs-loading-spinner:after,.vjs-seeking .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:before{animation:vjs-spinner-spin 1.1s cubic-bezier(.6,.2,0,.8) infinite,vjs-spinner-fade 1.1s linear infinite}.vjs-seeking .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:before{border-top-color:#fff}.vjs-seeking .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:after{border-top-color:#fff;animation-delay:.44s}@keyframes vjs-spinner-show{to{visibility:visible}}@keyframes vjs-spinner-spin{100%{transform:rotate(360deg)}}@keyframes vjs-spinner-fade{0%{border-top-color:#73859f}20%{border-top-color:#73859f}35%{border-top-color:#fff}60%{border-top-color:#73859f}100%{border-top-color:#73859f}}.video-js.vjs-audio-only-mode .vjs-captions-button{display:none}.vjs-chapters-button .vjs-menu ul{width:24em}.video-js.vjs-audio-only-mode .vjs-descriptions-button{display:none}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;display:inline-block;margin-bottom:-.1em}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{font-family:VideoJS!important;content:"\f10c";font-size:1.5em;line-height:inherit}.video-js.vjs-audio-only-mode .vjs-subs-caps-button{display:none}.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;display:inline-block;margin-bottom:-.1em}.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{font-family:VideoJS!important;content:" \f12e";font-size:1.5em;line-height:inherit}.video-js.vjs-layout-small .vjs-current-time,.video-js.vjs-layout-small .vjs-duration,.video-js.vjs-layout-small .vjs-playback-rate,.video-js.vjs-layout-small .vjs-remaining-time,.video-js.vjs-layout-small .vjs-time-divider,.video-js.vjs-layout-small .vjs-volume-control,.video-js.vjs-layout-tiny .vjs-current-time,.video-js.vjs-layout-tiny .vjs-duration,.video-js.vjs-layout-tiny .vjs-playback-rate,.video-js.vjs-layout-tiny .vjs-remaining-time,.video-js.vjs-layout-tiny .vjs-time-divider,.video-js.vjs-layout-tiny .vjs-volume-control,.video-js.vjs-layout-x-small .vjs-current-time,.video-js.vjs-layout-x-small .vjs-duration,.video-js.vjs-layout-x-small .vjs-playback-rate,.video-js.vjs-layout-x-small .vjs-remaining-time,.video-js.vjs-layout-x-small .vjs-time-divider,.video-js.vjs-layout-x-small .vjs-volume-control{display:none}.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover{width:auto;width:initial}.video-js.vjs-layout-tiny .vjs-progress-control,.video-js.vjs-layout-x-small .vjs-progress-control{display:none}.video-js.vjs-layout-x-small .vjs-custom-control-spacer{flex:auto;display:block}.vjs-modal-dialog.vjs-text-track-settings{background-color:#2b333f;background-color:rgba(43,51,63,.75);color:#fff;height:70%}.vjs-text-track-settings .vjs-modal-dialog-content{display:table}.vjs-text-track-settings .vjs-track-settings-colors,.vjs-text-track-settings .vjs-track-settings-controls,.vjs-text-track-settings .vjs-track-settings-font{display:table-cell}.vjs-text-track-settings .vjs-track-settings-controls{text-align:right;vertical-align:bottom}@supports (display:grid){.vjs-text-track-settings .vjs-modal-dialog-content{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;padding:20px 24px 0 24px}.vjs-track-settings-controls .vjs-default-button{margin-bottom:20px}.vjs-text-track-settings .vjs-track-settings-controls{grid-column:1/-1}.vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content{grid-template-columns:1fr}}.vjs-track-setting>select{margin-right:1em;margin-bottom:.5em}.vjs-text-track-settings fieldset{margin:10px;border:none}.vjs-text-track-settings fieldset span{display:inline-block;padding:0 6px 8px}.vjs-text-track-settings fieldset span>select{max-width:7.3em}.vjs-text-track-settings legend{color:#fff;font-weight:700;font-size:14px}.vjs-text-track-settings .vjs-label{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);margin:0 5px 5px 0;border:0;height:1px;width:1px;overflow:hidden}.vjs-track-settings-controls button:active,.vjs-track-settings-controls button:focus{outline-style:solid;outline-width:medium;background-image:linear-gradient(0deg,#fff 88%,#73859f 100%)}.vjs-track-settings-controls button:hover{color:rgba(43,51,63,.75)}.vjs-track-settings-controls button{background-color:#fff;background-image:linear-gradient(-180deg,#fff 88%,#73859f 100%);color:#2b333f;cursor:pointer;border-radius:2px}.vjs-track-settings-controls .vjs-default-button{margin-right:1em}.vjs-title-bar{background:rgba(0,0,0,.9);background:linear-gradient(180deg,rgba(0,0,0,.9) 0,rgba(0,0,0,.7) 60%,rgba(0,0,0,0) 100%);font-size:1.2em;line-height:1.5;transition:opacity .1s;padding:.666em 1.333em 4em;pointer-events:none;position:absolute;top:0;width:100%}.vjs-title-bar-description,.vjs-title-bar-title{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vjs-title-bar-title{font-weight:700;margin-bottom:.333em}.vjs-playing.vjs-user-inactive .vjs-title-bar{opacity:0;transition:opacity 1s}.video-js .vjs-skip-forward-5{cursor:pointer}.video-js .vjs-skip-forward-10{cursor:pointer}.video-js .vjs-skip-forward-30{cursor:pointer}.video-js .vjs-skip-backward-5{cursor:pointer}.video-js .vjs-skip-backward-10{cursor:pointer}.video-js .vjs-skip-backward-30{cursor:pointer}@media print{.video-js>:not(.vjs-tech):not(.vjs-poster){visibility:hidden}}.vjs-resize-manager{position:absolute;top:0;left:0;width:100%;height:100%;border:none;z-index:-1000}.js-focus-visible .video-js :focus:not(.focus-visible){outline:0}.video-js :focus:not(:focus-visible){outline:0}.vjs-ad-playing.vjs-ad-playing .vjs-progress-control{pointer-events:none}.vjs-ad-playing.vjs-ad-playing .vjs-play-progress{background-color:#ffe400}.vjs-ad-loading .vjs-loading-spinner{display:block;visibility:visible}.vjs-ad-playing .vjs-captions-button{display:none}.vjs-ad-playing .vjs-audio-button{display:none}.vjs-ad-loading .vjs-loading-spinner:after,.vjs-ad-loading .vjs-loading-spinner:before{-webkit-animation:vjs-spinner-spin 1.1s cubic-bezier(.6,.2,0,.8) infinite,vjs-spinner-fade 1.1s linear infinite;animation:vjs-spinner-spin 1.1s cubic-bezier(.6,.2,0,.8) infinite,vjs-spinner-fade 1.1s linear infinite}.vjs-ad-loading .vjs-loading-spinner:before{border-top-color:#fff}.vjs-ad-loading .vjs-loading-spinner:after{border-top-color:#fff;-webkit-animation-delay:.44s;animation-delay:.44s}.vjs-ad-content-resuming .vjs-big-play-button,.vjs-ad-content-resuming .vjs-poster,.vjs-ad-loading .vjs-big-play-button,.vjs-ad-loading .vjs-poster{display:none}
.video-container{overflow:hidden!important}.player-container{background:#1a1a1a!important;overflow:auto!important;width:900px!important;margin:0 0 20px!important}.ez-outstream-container{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;flex-wrap:wrap}.ez-outstream-container.ez-stuck{position:fixed;bottom:100px;z-index:999;right:20px;height:auto;transform:translateY(50%)}.vjs-big-play-button #ez-video-outstream{display:none!important}#ez-video-outstream-wrap .ez-outstream-ez-stuck-close{position:absolute;text-shadow:0 0 4px #000!important;opacity:.6;z-index:9999999;color:#fff;left:4px;top:4px;transition:.3s;cursor:pointer;line-height:1}#ez-video-outstream-wrap .ez-outstream-ez-stuck-close:hover{opacity:1}.ez-outstream-container.ez-stuck.raise{transform:translateY(100%);animation:fade-in-up .25s ease forwards}.ez-outstream-container.ez-stuck.lower{transform:translateY(100%);animation:fade-out-down .5s ease forwards}.ez-outstream-container.ez-stuck.raise-horizontal{transform:translateX(100%);animation:fade-in-horizontal .25s ease forwards}.ez-outstream-container.ez-stuck.lower-horizontal{transform:translateX(100%);animation:fade-out-horizontal .5s ease forwards}@keyframes fade-in-up{0%{opacity:0;transform:translateY(50%);visibility:hidden}100%{opacity:1;transform:translateY(0%);visibility:visible}}@keyframes fade-out-down{0%{opacity:1;transform:translateY(0%);visibility:visible}100%{opacity:0;transform:translateY(50%);visibility:hidden}}@keyframes fade-in-horizontal{0%{opacity:0;transform:translateX(50);visibility:hidden}100%{opacity:1;transform:translateX(0);visibility:visible}}@keyframes fade-out-horizontal{0%{opacity:1;transform:translateX(0);visibility:visible}100%{opacity:0;transform:translateX(50);visibility:hidden}}@media screen and (min-width:100px){.ez-outstream-container.ez-stuck{width:75%}}@media screen and (min-width:768px){.ez-outstream-container.ez-stuck{width:55%}}@media screen and (min-width:1024px){.ez-outstream-container.ez-stuck{width:30%;margin-bottom:20px}}.ez-video-ad-container{top:0;position:absolute;display:none;width:100%;height:100%}.ez-vad-controls{bottom:0;height:1.4em;position:absolute;overflow:hidden;display:none;opacity:1;background-color:#07141eb2;background:-moz-linear-gradient( bottom,rgba(7,20,30,.7) 0%,rgba(7,20,30,0) 100%);background:-webkit-gradient( linear,left bottom,left top,color-stop(0%,rgba(7,20,30,.7)),color-stop(100%,rgba(7,20,30,0)));background:-webkit-linear-gradient( bottom,rgba(7,20,30,.7) 0%,rgba(7,20,30,0) 100%);background:-o-linear-gradient(bottom,rgba(7,20,30,.7) 0%,rgba(7,20,30,0) 100%);background:-ms-linear-gradient(bottom,rgba(7,20,30,.7) 0%,rgba(7,20,30,0) 100%);background:linear-gradient(to top,rgba(7,20,30,.7) 0%,rgba(7,20,30,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#0007141E',endColorstr='#07141E',GradientType=0 )}.ez-vad-controls.ez-vad-controls-showing{height:3.7em}.ez-vad-countdown{height:1em;color:#fff;text-shadow:0 0 .2em #000;cursor:default}.ez-vad-seek-bar{top:1.2em;height:.3em;position:absolute;background:#fff6}.ez-vad-progress{width:0;height:.3em;background-color:#ecc546}.ez-vad-play-pause,.ez-vad-mute,.ez-vad-slider,.ez-vad-fullscreen{width:2.33em;height:1.33em;top:.733em;left:0;position:absolute;color:#ccc;font-size:1.5em;line-height:2;text-align:center;font-family:VideoJS;cursor:pointer}.ez-vad-mute{left:auto;right:5.667em}.ez-vad-slider{left:auto;right:2.33em;width:3.33em;height:.667em;top:1.33em;background-color:#555}.ez-vad-slider-level{width:100%;height:.667em;background-color:#ecc546}.ez-vad-fullscreen{left:auto;right:0}.ez-vad-playing:before{content:"\f103"}.ez-vad-paused:before{content:"\f101"}.ez-vad-playing:hover:before,.ez-vad-paused:hover:before{text-shadow:0 0 1em #fff}.ez-vad-non-muted:before{content:"\f107"}.ez-vad-muted:before{content:"\f104"}.ez-vad-non-muted:hover:before,.ez-vad-muted:hover:before{text-shadow:0 0 1em #fff}.ez-vad-non-fullscreened:before{content:"\f108"}.ez-vad-fullscreened:before{content:"\f109"}.ez-vad-non-fullscreened:hover:before,.ez-vad-fullscreened:hover:before{text-shadow:0 0 1em #fff}.ez-video-wrap video{visibility:visible!important}.ez-playlist-float-only{display:none!important}.video-js .vjs-share__middle{padding:0 0!important;width:80%}.video-js{float:left!important;font-size:10px;color:#fff;position:relative!important;width:100%;height:auto;margin:0}.ez-stuck.ez-outstream-container{display:flex!important}.cnx-button-closebutton{visibility:visible!important;opacity:1!important}
.ezoic-ad.box-4112{float:none !important;max-width:728px;background:rgba(128, 128, 128, 0.05)!important;margin-bottom:15px !important;line-height:0px;padding:0;border:0px solid #ddd!important;width:728px;margin-top:15px !important;margin-right:auto !important;margin-left:auto !important;display:block !important;min-height:400px;background-color:rgba(128, 128, 128, 0.05)!important;text-align:center !important;min-width:580px;}
.ezoic-ad.banner-1113{text-align:center !important;min-height:400px;background:rgba(128, 128, 128, 0.05)!important;margin-right:auto !important;margin-bottom:15px !important;max-width:728px;padding:0;border:0px solid #ddd!important;margin-top:15px !important;margin-left:auto !important;min-width:300px;line-height:0px;width:728px;float:none !important;display:block !important;background-color:rgba(128, 128, 128, 0.05)!important;}
.ezoic-ad.leader-3116{margin-right:auto !important;min-height:400px;border:0px solid #ddd!important;margin-top:15px !important;margin-bottom:15px !important;text-align:center !important;background:rgba(128, 128, 128, 0.05)!important;background-color:rgba(128, 128, 128, 0.05)!important;margin-left:auto !important;line-height:0px;padding:0;max-width:728px;width:728px;float:none !important;display:block !important;min-width:336px;}
.ezoic-ad.large-mobile-banner-2118{text-align:center !important;min-width:728px;max-width:728px;line-height:0px;margin-bottom:15px !important;margin-right:auto !important;margin-left:auto !important;display:block !important;padding:0;background:rgba(128, 128, 128, 0.05)!important;width:728px;float:none !important;border:0px solid #ddd!important;background-color:rgba(128, 128, 128, 0.05)!important;min-height:400px;margin-top:15px !important;}
.ezoic-ad.leader-4119{margin-bottom:15px !important;min-width:300px;max-width:728px;margin-left:auto !important;min-height:400px;padding:0;background-color:rgba(128, 128, 128, 0.05)!important;float:none !important;margin-top:15px !important;display:block !important;line-height:0px;width:728px;margin-right:auto !important;text-align:center !important;background:rgba(128, 128, 128, 0.05)!important;border:0px solid #ddd!important;}
.ezoic-ad.mobile-leaderboard-1120{min-height:400px;background:rgba(128, 128, 128, 0.05)!important;background-color:rgba(128, 128, 128, 0.05)!important;width:728px;display:block !important;text-align:center !important;max-width:728px;line-height:0px;padding:0;margin-top:15px !important;margin-bottom:15px !important;margin-left:auto !important;min-width:300px;float:none !important;margin-right:auto !important;border:0px solid #ddd!important;}
.ezoic-ad.netboard-2122{line-height:0px;min-width:300px;min-height:400px;padding:0;display:block !important;margin-top:15px !important;margin-right:auto !important;margin-left:auto !important;background-color:rgba(128, 128, 128, 0.05)!important;float:none !important;text-align:center !important;max-width:728px;background:rgba(128, 128, 128, 0.05)!important;border:0px solid #ddd!important;width:728px;margin-bottom:15px !important;}
.ezoic-ad.banner-2175{margin-top:15px !important;margin-right:auto !important;margin-left:auto !important;text-align:center !important;min-height:280px;padding:0;float:none !important;margin-bottom:15px !important;display:block !important;min-width:336px;max-width:100% !important;line-height:0px;}
.ezoic-ad.box-3102{margin-bottom:15px !important;text-align:center !important;min-height:90px;max-width:100% !important;line-height:0px;padding:0;float:none !important;margin-top:15px !important;margin-right:auto !important;margin-left:auto !important;display:block !important;min-width:728px;}
.ezoic-ad.mobile-leaderboard-2117{float:none !important;margin-top:15px !important;display:block !important;min-height:400px;padding:0;background:rgba(128, 128, 128, 0.05)!important;margin-left:auto !important;min-width:300px;background-color:rgba(128, 128, 128, 0.05)!important;border:0px solid #ddd!important;width:728px;margin-right:auto !important;margin-bottom:15px !important;text-align:center !important;max-width:728px;line-height:0px;}
.ezoic-ad.box-1168{margin-bottom:0px !important;text-align:center !important;padding:0;float:none !important;min-height:0px !important;max-width:100% !important;line-height:0px;min-width:300px;width:300px;background:0 0 !important;margin-top:0px !important;margin-right:auto !important;margin-left:auto !important;display:block !important;}
.ezoic-ad.large-leaderboard-2114{margin-right:auto !important;padding:0;background:rgba(128, 128, 128, 0.05)!important;width:728px;border:0px solid #ddd!important;float:none !important;text-align:center !important;min-height:400px;max-width:728px;min-width:300px;background-color:rgba(128, 128, 128, 0.05)!important;margin-top:15px !important;margin-bottom:15px !important;margin-left:auto !important;display:block !important;line-height:0px;}
.ezoic-ad.leader-1115{text-align:center !important;margin-top:15px !important;margin-bottom:15px !important;margin-left:auto !important;display:block !important;width:728px;padding:0;background-color:rgba(128, 128, 128, 0.05)!important;float:none !important;min-width:336px;max-width:728px;background:rgba(128, 128, 128, 0.05)!important;border:0px solid #ddd!important;margin-right:auto !important;min-height:400px;line-height:0px;}
.ezoic-ad.narrow-sky-2123{margin-left:auto !important;display:block !important;float:none !important;margin-top:15px !important;background-color:rgba(128, 128, 128, 0.05)!important;width:728px;margin-right:auto !important;padding:0;min-width:336px;min-height:400px;background:rgba(128, 128, 128, 0.05)!important;border:0px solid #ddd!important;margin-bottom:15px !important;text-align:center !important;max-width:728px;line-height:0px;}
.ezoic-ad.netboard-1130{float:none !important;text-align:center !important;min-height:400px;line-height:0px;margin-top:15px !important;margin-right:auto !important;margin-bottom:15px !important;display:block !important;min-width:250px;background-color:rgba(128, 128, 128, 0.05)!important;border:0px solid #ddd!important;width:728px;margin-left:auto !important;max-width:728px;padding:0;background:rgba(128, 128, 128, 0.05)!important;}
.ezoic-ad.leader-2131{float:none !important;margin-left:auto !important;min-height:400px;max-width:728px;background-color:rgba(128, 128, 128, 0.05)!important;width:728px;margin-bottom:15px !important;min-width:250px;line-height:0px;text-align:center !important;margin-top:15px !important;margin-right:auto !important;display:block !important;padding:0;background:rgba(128, 128, 128, 0.05)!important;border:0px solid #ddd!important;}
.ezoic-ad.edge-1975{margin-top:0px !important;margin-right:0px !important;margin-bottom:0px !important;min-height:600px;max-width:100% !important;padding:0;float:none !important;margin-left:0px !important;display:inline-block;min-width:160px;line-height:0px;}
.ezoic-ad.edge-2976{max-width:100% !important;line-height:0px;float:none !important;margin-top:0px !important;margin-bottom:0px !important;display:inline-block;min-width:160px;min-height:600px;margin-right:0px !important;margin-left:0px !important;padding:0;}
.ezoic-ad.medrectangle-3110{margin-bottom:15px !important;max-width:728px;border:0px solid #ddd!important;margin-left:auto !important;display:block !important;padding:0;background-color:rgba(128, 128, 128, 0.05)!important;margin-right:auto !important;min-width:728px;background:rgba(128, 128, 128, 0.05)!important;width:728px;line-height:0px;float:none !important;margin-top:15px !important;text-align:center !important;min-height:400px;}
.ezoic-ad.medrectangle-4111{border:0px solid #ddd!important;width:728px;float:none !important;margin-top:15px !important;margin-bottom:15px !important;background:rgba(128, 128, 128, 0.05)!important;margin-left:auto !important;display:block !important;text-align:center !important;line-height:0px;padding:0;background-color:rgba(128, 128, 128, 0.05)!important;margin-right:auto !important;min-width:468px;min-height:400px;max-width:728px;}
.ezoic-ad.narrow-sky-1121{margin-top:15px !important;margin-right:auto !important;margin-left:auto !important;text-align:center !important;line-height:0px;border:0px solid #ddd!important;min-height:400px;max-width:728px;float:none !important;margin-bottom:15px !important;display:block !important;padding:0;min-width:336px;background:rgba(128, 128, 128, 0.05)!important;background-color:rgba(128, 128, 128, 0.05)!important;width:728px;}
.ezoic-ad.large-mobile-banner-1125{margin-top:15px !important;margin-left:auto !important;min-height:400px;line-height:0px;padding:0;display:block !important;background:rgba(128, 128, 128, 0.05)!important;border:0px solid #ddd!important;float:none !important;margin-right:auto !important;margin-bottom:15px !important;text-align:center !important;min-width:250px;max-width:728px;width:728px;background-color:rgba(128, 128, 128, 0.05)!important;}
.ezoic-ad.medrectangle-1167{margin-top:15px !important;margin-right:auto !important;min-width:336px;min-height:280px;max-width:100% !important;float:none !important;margin-left:auto !important;display:block !important;text-align:center !important;line-height:0px;padding:0;margin-bottom:15px !important;}
.ezoic-ad.medrectangle-2100{float:none !important;display:inline-block;min-width:0px;min-height:90px;max-width:100% !important;line-height:0px;padding:0;}
.ezoic-ad{display:inline-block;border:0px;}.ezoic-ad>div>iframe{margin:0px!important;padding:0px!important;}.ezoic-ad .ezoic-ad>div{text-align:center}
.ad-reporter-menu-backdrop{display:none;position:absolute;bottom:20px;right:15px;width:120px;height:100px;flex-direction:row;justify-content:center;align-items:center;background:transparent;box-shadow:#000 0 2px 10px;border-radius:10px;z-index:1002}.ad-reporter-menu{position:absolute;z-index:1003;display:flex;flex-direction:column;width:100%;height:100%;background:#fff;border-radius:5px;align-items:center;justify-content:space-around;font-weight:200;font-size:14px;font-family:sans-serif}.ad-reporter-menu .ad-reporter-menu-item{width:100%;height:100%;cursor:pointer;display:flex;justify-content:center;align-items:center}.ad-reporter-menu .ad-reporter-menu-item:not(:last-child){border-bottom:solid #d3d3d3 1px}
@keyframes ezIn {
from { opacity: 0; }
}
.ezoic-ad .ezoic-adl:before {content: "\00B7\00B7\00B7";position: absolute;display: flex!important;align-items: center;justify-content: center;text-align: center;color: #C4C4C4;font-size: 62px;letter-spacing: 2px;z-index: 0;animation: ezIn 1s infinite alternate;left: 50%;top: 50%;transform: translate(-50%, -50%);} .ezoic-ad .ezfound,.ezmob-footer .ezoic-ad .ezoic-ad,.ezoic-ad-adaptive > .ezoic-ad, .ezoic-ad-rl {background:0 0;border-radius:0;border:none}
.ezmob-footer{position:fixed;left:0;bottom:0;width:100%;background:#fff;z-index:100000;line-height:0}.ezmob-footer-desktop{background-color:#f6f6f6cc;white-space:nowrap}.ezmob-footer-close-wrap{height:90px;padding:3px 0 0 16px;display:inline-block;width:35px;vertical-align:top}span.ezmob-footer-close{cursor:pointer;display:inline-block;width:18px;height:18px;border-radius:50%;border:1px solid #696969;position:relative;background:#fff;opacity:1}span.ezmob-footer-close:hover{border:1px solid #5fa624}span.ezmob-footer-close::before,span.ezmob-footer-close::after{content:"";position:absolute;top:50%;left:50%;width:60%;height:1px;background:#696969}span.ezmob-footer-close::before{transform:translate(-50%,-50%) rotate(45deg)}span.ezmob-footer-close::after{transform:translate(-50%,-50%) rotate(-45deg)}img.ezmob-anchor-img{height:18px!important;padding:0!important;border:0!important;cursor:pointer!important;width:18px!important;margin:45px 0 3px 1px!important;box-sizing:content-box!important}@media(min-width:450px) and (max-width:780px){.ezmob-footer-close-wrap,.ezoicwhat{display:none!important}}.ezoicwhat{display:block}body {
padding-bottom: 100px !important;
height: auto;
}
@media (min-width: 900px) {
.ez-sticky {
position: sticky;
position: -webkit-sticky;
top: 80px;
z-index:10;
}
}
.ez-rail-close {
color: #b2b2b2;
border: 1px solid #b2b2b2;
border-bottom:none;
border-radius: 2px;
background: #fff;
line-height: 17px;
display: inline-block;
font-size: 20px;
font-family: arial,sans-serif;
position: absolute;
height: 20px;
width: 20px;
text-align: center;
cursor: pointer;
opacity: 0.7;
}
@media print {
.ez-rail-close {
display: none !important;
}
}
.ez-sidebar-wall {
width: 160px;
height: 600px;
position: fixed;
background-color: rgba(0, 0, 0, 0);
top: calc(50vh - 300px);
margin: 0px 0px 0px 0px;
z-index: 0;
}
.ez-sidebar-wall-ad {
width: 160px;
height: 600px;
position: fixed;
background-color: rgba(0, 0, 0, 0);
top: calc(50vh - 300px);
}
@media print {
.ez-sidebar-wall, .ez-sidebar-wall-ad {
display: none !important;
}
}</style><script type="text/javascript">
var ezoTemplate = 'pub_site';
var ezouid = '1';
var ezoFormfactor = '1';
</script><script data-ezscrex="false" type="text/javascript">
var soc_app_id = '0';
var did = 354895;
var ezdomain = 'lastminuteengineers.com';
var ezoicSearchable = 1;
</script>
<script>
if (typeof __ezOutstream == "undefined" || typeof __ezOutstream.breaks == "undefined") {
window.__ezOutstream = {"prebidBidders":[{"bidder":"rubicon","params":{"accountId":21150,"bidonmultiformat":true,"siteId":421616,"zoneId":2526956}},{"bidder":"openx","params":{"delDomain":"ezoic-d.openx.net","unit":"558604040"}},{"bidder":"adtelligent","params":{"aid":"774249"}},{"bidder":"unruly","params":{"siteId":"217328"}}],"apsSlot":{"slotID":"Outstream2","divID":"","slotName":"","mediaType":"video","sizes":[[640,480]]},"breaks":[],"AdIndex":1,"UnfilledCnt":0};
}
</script>
<script src="./MAX7219 LED Dot Matrix Display with Arduino_files/reportads.js.download" defer=""></script>
<script>window.__ez_get_largest_ad_size=function(i){var e=[];if(ezoResponsiveSizes[i]){var n=document.documentElement.clientWidth,t=document.documentElement.clientHeight,o=null;window.ezoResponsiveSizes[i].responsiveSizes.forEach((function(i){var e=i.minWidth<=n&&i.minHeight<=t,m=null===o||i.minWidth>o.minWidth||o.minWidth==i.minWidth&&i.minHeight>o.minHeight;e&&m&&(o=i)})),null!==o&&(e=o.sizes)}var m=[0,0];return e.forEach((function(i){i[0]>m[0]&&(m[0]=i[0]),i[1]>m[1]&&(m[1]=i[1])})),m};</script>
<script>var ezasVars = {'cid':'7239634457','pid':'pub-2705735538096223','ssid':44};window.handleResponsiveAdsense=function(t,e){var i=[];(e=e||t.parentNode)&&e.attributes&&e.attributes.ezaw&&e.attributes.ezah&&(i=[e.attributes.ezaw.value,e.attributes.ezah.value]);var a=t.id.replace("-asloaded","");if(window.ezoResponsiveSizes&&window.ezoResponsiveSizes[a]&&window.__ez_get_largest_ad_size){i=window.__ez_get_largest_ad_size(a),e.style.width=i[0]+"px !important",e.style.maxWidth=i[0]+"px !important",e.style.minWidth="0px !important";var s=e.parentNode;s&&s.classList.contains("ezoic-ad")&&(s.style.width=i[0]+"px !important",s.style.maxWidth=i[0]+"px !important",s.style.minWidth="0px !important")}t.style.width=i[0]+"px",t.style.height=i[1]+"px"};if(typeof window.ezAutoAdsSetup == 'undefined'){window.google_reactive_ads_global_state = {
adCount: {},
floatingAdsStacking: { maxZIndexListeners: [], maxZIndexRestrictions: {}, nextRestrictionId: 0 },
messageValidationEnabled: false,
reactiveTypeDisabledByPublisher: {},
reactiveTypeEnabledInAsfe: {},
sideRailAvailableSpace: [],
sideRailOverlappableElements: [],
stateForType: {},
tagSpecificState: {},
wasPlaTagProcessed: true,
wasReactiveAdConfigReceived: { 1: true, 2: true, 8: true },
wasReactiveAdVisible: {},
wasReactiveTagRequestSent: true,
description: "Can't disable auto ads programmatically on the page, so here we are!"
};};var __ezasAggressive=false;</script>
<script data-ezscrex="false" data-pagespeed-no-defer="" data-cfasync="false">
function create_ezolpl() {
var d = new Date();
d.setTime(d.getTime() + (365*24*60*60*1000));
var expires = "expires="+d.toUTCString();
__ez.ck.setByCat("ezux_lpl_354895=" + new Date().getTime() + "|" + _ezaq.page_view_id + "|" + _ezaq.is_return_visitor + "; " + expires, 3);
}
function attach_ezolpl() {
if (document.readyState === "complete") {
create_ezolpl();
return;
}
window.addEventListener("load", create_ezolpl);
}
__ez.queue.addFunc("attach_ezolpl", "attach_ezolpl", null, false, ['/detroitchicago/boise.js'], true, false, false, false);
</script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/tortoise.js.download" async=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/armadillo.js.download" async=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/denver.js.download" async=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/turtle.js.download" async=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/wyvern.js.download" defer=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/ima3.js.download" defer=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/stickyfix.js.download" async=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/anchorfix.js.download" async=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/stickyfix.js.download" async=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/sidebarwall.js.download" async=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/kenai.js.download" async=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/pwt.js.download" async=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/tuscon.js.download" async=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/kenai.js.download" async=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/portland.js.download" async=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/vitals.js.download" async=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/drake.js.download" async=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/chanute.js.download" async=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/jellyfish.js.download" async=""></script><iframe src="javascript:false" src="./MAX7219 LED Dot Matrix Display with Arduino_files/saved_resource.html"></iframe><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/gilamonster.js.download" defer=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/audins.js.download" async="" type="text/javascript"></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/iguana.js.download" defer=""></script></head><body class="post-template-default single single-post postid-2803 single-format-standard no-sidebar" style="overflow: visible;"><script>var ezAardvarkDetected;function ezDetectAardvark(){if(typeof __ez!=='undefined'&&typeof __ez.bit!=='undefined'){var bait=document.createElement("div");bait.className="textads banner-ads banner_ads ad-unit ad-zone ad-space adsbox";bait.style.height="1px";document.body.appendChild(bait);var baitOffsetHeight=bait.offsetHeight;if(typeof window["_ezaq"]!=="undefined"){if(baitOffsetHeight){ezAardvarkDetected=false;__ez.bit.AddAndFire(window["_ezaq"]["page_view_id"],[(new __ezDotData('is_ad_blocked',false))]);}
else{ezAardvarkDetected=true;__ez.bit.AddAndFire(window["_ezaq"]["page_view_id"],[(new __ezDotData('is_ad_blocked',true))]);}
var observer=new MutationObserver(function(e){if(e[0].removedNodes){ezAardvarkDetected=true;__ez.bit.AddAndFire(window["_ezaq"]["page_view_id"],[(new __ezDotData('is_ad_blocked',true))]);}});}
if(typeof observer!=='undefined'){observer.observe(bait,{childList:true,attributes:true});}}}
window.addEventListener('load',ezDetectAardvark);</script> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;"><defs><filter id="wp-duotone-dark-grayscale"><fecolormatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 "></fecolormatrix><fecomponenttransfer color-interpolation-filters="sRGB"><fefuncr type="table" tableValues="0 0.49803921568627"></fefuncr><fefuncg type="table" tableValues="0 0.49803921568627"></fefuncg><fefuncb type="table" tableValues="0 0.49803921568627"></fefuncb><fefunca type="table" tableValues="1 1"></fefunca></fecomponenttransfer><fecomposite in2="SourceGraphic" operator="in"></fecomposite></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;"><defs><filter id="wp-duotone-grayscale"><fecolormatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 "></fecolormatrix><fecomponenttransfer color-interpolation-filters="sRGB"><fefuncr type="table" tableValues="0 1"></fefuncr><fefuncg type="table" tableValues="0 1"></fefuncg><fefuncb type="table" tableValues="0 1"></fefuncb><fefunca type="table" tableValues="1 1"></fefunca></fecomponenttransfer><fecomposite in2="SourceGraphic" operator="in"></fecomposite></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;"><defs><filter id="wp-duotone-purple-yellow"><fecolormatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 "></fecolormatrix><fecomponenttransfer color-interpolation-filters="sRGB"><fefuncr type="table" tableValues="0.54901960784314 0.98823529411765"></fefuncr><fefuncg type="table" tableValues="0 1"></fefuncg><fefuncb type="table" tableValues="0.71764705882353 0.25490196078431"></fefuncb><fefunca type="table" tableValues="1 1"></fefunca></fecomponenttransfer><fecomposite in2="SourceGraphic" operator="in"></fecomposite></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;"><defs><filter id="wp-duotone-blue-red"><fecolormatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 "></fecolormatrix><fecomponenttransfer color-interpolation-filters="sRGB"><fefuncr type="table" tableValues="0 1"></fefuncr><fefuncg type="table" tableValues="0 0.27843137254902"></fefuncg><fefuncb type="table" tableValues="0.5921568627451 0.27843137254902"></fefuncb><fefunca type="table" tableValues="1 1"></fefunca></fecomponenttransfer><fecomposite in2="SourceGraphic" operator="in"></fecomposite></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;"><defs><filter id="wp-duotone-midnight"><fecolormatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 "></fecolormatrix><fecomponenttransfer color-interpolation-filters="sRGB"><fefuncr type="table" tableValues="0 0"></fefuncr><fefuncg type="table" tableValues="0 0.64705882352941"></fefuncg><fefuncb type="table" tableValues="0 1"></fefuncb><fefunca type="table" tableValues="1 1"></fefunca></fecomponenttransfer><fecomposite in2="SourceGraphic" operator="in"></fecomposite></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;"><defs><filter id="wp-duotone-magenta-yellow"><fecolormatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 "></fecolormatrix><fecomponenttransfer color-interpolation-filters="sRGB"><fefuncr type="table" tableValues="0.78039215686275 1"></fefuncr><fefuncg type="table" tableValues="0 0.94901960784314"></fefuncg><fefuncb type="table" tableValues="0.35294117647059 0.47058823529412"></fefuncb><fefunca type="table" tableValues="1 1"></fefunca></fecomponenttransfer><fecomposite in2="SourceGraphic" operator="in"></fecomposite></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;"><defs><filter id="wp-duotone-purple-green"><fecolormatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 "></fecolormatrix><fecomponenttransfer color-interpolation-filters="sRGB"><fefuncr type="table" tableValues="0.65098039215686 0.40392156862745"></fefuncr><fefuncg type="table" tableValues="0 1"></fefuncg><fefuncb type="table" tableValues="0.44705882352941 0.4"></fefuncb><fefunca type="table" tableValues="1 1"></fefunca></fecomponenttransfer><fecomposite in2="SourceGraphic" operator="in"></fecomposite></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;"><defs><filter id="wp-duotone-blue-orange"><fecolormatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 "></fecolormatrix><fecomponenttransfer color-interpolation-filters="sRGB"><fefuncr type="table" tableValues="0.098039215686275 1"></fefuncr><fefuncg type="table" tableValues="0 0.66274509803922"></fefuncg><fefuncb type="table" tableValues="0.84705882352941 0.41960784313725"></fefuncb><fefunca type="table" tableValues="1 1"></fefunca></fecomponenttransfer><fecomposite in2="SourceGraphic" operator="in"></fecomposite></filter></defs></svg> <svg class="svg-assets" xmlns="http://www.w3.org/2000/svg"> <symbol id="social-twitter" viewBox="0 0 18 18"> <path d="M16.5,4.3c-0.6,0.2-1.1,0.4-1.8,0.5c0.6-0.4,1.1-1,1.4-1.7c-0.6,0.4-1.3,0.6-2,0.8c-0.6-0.6-1.4-1-2.2-1 c-1.7,0-3.1,1.4-3.1,3.1c0,0.2,0,0.5,0.1,0.7C6.3,6.5,4.1,5.3,2.5,3.4C2.3,3.9,2.1,4.4,2.1,5c0,1.1,0.5,2,1.4,2.6 c-0.5,0-1-0.2-1.4-0.4c0,0,0,0,0,0c0,1.5,1.1,2.8,2.5,3.1c-0.3,0.1-0.5,0.1-0.8,0.1c-0.2,0-0.4,0-0.6-0.1c0.4,1.2,1.5,2.1,2.9,2.2 c-1.1,0.8-2.4,1.3-3.8,1.3c-0.2,0-0.5,0-0.7,0c1.4,0.9,3,1.4,4.7,1.4c5.7,0,8.8-4.7,8.8-8.9c0-0.1,0-0.3,0-0.4 C15.6,5.5,16.1,4.9,16.5,4.3"></path> </symbol> <symbol id="social-facebook" viewBox="0 0 18 18"> <path d="M15.7,1.5H2.3c-0.5,0-0.8,0.4-0.8,0.8v13.3c0,0.5,0.4,0.8,0.8,0.8h7.2v-5.8h-2V8.4h2V6.8c0-1.9,1.2-3,2.9-3 c0.8,0,1.5,0.1,1.7,0.1v2l-1.2,0c-0.9,0-1.1,0.4-1.1,1.1v1.4h2.2l-0.3,2.3h-1.9v5.8h3.8c0.5,0,0.8-0.4,0.8-0.8V2.3 C16.5,1.9,16.1,1.5,15.7,1.5z"></path> </symbol> <symbol id="social-linkedin" viewBox="0 0 18 18"> <path d="M15.4,1.5H2.6C2,1.5,1.5,2,1.5,2.6v12.8c0,0.6,0.5,1.1,1.1,1.1h12.8c0.6,0,1.1-0.5,1.1-1.1V2.6C16.5,2,16,1.5,15.4,1.5z M3.8,7.1H6v7.2H3.8V7.1z M4.9,6.1c-0.7,0-1.3-0.6-1.3-1.3c0-0.7,0.6-1.3,1.3-1.3c0.7,0,1.3,0.6,1.3,1.3C6.2,5.6,5.6,6.1,4.9,6.1z M14.5,14.3h-2.3v-3.5c0-0.8,0-1.9-1.2-1.9c-1.2,0-1.4,0.9-1.4,1.8v3.5H7.4V7.1h2.2v1h0c0.3-0.6,1-1.2,2.1-1.2 c2.3,0,2.7,1.5,2.7,3.4V14.3z"></path> </symbol> <symbol version="1.1" id="social-pinterest" viewBox="0 0 40 40"> <path d="M20 3C11.7 3 5 9.7 5 18c0 6.4 4 11.8 9.5 14-.1-1.2-.3-3 .1-4.3.3-1.2 1.8-7.5 1.8-7.5s-.4-.9-.4-2.2c0-2.1 1.2-3.6 2.7-3.6 1.3 0 1.9 1 1.9 2.1 0 1.3-.8 3.2-1.2 5-.4 1.5.7 2.7 2.2 2.7 2.7 0 4.7-2.8 4.7-6.9 0-3.6-2.6-6.1-6.3-6.1-4.3 0-6.8 3.2-6.8 6.5 0 1.3.5 2.7 1.1 3.4.1.1.1.3.1.4-.2.5-.4 1.5-.5 1.7-.1.3-.2.3-.5.2-1.9-.9-3-3.6-3-5.8 0-4.7 3.4-9.1 9.9-9.1 5.2 0 9.2 3.7 9.2 8.7 0 5.2-3.3 9.3-7.8 9.3-1.5 0-2.9-.8-3.4-1.7 0 0-.8 2.9-.9 3.6-.3 1.3-1.3 2.9-1.9 3.9 1.4.4 2.9.7 4.4.7 8.3 0 15-6.7 15-15C35 9.7 28.3 3 20 3z"></path> </symbol> </svg><div id="page" class="site"><header id="masthead" class="site-header"><div class="sitelogo"> <a href="https://lastminuteengineers.com/" rel="home"> <svg xmlns="http://www.w3.org/2000/svg" width="166.5" height="54" viewBox="9.25 3 166.5 54"><path fill="#fbc531" d="M22.57 32.57L36.2 8.6l-25.9 25.46-.05.05a3.45 3.45 0 0 0-1 2.44A3.46 3.46 0 0 0 12.7 40h17l2.24-7.43h-9.38z"></path><path fill="#4285F4" d="M41.84 27.43L28.19 51.41 54.1 25.95l.05-.04a3.45 3.45 0 0 0 1-2.44A3.46 3.46 0 0 0 51.7 20h-17l-2.24 7.42h9.38z"></path><path fill="#454545" d="M64.85 48.56l3.37-15.6h9.17l-.65 2.89h-6.01L70.08 39h5.3l-.62 2.83h-5.3l-.82 3.83h6.48l-.65 2.9h-9.62zm21.51 0a86.81 86.81 0 0 0-1.9-5.31 55.1 55.1 0 0 0-2.25-5.02l-2.23 10.33h-3.1l3.36-15.6h2.41c.31.53.65 1.15 1 1.86a74.18 74.18 0 0 1 1.1 2.31 102.72 102.72 0 0 1 2.22 5.22l2-9.38h3.14l-3.38 15.6h-2.37zm12.72-2.7a7.55 7.55 0 0 0 1.32-.11l1.17-5.42h3.16l-1.7 7.8a9.2 9.2 0 0 1-1.64.49c-.72.15-1.63.23-2.74.23-.94 0-1.77-.15-2.5-.46a4.82 4.82 0 0 1-1.81-1.32 5.6 5.6 0 0 1-1.1-2.06 9.59 9.59 0 0 1-.36-2.75c0-1.17.19-2.33.56-3.49a9.53 9.53 0 0 1 1.65-3.09c.73-.9 1.63-1.65 2.71-2.22a7.86 7.86 0 0 1 5.78-.54c.73.21 1.38.53 1.96.95l-1.14 2.72a5.37 5.37 0 0 0-1.5-.74 5.28 5.28 0 0 0-1.57-.25c-.83 0-1.56.17-2.2.52a4.98 4.98 0 0 0-1.63 1.4 6.46 6.46 0 0 0-1.01 2.06 8.73 8.73 0 0 0-.35 2.48c0 1.32.25 2.28.74 2.9.5.6 1.23.9 2.2.9zm10.12-12.9h3.16l-3.38 15.6h-3.14l3.36-15.6zm12.44 15.6a87.5 87.5 0 0 0-1.9-5.31 54.83 54.83 0 0 0-2.25-5.02l-2.23 10.33h-3.1l3.36-15.6h2.41c.31.53.65 1.15 1 1.86.36.72.73 1.48 1.1 2.31a99.27 99.27 0 0 1 2.21 5.22l2-9.38h3.15L124 48.56h-2.37zm5.55 0l3.36-15.6h9.17l-.64 2.89h-6.02L132.4 39h5.3l-.62 2.83h-5.3l-.82 3.83h6.48l-.65 2.9h-9.61zm12.03 0l3.36-15.6h9.17l-.65 2.89h-6.01l-.65 3.15h5.3l-.62 2.83h-5.3l-.82 3.83h6.48l-.65 2.9h-9.61zm19.34-15.77c.9 0 1.69.12 2.37.36.67.24 1.23.56 1.68.96.44.4.77.89.99 1.43a4.67 4.67 0 0 1 .32 1.72c0 .5-.05.99-.15 1.47a4.16 4.16 0 0 1-.57 1.37 4.91 4.91 0 0 1-1.1 1.2 6.2 6.2 0 0 1-1.8.94c.38.78.77 1.72 1.16 2.83a59.42 59.42 0 0 1 1.13 3.49h-3.38a282.28 282.28 0 0 0-.95-3.07 15.43 15.43 0 0 0-1.06-2.62h-1.58l-1.23 5.69h-3.14l3.3-15.37a19.5 19.5 0 0 1 2.12-.32 22.12 22.12 0 0 1 1.89-.08zm-.1 2.97a15.37 15.37 0 0 0-1.32.06l-.91 4.28h1.07c.65 0 1.2-.07 1.64-.2.45-.14.8-.32 1.07-.54.27-.23.46-.49.58-.78a2.43 2.43 0 0 0 .07-1.62 1.46 1.46 0 0 0-.36-.62 1.83 1.83 0 0 0-.71-.43 3.5 3.5 0 0 0-1.13-.15zm10 10.19c.31 0 .62-.02.93-.08a2.57 2.57 0 0 0 .83-.28c.24-.14.44-.33.6-.57.15-.25.23-.57.23-.96 0-.3-.07-.56-.22-.77a2.77 2.77 0 0 0-.57-.6 5.37 5.37 0 0 0-.77-.5 12.7 12.7 0 0 1-.85-.49 11.58 11.58 0 0 1-1.03-.77 4.47 4.47 0 0 1-.83-.9 4.53 4.53 0 0 1-.55-1.13 4.61 4.61 0 0 1-.2-1.43c0-.7.12-1.33.35-1.93a4.2 4.2 0 0 1 1.06-1.54 4.94 4.94 0 0 1 1.75-1.02 7.44 7.44 0 0 1 4.86.05 6.31 6.31 0 0 1 1.7.88l-1.31 2.6a4.56 4.56 0 0 0-2.82-1.02c-.31 0-.6.03-.89.09a2.16 2.16 0 0 0-.75.3 1.6 1.6 0 0 0-.52.55c-.13.23-.19.5-.19.84 0 .3.05.55.15.75.1.2.24.38.4.53.16.15.35.28.56.4l.7.39c.41.24.81.5 1.2.76.4.27.74.59 1.04.94a4.2 4.2 0 0 1 .97 2.8c0 .85-.14 1.6-.42 2.23a4.28 4.28 0 0 1-1.2 1.57 5.08 5.08 0 0 1-1.83.94c-.71.2-1.5.3-2.36.3a7.7 7.7 0 0 1-1.59-.16 10.5 10.5 0 0 1-1.34-.37 6.61 6.61 0 0 1-1.03-.46 6.13 6.13 0 0 1-.7-.45l1.34-2.68a6.6 6.6 0 0 0 2.29 1.07c.32.08.66.12 1 .12zM77.48 24.61l-.35 1.67h-7.49L72.72 12h1.8l-2.73 12.6h5.69zm6.98 1.79a8.6 8.6 0 0 1-.18-.5 4.48 4.48 0 0 1-.15-.6 5.6 5.6 0 0 1-1.1.83c-.45.28-1.01.41-1.68.41-.54 0-1.01-.1-1.4-.28a2.52 2.52 0 0 1-.95-.8 3.49 3.49 0 0 1-.55-1.22 6.35 6.35 0 0 1-.17-1.54c0-.92.13-1.82.41-2.7a7.1 7.1 0 0 1 1.25-2.35 6.33 6.33 0 0 1 2.1-1.67 6.45 6.45 0 0 1 4.1-.51c.45.08.84.22 1.16.41l-1.43 6.47-.16.9c-.04.29-.06.6-.06.9a6.12 6.12 0 0 0 .33 2l-1.52.25zm-2.76-1.48c.52 0 .97-.13 1.34-.37.37-.25.69-.54.96-.87a10.57 10.57 0 0 1 .19-1.5l1.1-5.1A1.1 1.1 0 0 0 85 17a4.24 4.24 0 0 0-.38-.02c-.7 0-1.34.15-1.9.46a4.65 4.65 0 0 0-1.46 1.2 5.45 5.45 0 0 0-.93 1.75A6.73 6.73 0 0 0 80 22.5c0 .29.02.58.07.87.05.3.14.56.27.79.13.22.3.4.52.55.22.14.5.22.84.22zm8.36.02c.26 0 .52-.03.79-.09.26-.05.5-.14.7-.26.2-.13.37-.3.5-.5.13-.22.2-.48.2-.8 0-.2-.03-.39-.1-.55a1.34 1.34 0 0 0-.3-.44 2.95 2.95 0 0 0-.5-.4c-.2-.13-.45-.28-.74-.44a10.8 10.8 0 0 1-.77-.46 2.82 2.82 0 0 1-.62-.53c-.18-.2-.32-.45-.42-.73s-.15-.62-.15-1.02c0-1.03.33-1.86 1-2.48.67-.63 1.64-.94 2.91-.94a5.65 5.65 0 0 1 2.5.56l-.65 1.56a3.86 3.86 0 0 0-.83-.35 4.12 4.12 0 0 0-1.28-.18c-.23 0-.47.02-.7.08a1.9 1.9 0 0 0-.64.28c-.2.13-.35.3-.46.51a1.58 1.58 0 0 0-.18.77c0 .37.13.68.39.92s.65.49 1.17.75c.32.17.6.33.86.5.25.18.47.37.65.58.18.22.31.47.4.75.1.3.14.64.14 1.03 0 .58-.1 1.09-.3 1.53a2.95 2.95 0 0 1-.82 1.09 3.56 3.56 0 0 1-1.25.65 5.48 5.48 0 0 1-1.57.21 6.48 6.48 0 0 1-2.03-.3 3.9 3.9 0 0 1-.63-.26 5.42 5.42 0 0 1-.38-.22l.66-1.56a5.16 5.16 0 0 0 .92.45 4.94 4.94 0 0 0 1.53.29zm8.22 1.62c-.92 0-1.6-.22-2.03-.68-.44-.45-.65-1.1-.65-1.97 0-.57.09-1.29.26-2.17l1.98-9.15 1.8-.33-.72 3.31h3.27l-.35 1.6h-3.28l-1.02 4.74c-.14.65-.22 1.2-.22 1.69 0 .45.11.78.33.98.23.2.6.3 1.11.3a3 3 0 0 0 1.06-.2c.35-.13.61-.25.8-.36l.13 1.63c-.19.12-.5.25-.95.4a4.88 4.88 0 0 1-1.51.21zm20.7-11.48a157.96 157.96 0 0 0-1.7 2.76l-1.08 1.8-1.07 1.8-.97 1.63-.72 1.23H112a157.98 157.98 0 0 0-.47-2.87l-.3-1.81-.32-1.8-.28-1.58a70.2 70.2 0 0 0-.23-1.16 205.99 205.99 0 0 0-1.52 5.47c-.5 1.88-.97 3.79-1.44 5.72h-1.78a205.25 205.25 0 0 1 1.94-7.44 259.75 259.75 0 0 1 1.01-3.55c.34-1.15.67-2.24 1-3.27h1.76l.47 2.14c.17.82.33 1.69.5 2.58a109.53 109.53 0 0 1 .82 5.12l1.48-2.45a1380.44 1380.44 0 0 1 3.2-5.26 81.42 81.42 0 0 1 1.38-2.13h1.72c-.2 2.32-.49 4.68-.84 7.07a267.5 267.5 0 0 1-1.16 7.2h-1.8c.38-1.98.72-3.9 1.02-5.76.31-1.86.59-3.67.82-5.44zm4.02 11.2h-1.72l2.31-10.71h1.72L123 26.27zm2-12.64a.97.97 0 0 1-.71-.3 1.1 1.1 0 0 1-.29-.8c0-.44.12-.78.37-1.04s.53-.38.84-.38a1 1 0 0 1 .72.3c.2.2.3.48.3.84 0 .41-.13.74-.4 1-.25.25-.53.38-.83.38zm2.32 12.63h-1.73l2.23-10.29a12.51 12.51 0 0 1 1.84-.46 10.34 10.34 0 0 1 1.77-.18c.56 0 1.03.09 1.44.26s.73.4.97.7c.25.3.43.65.55 1.07a5 5 0 0 1 .17 1.37c0 .32-.02.65-.07 1s-.11.7-.19 1.06l-1.18 5.47h-1.73l1.1-5.06.25-1.17c.08-.4.12-.78.12-1.14 0-.54-.14-1-.4-1.36-.28-.37-.79-.55-1.53-.55-.31 0-.61.02-.9.06a4.05 4.05 0 0 0-.75.17l-1.96 9.05zm11.7.27c-.54 0-1-.09-1.36-.26a2.45 2.45 0 0 1-.89-.73 2.81 2.81 0 0 1-.49-1.07 5.63 5.63 0 0 1-.15-1.31c0-.36.03-.71.09-1.06.05-.35.12-.7.2-1.06l1.18-5.48h1.72l-1.1 5.07a35.49 35.49 0 0 1-.23 1.1 5.56 5.56 0 0 0-.09 2c.05.22.13.42.25.59.11.17.27.3.47.41.2.1.44.16.74.16.53 0 1-.13 1.4-.38a4.04 4.04 0 0 0 1-.9 11.18 11.18 0 0 1 .2-1.44l1.42-6.61h1.72l-1.46 6.77-.16.92a6.21 6.21 0 0 0-.06.92 5.91 5.91 0 0 0 .33 1.97l-1.52.25a6.58 6.58 0 0 1-.18-.51 4.25 4.25 0 0 1-.15-.62 6.63 6.63 0 0 1-.48.43 3.58 3.58 0 0 1-.64.41 4.33 4.33 0 0 1-.8.31c-.3.08-.61.12-.95.12zm9.67.02c-.92 0-1.6-.22-2.03-.68s-.65-1.1-.65-1.97c0-.57.09-1.29.26-2.17l1.98-9.15 1.8-.33-.73 3.31h3.28l-.35 1.6h-3.28l-1.02 4.74c-.14.65-.22 1.2-.22 1.69 0 .45.11.78.33.98.23.2.6.3 1.11.3.36 0 .71-.07 1.06-.2.35-.13.61-.25.8-.36l.13 1.63c-.19.12-.5.25-.95.4a4.88 4.88 0 0 1-1.52.21zm7.66-.02c-.63 0-1.17-.1-1.63-.3a3.17 3.17 0 0 1-1.15-.82 3.33 3.33 0 0 1-.69-1.23 4.9 4.9 0 0 1-.22-1.48c0-.96.13-1.88.39-2.78a7.93 7.93 0 0 1 1.11-2.36 5.57 5.57 0 0 1 1.76-1.64 4.57 4.57 0 0 1 3.66-.39 2.3 2.3 0 0 1 1.4 1.44 3.1 3.1 0 0 1 .17 1c0 .65-.1 1.19-.32 1.64a3.39 3.39 0 0 1-.83 1.12 3.69 3.69 0 0 1-1.22.7 9.59 9.59 0 0 1-1.44.39c-.5.1-1 .16-1.52.2l-1.45.09c-.02.1-.02.2-.02.27v.16c0 .32.03.62.1.9a1.7 1.7 0 0 0 1.15 1.24c.33.13.76.19 1.29.19a5.46 5.46 0 0 0 2.44-.7l.15 1.62a6.6 6.6 0 0 1-3.13.74zm-1.76-5.88a22.9 22.9 0 0 0 1.96-.16c.6-.07 1.1-.2 1.54-.39.43-.19.77-.44 1.01-.75a1.98 1.98 0 0 0 .3-1.63 1.02 1.02 0 0 0-.23-.38 1.17 1.17 0 0 0-.43-.29 1.84 1.84 0 0 0-.69-.11c-.43 0-.83.1-1.21.3a3.76 3.76 0 0 0-1.01.82c-.3.34-.55.73-.76 1.17a6.93 6.93 0 0 0-.48 1.42z"></path></svg> </a></div> <label for="menu-checkbox" class="menu-checkbox-label"><svg xmlns="http://www.w3.org/2000/svg" width="19" height="19"><path fill="#454545" d="M6.561 0H2.197A2.2 2.2 0 0 0 0 2.197V6.56a2.2 2.2 0 0 0 2.197 2.197H6.56A2.2 2.2 0 0 0 8.757 6.56V2.197A2.198 2.198 0 0 0 6.561 0zm.712 6.561c0 .394-.32.713-.713.713H2.197a.713.713 0 0 1-.713-.713V2.197c0-.394.32-.713.713-.713H6.56c.393 0 .713.319.713.713v4.364zM16.773 0h-4.305a2.23 2.23 0 0 0-2.227 2.227v4.305a2.23 2.23 0 0 0 2.227 2.227h4.305A2.231 2.231 0 0 0 19 6.531V2.227A2.23 2.23 0 0 0 16.773 0zm.743 6.531a.743.743 0 0 1-.742.742h-4.305a.743.743 0 0 1-.742-.742V2.227c0-.409.333-.742.742-.742h4.305c.409 0 .742.333.742.742v4.304zM6.561 10.242H2.197A2.2 2.2 0 0 0 0 12.439v4.363A2.2 2.2 0 0 0 2.197 19H6.56a2.2 2.2 0 0 0 2.197-2.197V12.44a2.199 2.199 0 0 0-2.196-2.198zm.712 6.561c0 .393-.32.713-.713.713H2.197a.714.714 0 0 1-.713-.713V12.44c0-.393.32-.713.713-.713H6.56c.393 0 .713.32.713.713v4.363zM16.773 10.242h-4.305a2.23 2.23 0 0 0-2.227 2.227v4.305a2.23 2.23 0 0 0 2.227 2.227h4.305A2.231 2.231 0 0 0 19 16.773v-4.305a2.23 2.23 0 0 0-2.227-2.226zm.743 6.531a.743.743 0 0 1-.742.742h-4.305a.743.743 0 0 1-.742-.742v-4.305c0-.409.333-.742.742-.742h4.305c.409 0 .742.333.742.742v4.305z"></path></svg></label> <input id="menu-checkbox" type="checkbox" name="msc" class="hide-checkbox"><div class="menu-search-wrapper"><div class="search-box"><form role="search" method="get" class="search-form" action="https://lastminuteengineers.com/"> <span><input type="search" class="search-field" placeholder="Search" value="" name="s"></span></form></div><nav class="header-nav"> <b>Tutorials</b><div class="dropdown"> <a href="https://lastminuteengineers.com/electronics/basic-electronics/" class="bas">Basic Electronics</a> <a href="https://lastminuteengineers.com/electronics/arduino-projects/" class="ard">Arduino</a> <a href="https://lastminuteengineers.com/electronics/esp32-projects/" class="esp">ESP32</a> <a href="https://lastminuteengineers.com/electronics/esp8266-projects/" class="esp">ESP8266</a></div></nav></div> <label for="menu-checkbox" class="sidebar-overlay"></label> <label for="nav-sidebar-checkbox" class="nav-sidebar-label"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="15"><path fill="#454545" d="M19.999 1.034c0 .571-.463 1.035-1.033 1.035H1.034a1.033 1.033 0 1 1 0-2.069h17.932c.57 0 1.033.463 1.033 1.034zM19.999 7.5c0 .571-.463 1.034-1.033 1.034H1.034a1.034 1.034 0 0 1 0-2.068h17.932c.57 0 1.033.464 1.033 1.034zM20 13.966c0 .571-.464 1.034-1.034 1.034H1.034a1.033 1.033 0 1 1 0-2.068h17.932c.57 0 1.034.463 1.034 1.034z"></path></svg></label></header><div class="site-main"> <input id="nav-sidebar-checkbox" type="checkbox" name="lfs" class="hide-checkbox"><nav class="nav-sidebar-wrapper"><div id="nav-sidebar" class="nav-sidebar"><div id="chapters"><p class="nav-title">Wireless & IoT</p><div class="nav-section"> <a href="https://lastminuteengineers.com/sim800l-gsm-module-arduino-tutorial/">SIM800L GSM Module</a> <a href="https://lastminuteengineers.com/a6-gsm-gprs-module-arduino-tutorial/">A6 GSM GPRS Module</a> <a href="https://lastminuteengineers.com/sim900-gsm-shield-arduino-tutorial/">SIM900 GSM Shield</a> <a href="https://lastminuteengineers.com/nrf24l01-arduino-wireless-communication/">NRF24L01 Wireless Module</a> <a href="https://lastminuteengineers.com/433mhz-rf-wireless-arduino-tutorial/">433Mhz RF Wireless Module</a> <a href="https://lastminuteengineers.com/neo6m-gps-arduino-tutorial/">NEO6M GPS Module</a> <a href="https://lastminuteengineers.com/hc05-bluetooth-arduino-tutorial/">HC-05 Bluetooth Module</a> <a href="https://lastminuteengineers.com/hc05-at-commands-tutorial/">HC-05 AT Commands</a> <a href="https://lastminuteengineers.com/hc05-master-slave-arduino-tutorial/">HC-05 Master Slave Config.</a></div><p class="nav-title">Sensors</p><div class="nav-section"> <a href="https://lastminuteengineers.com/pir-sensor-arduino-tutorial/">HC-SR501 PIR Sensor</a> <a href="https://lastminuteengineers.com/rcwl0516-microwave-radar-motion-sensor-arduino-tutorial/">RCWL-0516 Radar Sensor</a> <a href="https://lastminuteengineers.com/arduino-sr04-ultrasonic-sensor-tutorial/">SR04 Ultrasonic Sensor</a> <a href="https://lastminuteengineers.com/dht11-dht22-arduino-tutorial/">DHT11/DHT22 Temp Sensor</a> <a href="https://lastminuteengineers.com/dht11-module-arduino-tutorial/">DHT11 Module</a> <a href="https://lastminuteengineers.com/am2320-temperature-humidity-sensor-arduino-tutorial/">AM2320 Temp Sensor</a> <a href="https://lastminuteengineers.com/tmp36-temperature-sensor-arduino-tutorial/">TMP36 Temp Sensor</a> <a href="https://lastminuteengineers.com/lm35-temperature-sensor-arduino-tutorial/">LM35 Temp Sensor</a> <a href="https://lastminuteengineers.com/ds18b20-arduino-tutorial/">DS18B20 Temp. Sensor</a> <a href="https://lastminuteengineers.com/multiple-ds18b20-arduino-tutorial/">Multiple DS18B20 Sensors</a> <a href="https://lastminuteengineers.com/max6675-thermocouple-arduino-tutorial/">MAX6675 Thermocouple Module</a> <a href="https://lastminuteengineers.com/mlx90614-ir-temperature-sensor-arduino-tutorial/">MLX90614 IR Temp Sensor</a> <a href="https://lastminuteengineers.com/htu21d-temperature-humidity-sensor-arduino-tutorial/">HTU21D Temp Sensor</a> <a href="https://lastminuteengineers.com/sht31-temperature-humidity-sensor-arduino-tutorial/">SHT31 Temp Sensor</a> <a href="https://lastminuteengineers.com/mq2-gas-senser-arduino-tutorial/">MQ2 Gas Sensor</a> <a href="https://lastminuteengineers.com/mq3-alcohol-sensor-arduino-tutorial/">MQ3 Alcohol Sensor</a> <a href="https://lastminuteengineers.com/bme680-gas-pressure-humidity-temperature-sensor-arduino-tutorial/">BME680 Environmental Sensor</a> <a href="https://lastminuteengineers.com/bme280-arduino-tutorial/">BME280 Pressure Sensor</a> <a href="https://lastminuteengineers.com/bmp180-arduino-tutorial/">BMP180 Pressure Sensor</a> <a href="https://lastminuteengineers.com/bmp388-altimeter-pressure-sensor-arduino-tutorial/">BMP388 Altimeter Sensor</a> <a href="https://lastminuteengineers.com/ms5611-barometric-pressure-sensor-arduino-tutorial/">MS5611 Pressure Sensor</a> <a href="https://lastminuteengineers.com/adxl335-accelerometer-arduino-tutorial/">ADXL335 Accelerometer</a> <a href="https://lastminuteengineers.com/mpu6050-accel-gyro-arduino-tutorial/">MPU6050 Gyroscope</a> <a href="https://lastminuteengineers.com/how-rfid-works-rc522-arduino-tutorial/">RC522 RFID Module</a> <a href="https://lastminuteengineers.com/sound-sensor-arduino-tutorial/">Sound Sensor</a> <a href="https://lastminuteengineers.com/max4466-arduino-tutorial/">max4466 Microphone Amplifier</a> <a href="https://lastminuteengineers.com/soil-moisture-sensor-arduino-tutorial/">Resistive Soil Moisture Sensor</a> <a href="https://lastminuteengineers.com/capacitive-soil-moisture-sensor-arduino/">Capacitive Soil Moisture Sensor</a> <a href="https://lastminuteengineers.com/water-level-sensor-arduino-tutorial/">Water Level Sensor</a> <a href="https://lastminuteengineers.com/soil-npk-sensor-arduino-tutorial/">Soil NPK Sensor</a> <a href="https://lastminuteengineers.com/rain-sensor-arduino-tutorial/">Rain Sensor</a> <a href="https://lastminuteengineers.com/fsr-arduino-tutorial/">Force Sensor(FSR)</a> <a href="https://lastminuteengineers.com/flex-sensor-arduino-tutorial/">Flex Sensor</a> <a href="https://lastminuteengineers.com/reed-switch-arduino-tutorial/">Reed Switch</a> <a href="https://lastminuteengineers.com/ball-tilt-switch-sensor-arduino-tutorial/">Ball Tilt Sensor</a> <a href="https://lastminuteengineers.com/pulse-sensor-arduino-tutorial/">Pulse Sensor</a> <a href="https://lastminuteengineers.com/max30100-pulse-oximeter-heart-rate-sensor-arduino-tutorial/">MAX30100 Heart Rate Sensor</a> <a href="https://lastminuteengineers.com/max30102-pulse-oximeter-heart-rate-sensor-arduino-tutorial/">MAX30102 Heart Rate Sensor</a> <a href="https://lastminuteengineers.com/tcs230-tcs3200-color-sensor-arduino-tutorial/">TCS230 Color Sensor</a> <a href="https://lastminuteengineers.com/tfmini-s-lidar-sensor-arduino-tutorial/">TFMini-S LiDAR Sensor</a></div><p class="nav-title">Displays</p><div class="nav-section"> <a href="https://lastminuteengineers.com/arduino-1602-character-lcd-tutorial/">16×2 LCD Display</a> <a href="https://lastminuteengineers.com/i2c-lcd-arduino-tutorial/">I2C LCD Display</a> <a href="https://lastminuteengineers.com/seven-segment-arduino-tutorial/">7 Segment Display</a> <a href="https://lastminuteengineers.com/nokia-5110-lcd-arduino-tutorial/">Nokia 5110 Graphic LCD</a> <a href="https://lastminuteengineers.com/oled-display-arduino-tutorial/">OLED Graphic Display</a> <a href="https://lastminuteengineers.com/tm1637-arduino-tutorial/">TM1637 7 Segment Display</a> <a href="https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/" class="current-chapter">MAX7219 Dot Matrix Display</a> <a href="https://lastminuteengineers.com/ws2812b-arduino-tutorial/">WS2812B LEDs</a></div><p class="nav-title">Motors</p><div class="nav-section"> <a href="https://lastminuteengineers.com/servo-motor-arduino-tutorial/">Servo Motor</a> <a href="https://lastminuteengineers.com/28byj48-stepper-motor-arduino-tutorial/">28BYJ-48 Stepper Motor</a> <a href="https://lastminuteengineers.com/a4988-stepper-motor-driver-arduino-tutorial/">A4988 Stepper Driver</a> <a href="https://lastminuteengineers.com/drv8825-stepper-motor-driver-arduino-tutorial/">DRV8825 Stepper Driver</a> <a href="https://lastminuteengineers.com/drv8833-arduino-tutorial/">DRV8833 Motor Driver</a> <a href="https://lastminuteengineers.com/l293d-motor-driver-shield-arduino-tutorial/">L293D Motor Driver Shield</a> <a href="https://lastminuteengineers.com/l298n-dc-stepper-driver-arduino-tutorial/">L298N with DC Motor</a> <a href="https://lastminuteengineers.com/stepper-motor-l298n-arduino-tutorial/">L298N with Stepper Motor </a> <a href="https://lastminuteengineers.com/l293d-dc-motor-arduino-tutorial/">L293D IC with DC Motor </a> <a href="https://lastminuteengineers.com/stepper-motor-l293d-arduino-tutorial/">L293D IC with Stepper Motor </a></div><p class="nav-title">Modules</p><div class="nav-section"> <a href="https://lastminuteengineers.com/rotary-encoder-arduino-tutorial/">Rotary Encoder</a> <a href="https://lastminuteengineers.com/mcp2515-can-module-arduino-tutorial/">MCP2515 CAN Module</a> <a href="https://lastminuteengineers.com/one-channel-relay-module-arduino-tutorial/">One Channel Relay Module</a> <a href="https://lastminuteengineers.com/two-channel-relay-module-arduino-tutorial/">Two Channel Relay Module</a> <a href="https://lastminuteengineers.com/74hc595-shift-register-arduino-tutorial/">74HC595 Shift Register</a> <a href="https://lastminuteengineers.com/joystick-interfacing-arduino-processing/">2-Axis Joystick</a> <a href="https://lastminuteengineers.com/ds3231-rtc-arduino-tutorial/">DS3231 RTC Module</a> <a href="https://lastminuteengineers.com/ds1307-rtc-arduino-tutorial/">DS1307 RTC Module</a> <a href="https://lastminuteengineers.com/arduino-keypad-tutorial/">4×4 Membrane Keypad</a> <a href="https://lastminuteengineers.com/arduino-micro-sd-card-module-tutorial/">Micro SD Card Module</a> <a href="https://lastminuteengineers.com/voltage-sensor-arduino-tutorial/">Voltage Sensor</a></div></div></div> <label for="nav-sidebar-checkbox" class="sidebar-overlay"></label></nav><div class="post-wrapper"><div class="main-wrapper"><div class="nav-rightbar-wrapper" style="transition: all 0s ease 0s; min-height: 26014px;"><span id="ezoic-pub-ad-placeholder-168" class="ezoic-adpicker-ad"></span><span class="ezoic-ad ezoic-at-0 box-1 box-1168 adtester-container adtester-container-168 ezoic-ad-adaptive" data-ez-name="lastminuteengineers_com-box-1"><span class="ezoic-ad box-1 box-1-multi-168 adtester-container adtester-container-168" data-ez-name="lastminuteengineers_com-box-1"><span id="div-gpt-ad-lastminuteengineers_com-box-1-0" ezaw="300" ezah="262" style="position:relative;z-index:0;display:inline-block;padding:0;min-height:262px;min-width:300px;" class="ezoic-ad"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">if(typeof ez_ad_units == 'undefined'){ez_ad_units=[];}ez_ad_units.push([[300,250],'lastminuteengineers_com-box-1','ezslot_2',168,'0','0', 'lastminuteengineers_com-box-1-0']);if(typeof __ez_fad_position == 'function'){__ez_fad_position('div-gpt-ad-lastminuteengineers_com-box-1-0');}</script></span></span><span class="ezoic-ad box-1 box-1-multi-168 adtester-container adtester-container-168" data-ez-name="lastminuteengineers_com-box-1"><span id="div-gpt-ad-lastminuteengineers_com-box-1-0_1" ezaw="300" ezah="262" style="position:relative;z-index:0;display:inline-block;padding:0;min-height:262px;min-width:300px;" class="ezoic-ad"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">if(typeof ez_ad_units == 'undefined'){ez_ad_units=[];}ez_ad_units.push([[300,250],'lastminuteengineers_com-box-1','ezslot_3',168,'0','1', 'lastminuteengineers_com-box-1-0_1']);if(typeof __ez_fad_position == 'function'){__ez_fad_position('div-gpt-ad-lastminuteengineers_com-box-1-0_1');}</script></span></span><span class="ezoic-ad box-1 box-1-multi-168 adtester-container adtester-container-168" data-ez-name="lastminuteengineers_com-box-1"><span id="div-gpt-ad-lastminuteengineers_com-box-1-0_2" ezaw="300" ezah="262" style="position:relative;z-index:0;display:inline-block;padding:0;min-height:262px;min-width:300px;" class="ezoic-ad"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">if(typeof ez_ad_units == 'undefined'){ez_ad_units=[];}ez_ad_units.push([[300,250],'lastminuteengineers_com-box-1','ezslot_4',168,'0','2', 'lastminuteengineers_com-box-1-0_2']);if(typeof __ez_fad_position == 'function'){__ez_fad_position('div-gpt-ad-lastminuteengineers_com-box-1-0_2');}</script></span></span><span class="ezoic-ad box-1 box-1-multi-168 adtester-container adtester-container-168" data-ez-name="lastminuteengineers_com-box-1"><span id="div-gpt-ad-lastminuteengineers_com-box-1-0_3" ezaw="300" ezah="262" style="position:relative;z-index:0;display:inline-block;padding:0;min-height:262px;min-width:300px;" class="ezoic-ad"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">if(typeof ez_ad_units == 'undefined'){ez_ad_units=[];}ez_ad_units.push([[300,250],'lastminuteengineers_com-box-1','ezslot_5',168,'0','3', 'lastminuteengineers_com-box-1-0_3']);if(typeof __ez_fad_position == 'function'){__ez_fad_position('div-gpt-ad-lastminuteengineers_com-box-1-0_3');}</script></span></span><style> .box-1-multi-168{border:none !important;display:block !important;float:none !important;line-height:0px;margin-bottom:3px !important;margin-left:auto !important;margin-right:auto !important;margin-top:3px !important;max-width:100% !important;min-height:250px;min-width:300px;padding:0;text-align:center !important;}</style></span><nav class="nav-rightbar"><div class="story-highlights"><div class="tab"><label for="tab-title" class="story-highlights-title">Table Of Contents</label><input id="tab-title" type="checkbox" name="tabs"><label class="main-tab-icon tabicon" for="tab-title"></label><ul class="main-tab tab-content"><li class="tab"><a href="https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/#max7219-module-overview">MAX7219 Module Overview</a><input id="tab-0" type="checkbox" name="tabs"><label class="tabicon" for="tab-0"></label><ul class="tab-content"><li><a href="https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/#the-dot-matrix-display">- The Dot Matrix Display</a></li><li><a href="https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/#max7219-chip">- MAX7219 Chip</a></li></ul></li><li><a href="https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/#setting-maximum-current-and-brightness">Setting Maximum Current and Brightness</a></li><li class="tab"><a href="https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/#max7219-module-pinout">MAX7219 Module Pinout</a><input id="tab-4" type="checkbox" name="tabs"><label class="tabicon" for="tab-4"></label><ul class="tab-content"><li><a href="https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/#input-connector">- Input Connector</a></li><li><a href="https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/#output-connector">- Output Connector</a></li></ul></li><li><a href="https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/#wiring-max7219-module-with-arduino-uno">Wiring MAX7219 Module with Arduino UNO</a></li><li><a href="https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/#library-installation">Library Installation</a></li><li class="tab"><a href="https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/#basic-arduino-code-printing-text">Basic Arduino Code Printing Text</a><input id="tab-9" type="checkbox" name="tabs"><label class="tabicon" for="tab-9"></label><ul class="tab-content"><li><a href="https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/#output">- Output</a></li><li><a href="https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/#code-explanation">- Code Explanation</a></li></ul></li><li class="tab"><a href="https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/#arduino-code-scrolling-text">Arduino Code Scrolling Text</a><input id="tab-12" type="checkbox" name="tabs"><label class="tabicon" for="tab-12"></label><ul class="tab-content"><li><a href="https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/#code-explanation">- Code Explanation</a></li></ul></li></ul></div></div></nav><span id="ezoic-pub-ad-placeholder-175" class="ezoic-adpicker-ad"></span><span class="ezoic-ad ezoic-at-0 banner-2 banner-2175 adtester-container adtester-container-175 ez-sticky" data-ez-name="lastminuteengineers_com-banner-2" style="top: 80px;"><span id="div-gpt-ad-lastminuteengineers_com-banner-2-0" ezaw="336" ezah="280" style="position:relative;z-index:0;display:inline-block;padding:0;width:100%;max-width:1200px;margin-left:auto !important;margin-right:auto !important;min-height:280px;min-width:336px;" class="ezoic-ad ezoic-adl"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">if(typeof ez_ad_units == 'undefined'){ez_ad_units=[];}ez_ad_units.push([[336,280],'lastminuteengineers_com-banner-2','ezslot_6',175,'0','0', 'lastminuteengineers_com-banner-2-0']);if(typeof __ez_fad_position == 'function'){__ez_fad_position('div-gpt-ad-lastminuteengineers_com-banner-2-0');}</script></span><span style="display:block;height:14px;margin:auto;position:relative" class="reportline" data-ez-ph-owner-id="175"><span style="text-align:center;font-size:12px !important;font-family: arial!important;float:right;line-height:normal;" class="ezoicwhat"><img src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezoicbwa.png" alt="Ezoic" loading="lazy" style="height:14px !important; padding:2px !important; border:0px !important; cursor:pointer !important; width: 14px !important; margin:0 !important; box-sizing: content-box !important;" title="ezoic" name="?pageview_id=84e847a7-ff0e-4693-7ae9-a6df7a38669e&ad_position_id=175&impression_group_id=lastminuteengineers_com-banner-2/2023-10-30/4978862004980556&ad_size=336x280&domain_id=354895&url=https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/"></span></span></span></div><main id="main"><div class="post-2803 post type-post status-publish format-standard has-post-thumbnail hentry category-arduino-projects"><article id="post-2803"><div class="post-header"> <a class="article-tag" href="https://lastminuteengineers.com/electronics/arduino-projects/" aria-hidden="true">Arduino</a><h1 class="entry-title">Interfacing MAX7219 LED Dot Matrix Display with Arduino</h1><div class="social-sharing top-sharing"> <a class="facebook" href="https://www.facebook.com/sharer/sharer.php?caption=Interfacing+MAX7219+LED+Dot+Matrix+Display+with+Arduino&u=https%3A%2F%2Flastminuteengineers.com%2Fmax7219-dot-matrix-arduino-tutorial%2F"> <svg height="21px" width="21px" aria-hidden="true" viewBox="0 0 30 30"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#social-facebook"></use> </svg> </a> <a class="twitter" href="https://twitter.com/intent/tweet?text=Interfacing+MAX7219+LED+Dot+Matrix+Display+with+Arduino&url=https%3A%2F%2Flastminuteengineers.com%2Fmax7219-dot-matrix-arduino-tutorial%2F&via=Last+Minute+Engineers"> <svg height="21px" width="21px" aria-hidden="true" viewBox="0 0 30 30"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#social-twitter"></use> </svg> </a><a class="pinterest" href="https://pinterest.com/pin/create/button/?url=https%3A%2F%2Flastminuteengineers.com%2Fmax7219-dot-matrix-arduino-tutorial%2F&media=https://lastminuteengineers.com/wp-content/uploads/2020/10/Arduino-Tutorial-for-Interfacing-MAX7219-LED-Display-Module.jpg&description=Interfacing+MAX7219+LED+Dot+Matrix+Display+with+Arduino"> <svg height="23px" width="23px" aria-hidden="true" viewBox="0 0 30 30"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#social-pinterest"></use> </svg> </a> <a class="linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Flastminuteengineers.com%2Fmax7219-dot-matrix-arduino-tutorial%2F&title=Interfacing+MAX7219+LED+Dot+Matrix+Display+with+Arduino"> <svg height="21px" width="21px" aria-hidden="true" viewBox="0 0 30 30"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#social-linkedin"></use> </svg> </a></div></div><div class="featured-image"> <img width="763" height="436" alt="Arduino-Tutorial-for-Interfacing-MAX7219-LED-Display-Module" src="./MAX7219 LED Dot Matrix Display with Arduino_files/Arduino-Tutorial-for-Interfacing-MAX7219-LED-Display-Module.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" importance="high"></div><div class="entry-content"><p>Dot matrix displays are something that all Arduino enthusiasts come across at some point. These displays are so popular that almost all modern outdoor LED displays use them to display characters, symbols, and images.</p><span id="ezoic-pub-ad-placeholder-102" data-inserter-version="2"></span><span class="ezoic-ad ezoic-at-0 box-3 box-3102 adtester-container adtester-container-102" data-ez-name="lastminuteengineers_com-box-3"><span id="div-gpt-ad-lastminuteengineers_com-box-3-0" ezaw="728" ezah="90" style="position:relative;z-index:0;display:inline-block;padding:0;position:sticky !important;top:0px !important;min-height:90px;min-width:728px;" class="ezoic-ad ezads-sticky-intradiv ezoic-adl"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">if(typeof ez_ad_units == 'undefined'){ez_ad_units=[];}ez_ad_units.push([[728,90],'lastminuteengineers_com-box-3','ezslot_10',102,'0','0', 'lastminuteengineers_com-box-3-0']);if(typeof __ez_fad_position == 'function'){__ez_fad_position('div-gpt-ad-lastminuteengineers_com-box-3-0');}</script></span></span><p>When it comes to controlling dot-matrix displays, there is hardly a better option than the MAX7219. It can easily control a single dot matrix and, for larger projects, it can be chained together to control two or more dot matrices.</p><p>All in all, they are a lot of fun and quite useful as well, so let’s get started.</p><h2 id="h.g76ivgt3pwg1">MAX7219 Module Overview</h2><p>There are several MAX7219 breakout boards available, two of which are more popular: the generic module and the FC-16 module.</p><div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" src="./MAX7219 LED Dot Matrix Display with Arduino_files/MAX7219-Module-Variants.jpg" alt="max7219 module variants" width="695" height="146"></figure></div><p>A typical MAX7219 module includes an 8×8 dot matrix display and a MAX7219 LED display driver. Let’s get familiar with them.</p><span id="ezoic-pub-ad-placeholder-110" data-inserter-version="2"></span><span class="ezoic-ad ezoic-at-0 medrectangle-3 medrectangle-3110 adtester-container adtester-container-110" data-ez-name="lastminuteengineers_com-medrectangle-3"><span id="div-gpt-ad-lastminuteengineers_com-medrectangle-3-0" ezaw="728" ezah="90" style="position:relative;z-index:0;display:inline-block;padding:0;position:sticky !important;top:0px !important;min-height:90px;min-width:728px;" class="ezoic-ad ezads-sticky-intradiv ezoic-adl"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">if(typeof ez_ad_units == 'undefined'){ez_ad_units=[];}ez_ad_units.push([[728,90],'lastminuteengineers_com-medrectangle-3','ezslot_9',110,'0','0', 'lastminuteengineers_com-medrectangle-3-0']);if(typeof __ez_fad_position == 'function'){__ez_fad_position('div-gpt-ad-lastminuteengineers_com-medrectangle-3-0');}</script></span></span><span style="display:block;height:14px;margin:auto;position:relative" class="reportline" data-ez-ph-owner-id="110"><span style="text-align:center;font-size:12px !important;font-family: arial!important;float:right;line-height:normal;" class="ezoicwhat"><img src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezoicbwa.png" alt="Ezoic" loading="lazy" style="height:14px !important; padding:2px !important; border:0px !important; cursor:pointer !important; width: 14px !important; margin:0 !important; box-sizing: content-box !important;" title="ezoic" name="?pageview_id=84e847a7-ff0e-4693-7ae9-a6df7a38669e&ad_position_id=110&impression_group_id=lastminuteengineers_com-medrectangle-3/2023-10-30/3947134712919871&ad_size=728x90&domain_id=354895&url=https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/"></span></span><h3 id="the-dot-matrix-display">The Dot Matrix Display</h3><div class="wp-block-image JGDF"><figure class="aligncenter"><img loading="lazy" decoding="async" src="./MAX7219 LED Dot Matrix Display with Arduino_files/8x8-Dot-Matrix-Display.jpg" alt="8x8 dot matrix display" width="230" height="238"></figure></div><p>An 8×8 dot matrix display typically has 16 pins, 8 for each row and 8 for each column. All rows and columns are wired together in order to reduce the number of pins. If this were not the case, an 8×8 dot matrix display would require 65 pins, one for each LED and one for a common anode or common cathode connector. By connecting rows and columns, only 16 pins are needed to control the entire matrix. This technique of controlling a large number of LEDs with fewer pins is referred to as <strong>Multiplexing</strong>.</p><span id="ezoic-pub-ad-placeholder-111" data-inserter-version="2"></span><span class="ezoic-ad ezoic-at-0 medrectangle-4 medrectangle-4111 adtester-container adtester-container-111" data-ez-name="lastminuteengineers_com-medrectangle-4"><span id="div-gpt-ad-lastminuteengineers_com-medrectangle-4-0" ezaw="468" ezah="60" style="position:relative;z-index:0;display:inline-block;padding:0;position:sticky !important;top:0px !important;min-height:60px;min-width:468px;" class="ezoic-ad ezads-sticky-intradiv ezoic-adl"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">if(typeof ez_ad_units == 'undefined'){ez_ad_units=[];}ez_ad_units.push([[468,60],'lastminuteengineers_com-medrectangle-4','ezslot_21',111,'0','0', 'lastminuteengineers_com-medrectangle-4-0']);if(typeof __ez_fad_position == 'function'){__ez_fad_position('div-gpt-ad-lastminuteengineers_com-medrectangle-4-0');}</script></span></span><span style="display:block;height:14px;margin:auto;position:relative" class="reportline" data-ez-ph-owner-id="111"><span style="text-align:center;font-size:12px !important;font-family: arial!important;float:right;line-height:normal;" class="ezoicwhat"><img src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezoicbwa.png" alt="Ezoic" loading="lazy" style="height:14px !important; padding:2px !important; border:0px !important; cursor:pointer !important; width: 14px !important; margin:0 !important; box-sizing: content-box !important;" title="ezoic" name="?pageview_id=84e847a7-ff0e-4693-7ae9-a6df7a38669e&ad_position_id=111&impression_group_id=lastminuteengineers_com-medrectangle-4/2023-10-30/4148694950986349&ad_size=468x60&domain_id=354895&url=https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/"></span></span><div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" src="./MAX7219 LED Dot Matrix Display with Arduino_files/8x8-Dot-Matrix-Internal-Structure-Multiplexing.png" alt="8x8 dot matrix internal structure multiplexing" width="377" height="312"></figure></div><p>In this technique, each column is activated for a very short time, and at the same time, the LEDs on that column are lit by addressing the corresponding row. As a result, no more than eight LEDs are lit at the same time. The columns are switched so fast (hundreds or thousands of times per second) that the human eye perceives the display as fully lit.</p><div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" src="./MAX7219 LED Dot Matrix Display with Arduino_files/LED-Matrix-Display-Working-Animation-Persistence-of-Vision.gif" alt="led matrix display working animation persistence of vision" width="202" height="202"></figure></div><h3 id="max7219-chip">MAX7219 Chip</h3><p>The only problem with multiplexing is that you have to refresh the display all the time to keep the image stable.</p><p>Then there’s the MAX7219 Chip, which handles all of the control and refresh work for you. All you have to do is send it serial commands through the 4-pin SPI interface, and it will take care of the rest.</p><span id="ezoic-pub-ad-placeholder-112" data-inserter-version="2"></span><span class="ezoic-ad ezoic-at-0 box-4 box-4112 adtester-container adtester-container-112" data-ez-name="lastminuteengineers_com-box-4"><span id="div-gpt-ad-lastminuteengineers_com-box-4-0" ezaw="580" ezah="400" style="position:relative;z-index:0;display:inline-block;padding:0;position:sticky !important;top:0px !important;min-height:400px;min-width:580px;" class="ezoic-ad ezads-sticky-intradiv ezoic-adl"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">if(typeof ez_ad_units == 'undefined'){ez_ad_units=[];}ez_ad_units.push([[580,400],'lastminuteengineers_com-box-4','ezslot_11',112,'0','0', 'lastminuteengineers_com-box-4-0']);if(typeof __ez_fad_position == 'function'){__ez_fad_position('div-gpt-ad-lastminuteengineers_com-box-4-0');}</script></span></span><span style="display:block;height:14px;margin:auto;position:relative" class="reportline" data-ez-ph-owner-id="112"><span style="text-align:center;font-size:12px !important;font-family: arial!important;float:right;line-height:normal;" class="ezoicwhat"><img src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezoicbwa.png" alt="Ezoic" loading="lazy" style="height:14px !important; padding:2px !important; border:0px !important; cursor:pointer !important; width: 14px !important; margin:0 !important; box-sizing: content-box !important;" title="ezoic" name="?pageview_id=84e847a7-ff0e-4693-7ae9-a6df7a38669e&ad_position_id=112&impression_group_id=lastminuteengineers_com-box-4/2023-10-30/2605569456957337&ad_size=580x400&domain_id=354895&url=https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/"></span></span><div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" src="./MAX7219 LED Dot Matrix Display with Arduino_files/MAX7219-IC.jpg" alt="max7219 ic" width="533" height="153"></figure></div><p>It can fully control 64 individual LEDs while keeping their brightness constant. Once the microcontroller has updated the display, the MAX7219 handles the work of refreshing the display at 800 Hz. This frees up the microcontroller to do other important things.</p><p>The MAX7219 has a power saving mode in which the display can be turned off to save power. It also turns off the LEDs during startup, preventing wacky displays for the first few seconds of operation.</p><p>The MAX7219 communicates via the SPI interface, so it only needs 3 data pins to connect to a microcontroller. In addition, we can daisy-chain multiple modules together for a larger display using the same 3 wires.</p><span id="ezoic-pub-ad-placeholder-113" data-inserter-version="2"></span><span class="ezoic-ad ezoic-at-0 banner-1 banner-1113 adtester-container adtester-container-113" data-ez-name="lastminuteengineers_com-banner-1"><span id="div-gpt-ad-lastminuteengineers_com-banner-1-0" ezaw="300" ezah="250" style="position:relative;z-index:0;display:inline-block;padding:0;position:sticky !important;top:0px !important;min-height:250px;min-width:300px;" class="ezoic-ad ezads-sticky-intradiv ezoic-adl"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">if(typeof ez_ad_units == 'undefined'){ez_ad_units=[];}ez_ad_units.push([[300,250],'lastminuteengineers_com-banner-1','ezslot_17',113,'0','0', 'lastminuteengineers_com-banner-1-0']);if(typeof __ez_fad_position == 'function'){__ez_fad_position('div-gpt-ad-lastminuteengineers_com-banner-1-0');}</script></span></span><span style="display:block;height:14px;margin:auto;position:relative" class="reportline" data-ez-ph-owner-id="113"><span style="text-align:center;font-size:12px !important;font-family: arial!important;float:right;line-height:normal;" class="ezoicwhat"><img src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezoicbwa.png" alt="Ezoic" loading="lazy" style="height:14px !important; padding:2px !important; border:0px !important; cursor:pointer !important; width: 14px !important; margin:0 !important; box-sizing: content-box !important;" title="ezoic" name="?pageview_id=84e847a7-ff0e-4693-7ae9-a6df7a38669e&ad_position_id=113&impression_group_id=lastminuteengineers_com-banner-1/2023-10-30/8325930054941741&ad_size=300x250&domain_id=354895&url=https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/"></span></span><h2 id="h.ea9uejxpxu4g">Setting Maximum Current and Brightness</h2><p>The MAX7219 allows you to adjust the brightness of the display using either hardware or software (or both).</p><h3 id="h.pfn5scqjal90">At the Hardware Level</h3><p>The MAX7219 breakout board includes a resistor (RSet) for adjusting the brightness at the hardware level.</p><div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" src="./MAX7219 LED Dot Matrix Display with Arduino_files/MAX7219-Rset-Resistance-for-Setting-Brightness.jpg" alt="max7219 rset resistance for setting brightness" width="515" height="153"></figure></div><p>This resistor controls the maximum current supplied to the LEDs and, hence, the overall brightness of the display.</p><span id="ezoic-pub-ad-placeholder-114" data-inserter-version="2"></span><span class="ezoic-ad ezoic-at-0 large-leaderboard-2 large-leaderboard-2114 adtester-container adtester-container-114" data-ez-name="lastminuteengineers_com-large-leaderboard-2"><span id="div-gpt-ad-lastminuteengineers_com-large-leaderboard-2-0" ezaw="300" ezah="250" style="position:relative;z-index:0;display:inline-block;padding:0;position:sticky !important;top:0px !important;min-height:250px;min-width:300px;" class="ezoic-ad ezads-sticky-intradiv ezoic-adl"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">if(typeof ez_ad_units == 'undefined'){ez_ad_units=[];}ez_ad_units.push([[300,250],'lastminuteengineers_com-large-leaderboard-2','ezslot_13',114,'0','0', 'lastminuteengineers_com-large-leaderboard-2-0']);if(typeof __ez_fad_position == 'function'){__ez_fad_position('div-gpt-ad-lastminuteengineers_com-large-leaderboard-2-0');}</script></span></span><span style="display:block;height:14px;margin:auto;position:relative" class="reportline" data-ez-ph-owner-id="114"><span style="text-align:center;font-size:12px !important;font-family: arial!important;float:right;line-height:normal;" class="ezoicwhat"><img src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezoicbwa.png" alt="Ezoic" loading="lazy" style="height:14px !important; padding:2px !important; border:0px !important; cursor:pointer !important; width: 14px !important; margin:0 !important; box-sizing: content-box !important;" title="ezoic" name="?pageview_id=84e847a7-ff0e-4693-7ae9-a6df7a38669e&ad_position_id=114&impression_group_id=lastminuteengineers_com-large-leaderboard-2/2023-10-30/375908628972898&ad_size=300x250&domain_id=354895&url=https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/"></span></span><p>The table below shows the resistor values you should use based on the voltage and forward current of your LED matrix. A 2V 20 mA LED, for instance, would require a 28kΩ resistor.</p><table class="tabler"><caption class="wp-caption-text">Rset vs. Segment current and LED forward voltage</caption><tbody><tr class="tabler-header"><td rowspan="2">I<sub>SEG</sub> (mA)</td><td colspan="5">V<sub>LED</sub> (V)</td></tr><tr class="tabler-header"><td>1.5</td><td>2.0</td><td>2.5</td><td>3.0</td><td>3.5</td></tr><tr><td>40</td><td>12.2</td><td>11.8</td><td>11.0</td><td>10.6</td><td>9.69</td></tr><tr><td>30</td><td>17.8</td><td>17.1</td><td>15.8</td><td>15.0</td><td>14.0</td></tr><tr><td>20</td><td>29.8</td><td>28.0</td><td>25.9</td><td>24.5</td><td>22.6</td></tr><tr><td>10</td><td>66.7</td><td>63.7</td><td>59.3</td><td>55.4</td><td>51.2</td></tr></tbody></table><h3 id="h.3oh9q45l6kp">At the Software Level</h3><p>We’ll discuss adjusting brightness using software later in this tutorial.</p><h2 id="max7219-module-pinout">MAX7219 Module Pinout</h2><p>Regardless of which variant you select, the module will have two connectors.</p><span id="ezoic-pub-ad-placeholder-115" data-inserter-version="2"></span><span class="ezoic-ad ezoic-at-0 leader-1 leader-1115 adtester-container adtester-container-115" data-ez-name="lastminuteengineers_com-leader-1"><span id="div-gpt-ad-lastminuteengineers_com-leader-1-0" ezaw="336" ezah="280" style="position:relative;z-index:0;display:inline-block;padding:0;position:sticky !important;top:0px !important;min-height:280px;min-width:336px;" class="ezoic-ad ezads-sticky-intradiv ezoic-adl"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">if(typeof ez_ad_units == 'undefined'){ez_ad_units=[];}ez_ad_units.push([[336,280],'lastminuteengineers_com-leader-1','ezslot_15',115,'0','0', 'lastminuteengineers_com-leader-1-0']);if(typeof __ez_fad_position == 'function'){__ez_fad_position('div-gpt-ad-lastminuteengineers_com-leader-1-0');}</script></span></span><span style="display:block;height:14px;margin:auto;position:relative" class="reportline" data-ez-ph-owner-id="115"><span style="text-align:center;font-size:12px !important;font-family: arial!important;float:right;line-height:normal;" class="ezoicwhat"><img src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezoicbwa.png" alt="Ezoic" loading="lazy" style="height:14px !important; padding:2px !important; border:0px !important; cursor:pointer !important; width: 14px !important; margin:0 !important; box-sizing: content-box !important;" title="ezoic" name="?pageview_id=84e847a7-ff0e-4693-7ae9-a6df7a38669e&ad_position_id=115&impression_group_id=lastminuteengineers_com-leader-1/2023-10-30/2902977874925158&ad_size=336x280&domain_id=354895&url=https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/"></span></span><div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" src="./MAX7219 LED Dot Matrix Display with Arduino_files/MAX7219-Dot-Matrix-LED-Display-Module-Pinout.png" alt="max7219 dot matrix led display module pinout" width="547" height="435"></figure></div><h3 id="input-connector">Input Connector</h3><p>The breakout pins on one end of the module are used to communicate with the microcontroller.</p><span id="ezoic-pub-ad-placeholder-116" data-inserter-version="2"></span><span class="ezoic-ad ezoic-at-0 leader-3 leader-3116 adtester-container adtester-container-116" data-ez-name="lastminuteengineers_com-leader-3"><span id="div-gpt-ad-lastminuteengineers_com-leader-3-0" ezaw="336" ezah="280" style="position:relative;z-index:0;display:inline-block;padding:0;position:sticky !important;top:0px !important;min-height:280px;min-width:336px;" class="ezoic-ad ezads-sticky-intradiv ezoic-adl"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">if(typeof ez_ad_units == 'undefined'){ez_ad_units=[];}ez_ad_units.push([[336,280],'lastminuteengineers_com-leader-3','ezslot_18',116,'0','0', 'lastminuteengineers_com-leader-3-0']);if(typeof __ez_fad_position == 'function'){__ez_fad_position('div-gpt-ad-lastminuteengineers_com-leader-3-0');}</script></span></span><span style="display:block;height:14px;margin:auto;position:relative" class="reportline" data-ez-ph-owner-id="116"><span style="text-align:center;font-size:12px !important;font-family: arial!important;float:right;line-height:normal;" class="ezoicwhat"><img src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezoicbwa.png" alt="Ezoic" loading="lazy" style="height:14px !important; padding:2px !important; border:0px !important; cursor:pointer !important; width: 14px !important; margin:0 !important; box-sizing: content-box !important;" title="ezoic" name="?pageview_id=84e847a7-ff0e-4693-7ae9-a6df7a38669e&ad_position_id=116&impression_group_id=lastminuteengineers_com-leader-3/2023-10-30/2105863856963985&ad_size=336x280&domain_id=354895&url=https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/"></span></span><p><span class="pinout pinout-red">VCC</span> is connected to 5V. Because the display draws a lot of current (up to 1A at maximum brightness), it’s best to use an external power supply instead of the Arduino’s 5V supply. If you want to use the Arduino’s 5V supply, keep the brightness below 25% to avoid overheating the voltage regulator.</p><p><span class="pinout pinout-black">GND</span> is the common ground pin.</p><p><span class="pinout pinout-blue">DIN</span> is the Data pin. Connect it to any digital pin of the microcontroller.</p><p><span class="pinout pinout-yellow">CS/LOAD</span> is Chip Select (sometimes labeled as LOAD). Connect it to any digital pin of the microcontroller.</p><p><span class="pinout pinout-green">CLK</span> stands for Clock pin. Connect it to any digital pin of the microcontroller.</p><span id="ezoic-pub-ad-placeholder-117" data-inserter-version="2"></span><span class="ezoic-ad ezoic-at-0 mobile-leaderboard-2 mobile-leaderboard-2117 adtester-container adtester-container-117" data-ez-name="lastminuteengineers_com-mobile-leaderboard-2"><span id="div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-2-0" ezaw="300" ezah="250" style="position:relative;z-index:0;display:inline-block;padding:0;position:sticky !important;top:0px !important;min-height:250px;min-width:300px;" class="ezoic-ad ezads-sticky-intradiv ezoic-adl"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">if(typeof ez_ad_units == 'undefined'){ez_ad_units=[];}ez_ad_units.push([[300,250],'lastminuteengineers_com-mobile-leaderboard-2','ezslot_22',117,'0','0', 'lastminuteengineers_com-mobile-leaderboard-2-0']);if(typeof __ez_fad_position == 'function'){__ez_fad_position('div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-2-0');}</script></span></span><span style="display:block;height:14px;margin:auto;position:relative" class="reportline" data-ez-ph-owner-id="117"><span style="text-align:center;font-size:12px !important;font-family: arial!important;float:right;line-height:normal;" class="ezoicwhat"><img src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezoicbwa.png" alt="Ezoic" loading="lazy" style="height:14px !important; padding:2px !important; border:0px !important; cursor:pointer !important; width: 14px !important; margin:0 !important; box-sizing: content-box !important;" title="ezoic" name="?pageview_id=84e847a7-ff0e-4693-7ae9-a6df7a38669e&ad_position_id=117&impression_group_id=lastminuteengineers_com-mobile-leaderboard-2/2023-10-30/6929651714929909&ad_size=300x250&domain_id=354895&url=https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/"></span></span><h3 id="output-connector">Output Connector</h3><p>The breakout pins on the other end of the module are used to daisy-chain displays.</p><p><span class="pinout pinout-red">VCC</span> connects to 5V on the next module.</p><p><span class="pinout pinout-black">GND</span> connects to GND on the next module.</p><span id="ezoic-pub-ad-placeholder-118" data-inserter-version="2"></span><span class="ezoic-ad ezoic-at-0 large-mobile-banner-2 large-mobile-banner-2118 adtester-container adtester-container-118" data-ez-name="lastminuteengineers_com-large-mobile-banner-2"><span id="div-gpt-ad-lastminuteengineers_com-large-mobile-banner-2-0" ezaw="728" ezah="90" style="position:relative;z-index:0;display:inline-block;padding:0;position:sticky !important;top:0px !important;min-height:90px;min-width:728px;" class="ezoic-ad ezads-sticky-intradiv ezoic-adl"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">if(typeof ez_ad_units == 'undefined'){ez_ad_units=[];}ez_ad_units.push([[728,90],'lastminuteengineers_com-large-mobile-banner-2','ezslot_14',118,'0','0', 'lastminuteengineers_com-large-mobile-banner-2-0']);if(typeof __ez_fad_position == 'function'){__ez_fad_position('div-gpt-ad-lastminuteengineers_com-large-mobile-banner-2-0');}</script></span></span><span style="display:block;height:14px;margin:auto;position:relative" class="reportline" data-ez-ph-owner-id="118"><span style="text-align:center;font-size:12px !important;font-family: arial!important;float:right;line-height:normal;" class="ezoicwhat"><img src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezoicbwa.png" alt="Ezoic" loading="lazy" style="height:14px !important; padding:2px !important; border:0px !important; cursor:pointer !important; width: 14px !important; margin:0 !important; box-sizing: content-box !important;" title="ezoic" name="?pageview_id=84e847a7-ff0e-4693-7ae9-a6df7a38669e&ad_position_id=118&impression_group_id=lastminuteengineers_com-large-mobile-banner-2/2023-10-30/3379630288987360&ad_size=728x90&domain_id=354895&url=https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/"></span></span><p><span class="pinout pinout-purple">DOUT</span> is Data Out and connects to the DIN pin of the next module.</p><p><span class="pinout pinout-yellow">CS/LOAD</span> connects to CS / LOAD on the next module.</p><p><span class="pinout pinout-green">CLK</span> connects to CLK on the next module.</p><span id="ezoic-pub-ad-placeholder-119" data-inserter-version="2"></span><span class="ezoic-ad ezoic-at-0 leader-4 leader-4119 adtester-container adtester-container-119" data-ez-name="lastminuteengineers_com-leader-4"><span id="div-gpt-ad-lastminuteengineers_com-leader-4-0" ezaw="300" ezah="250" style="position:relative;z-index:0;display:inline-block;padding:0;position:sticky !important;top:0px !important;min-height:250px;min-width:300px;" class="ezoic-ad ezads-sticky-intradiv ezoic-adl"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">var cid = '7239634457';
var pid = 'ca-pub-2705735538096223';
var slotId = 'div-gpt-ad-lastminuteengineers_com-leader-4-0';
var ffid = 1;
var alS = 1703 % 1000;
var container = document.getElementById(slotId);
if (container) {
var ins = document.createElement('ins');
ins.id = slotId + '-asloaded';
ins.className = 'adsbygoogle ezasloaded';
ins.dataset.adClient = pid;
ins.dataset.adChannel = cid;
ins.style.display = 'block';
ins.style.minWidth = container.attributes.ezaw.value + 'px';
ins.style.width = '100%';
ins.style.height = container.attributes.ezah.value + 'px';
ins.style.margin = '0px auto';
container.style.maxHeight = container.style.minHeight + 'px';
container.style.maxWidth = container.style.minWidth + 'px';
container.appendChild(ins);
(adsbygoogle = window.adsbygoogle || []).push({});
window.ezoSTPixels = window.ezoSTPixels || [];
if (typeof ezoSTPixelAdd === 'function') {
window.ezoSTPixelAdd(slotId, 'stat_source_id', 44);
window.ezoSTPixelAdd(slotId, 'adsensetype', 1);
} else {
window.ezoSTPixels.push({id: slotId, name: 'stat_source_id', value: 44});
window.ezoSTPixels.push({id: slotId, name: 'adsensetype', value: 1});
}
window.ezaslWatch = window.ezaslWatch || [];
window.ezaslWatch.push(slotId);
}</script><ins id="div-gpt-ad-lastminuteengineers_com-leader-4-0-asloaded" class="adsbygoogle ezasloaded" data-ad-client="ca-pub-2705735538096223" data-ad-channel="7239634457" style="display: block; min-width: 300px; width: 100%; height: 250px; margin: 0px auto;"><iframe id="aswift_0" style="height: 1px !important; max-height: 1px !important; max-width: 1px !important; width: 1px !important;" src="./MAX7219 LED Dot Matrix Display with Arduino_files/saved_resource(1).html"><iframe id="google_ads_frame0" src="./MAX7219 LED Dot Matrix Display with Arduino_files/saved_resource(2).html"></iframe></iframe></ins></span></span><span style="display:block;height:14px;margin:auto;position:relative" class="reportline" data-ez-ph-owner-id="119"><span style="text-align:center;font-size:12px !important;font-family: arial!important;float:right;line-height:normal;" class="ezoicwhat"><img src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezoicbwa.png" alt="Ezoic" loading="lazy" style="height:14px !important; padding:2px !important; border:0px !important; cursor:pointer !important; width: 14px !important; margin:0 !important; box-sizing: content-box !important;" title="ezoic" name="?pageview_id=84e847a7-ff0e-4693-7ae9-a6df7a38669e&ad_position_id=119&impression_group_id=lastminuteengineers_com-leader-4/2023-10-30/5576839706936112&ad_size=300x250&domain_id=354895&url=https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/"></span></span><h2 id="wiring-max7219-module-with-arduino-uno">Wiring MAX7219 Module with Arduino UNO</h2><p>Now that we know everything about the module, we can start hooking it up to our Arduino!</p><p>Let’s start with the module’s power supply connections. Because the display consumes a lot of current, we’ll use an external power supply instead of the Arduino board’s 5V supply. If you are only using a single MAX7219 module, you can power it directly from the Arduino, but you should avoid doing so if possible.</p><p>Let’s wire up the SPI pins. Note that each Arduino board has a unique set of SPI pins that must be connected accordingly. For Arduino boards such as the UNO/Nano V3.0, these pins are digital 13 (SCK), 12 (MISO), 11 (MOSI), and 10 (SS).</p><span id="ezoic-pub-ad-placeholder-120" data-inserter-version="2"></span><span class="ezoic-ad ezoic-at-0 mobile-leaderboard-1 mobile-leaderboard-1120 adtester-container adtester-container-120" data-ez-name="lastminuteengineers_com-mobile-leaderboard-1"><span id="div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-1-0" ezaw="300" ezah="250" style="position:relative;z-index:0;display:inline-block;padding:0;position:sticky !important;top:0px !important;min-height:250px;min-width:300px;" class="ezoic-ad ezads-sticky-intradiv ezoic-adl"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">if(typeof ez_ad_units == 'undefined'){ez_ad_units=[];}ez_ad_units.push([[300,250],'lastminuteengineers_com-mobile-leaderboard-1','ezslot_20',120,'0','0', 'lastminuteengineers_com-mobile-leaderboard-1-0']);if(typeof __ez_fad_position == 'function'){__ez_fad_position('div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-1-0');}</script></span></span><span style="display:block;height:14px;margin:auto;position:relative" class="reportline" data-ez-ph-owner-id="120"><span style="text-align:center;font-size:12px !important;font-family: arial!important;float:right;line-height:normal;" class="ezoicwhat"><img src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezoicbwa.png" alt="Ezoic" loading="lazy" style="height:14px !important; padding:2px !important; border:0px !important; cursor:pointer !important; width: 14px !important; margin:0 !important; box-sizing: content-box !important;" title="ezoic" name="?pageview_id=84e847a7-ff0e-4693-7ae9-a6df7a38669e&ad_position_id=120&impression_group_id=lastminuteengineers_com-mobile-leaderboard-1/2023-10-30/2496670290984216&ad_size=300x250&domain_id=354895&url=https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/"></span></span><p>If you’re using a different Arduino board, check the official documentation for <a href="https://www.arduino.cc/en/reference/SPI" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener ">SPI pin locations</a> before proceeding.</p><p>Here is the wiring for the Generic MAX7219 Module:</p><div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" src="./MAX7219 LED Dot Matrix Display with Arduino_files/Wiring-Generic-MAX7219-LED-Display-Module-with-Arduino.png" alt="wiring generic max7219 led display module with arduino" width="695" height="333"></figure></div><p>Here is the wiring for the FC-16 MAX7219 Module:</p><span id="ezoic-pub-ad-placeholder-121" data-inserter-version="2"></span><span class="ezoic-ad ezoic-at-0 narrow-sky-1 narrow-sky-1121 adtester-container adtester-container-121" data-ez-name="lastminuteengineers_com-narrow-sky-1"><span id="div-gpt-ad-lastminuteengineers_com-narrow-sky-1-0" ezaw="336" ezah="280" style="position:relative;z-index:0;display:inline-block;padding:0;position:sticky !important;top:0px !important;min-height:280px;min-width:336px;" class="ezoic-ad ezads-sticky-intradiv ezoic-adl"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">if(typeof ez_ad_units == 'undefined'){ez_ad_units=[];}ez_ad_units.push([[336,280],'lastminuteengineers_com-narrow-sky-1','ezslot_23',121,'0','0', 'lastminuteengineers_com-narrow-sky-1-0']);if(typeof __ez_fad_position == 'function'){__ez_fad_position('div-gpt-ad-lastminuteengineers_com-narrow-sky-1-0');}</script></span></span><span style="display:block;height:14px;margin:auto;position:relative" class="reportline" data-ez-ph-owner-id="121"><span style="text-align:center;font-size:12px !important;font-family: arial!important;float:right;line-height:normal;" class="ezoicwhat"><img src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezoicbwa.png" alt="Ezoic" loading="lazy" style="height:14px !important; padding:2px !important; border:0px !important; cursor:pointer !important; width: 14px !important; margin:0 !important; box-sizing: content-box !important;" title="ezoic" name="?pageview_id=84e847a7-ff0e-4693-7ae9-a6df7a38669e&ad_position_id=121&impression_group_id=lastminuteengineers_com-narrow-sky-1/2023-10-30/7643748036949576&ad_size=336x280&domain_id=354895&url=https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/"></span></span><div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" src="./MAX7219 LED Dot Matrix Display with Arduino_files/Wiring-FC16-MAX7219-LED-Display-Module-with-Arduino.png" alt="wiring fc16 max7219 led display module with arduino" width="695" height="255"></figure></div><p>If you want to daisy-chain multiple displays to make a larger display, connect the DOUT of the first display to the DIN of the next display. VCC, GND, CLK, and CS will all be shared between displays.</p><p>Once your module is connected to the Arduino, it’s time to write some code!</p><h2 id="library-installation">Library Installation</h2><p>Controlling the MAX7219 module is a lot of work. Fortunately, the MD Parola library was written to hide the complexities of the MAX7219, allowing us to control the display with simple commands.</p><span id="ezoic-pub-ad-placeholder-122" data-inserter-version="2"></span><span class="ezoic-ad ezoic-at-0 netboard-2 netboard-2122 adtester-container adtester-container-122" data-ez-name="lastminuteengineers_com-netboard-2"><span id="div-gpt-ad-lastminuteengineers_com-netboard-2-0" ezaw="300" ezah="250" style="position:relative;z-index:0;display:inline-block;padding:0;position:sticky !important;top:0px !important;min-height:250px;min-width:300px;" class="ezoic-ad ezads-sticky-intradiv ezoic-adl"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">if(typeof ez_ad_units == 'undefined'){ez_ad_units=[];}ez_ad_units.push([[300,250],'lastminuteengineers_com-netboard-2','ezslot_26',122,'0','0', 'lastminuteengineers_com-netboard-2-0']);if(typeof __ez_fad_position == 'function'){__ez_fad_position('div-gpt-ad-lastminuteengineers_com-netboard-2-0');}</script></span></span><span style="display:block;height:14px;margin:auto;position:relative" class="reportline" data-ez-ph-owner-id="122"><span style="text-align:center;font-size:12px !important;font-family: arial!important;float:right;line-height:normal;" class="ezoicwhat"><img src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezoicbwa.png" alt="Ezoic" loading="lazy" style="height:14px !important; padding:2px !important; border:0px !important; cursor:pointer !important; width: 14px !important; margin:0 !important; box-sizing: content-box !important;" title="ezoic" name="?pageview_id=84e847a7-ff0e-4693-7ae9-a6df7a38669e&ad_position_id=122&impression_group_id=lastminuteengineers_com-netboard-2/2023-10-30/5523248026998777&ad_size=300x250&domain_id=354895&url=https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/"></span></span><p>To install the library, navigate to <strong>Sketch > Include Library > Manage Libraries…</strong> Wait for the Library Manager to download the library index and update the list of installed libraries.</p><div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" src="./MAX7219 LED Dot Matrix Display with Arduino_files/Manage-Libraries.png" width="531" height="535" alt="Arduino Library Installation - Selecting Manage Libraries in Arduino IDE"></figure></div><p>Filter your search by entering ‘<strong>max72xx’</strong>. Look for <strong>MD_MAX72XX</strong> by <strong>MajicDesigns</strong>. Click on that entry and then choose Install.</p><div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" src="./MAX7219 LED Dot Matrix Display with Arduino_files/MD_MAX72XX-Library-Installation.png" alt="md_max72xx library installation" width="700" height="382"></figure></div><p>The MD_MAX72XX library is a hardware-specific library that handles lower-level functions. It must be used in conjunction with the <strong>MD_Parola</strong> Library to create a variety of text animations such as scrolling and sprite text effects. Install this library as well.</p><span id="ezoic-pub-ad-placeholder-123" data-inserter-version="2"></span><span class="ezoic-ad ezoic-at-0 narrow-sky-2 narrow-sky-2123 adtester-container adtester-container-123" data-ez-name="lastminuteengineers_com-narrow-sky-2"><span id="div-gpt-ad-lastminuteengineers_com-narrow-sky-2-0" ezaw="336" ezah="280" style="position:relative;z-index:0;display:inline-block;padding:0;position:sticky !important;top:0px !important;min-height:280px;min-width:336px;" class="ezoic-ad ezads-sticky-intradiv ezoic-adl"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">if(typeof ez_ad_units == 'undefined'){ez_ad_units=[];}ez_ad_units.push([[336,280],'lastminuteengineers_com-narrow-sky-2','ezslot_24',123,'0','0', 'lastminuteengineers_com-narrow-sky-2-0']);if(typeof __ez_fad_position == 'function'){__ez_fad_position('div-gpt-ad-lastminuteengineers_com-narrow-sky-2-0');}</script></span></span><span style="display:block;height:14px;margin:auto;position:relative" class="reportline" data-ez-ph-owner-id="123"><span style="text-align:center;font-size:12px !important;font-family: arial!important;float:right;line-height:normal;" class="ezoicwhat"><img src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezoicbwa.png" alt="Ezoic" loading="lazy" style="height:14px !important; padding:2px !important; border:0px !important; cursor:pointer !important; width: 14px !important; margin:0 !important; box-sizing: content-box !important;" title="ezoic" name="?pageview_id=84e847a7-ff0e-4693-7ae9-a6df7a38669e&ad_position_id=123&impression_group_id=lastminuteengineers_com-narrow-sky-2/2023-10-30/4082265502967462&ad_size=336x280&domain_id=354895&url=https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/"></span></span><div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" src="./MAX7219 LED Dot Matrix Display with Arduino_files/MD_Parola-Library-Installation.png" alt="md_parola library installation" width="700" height="393"></figure></div><h2 id="basic-arduino-code-printing-text">Arduino Example Code 1 – Printing Text</h2><p>Our first experiment involves displaying a simple text without any animation.</p><p>But, before you upload the sketch, you must modify the following two variables.</p><div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" src="./MAX7219 LED Dot Matrix Display with Arduino_files/Changes-to-make.png" alt="changes to make" width="576" height="546"></figure></div><p>The first variable, <code>HARDWARE_TYPE</code>, informs the Arduino of the module variant.</p><span id="ezoic-pub-ad-placeholder-124" data-inserter-version="2"></span><ul><li>Set the <code>HARDWARE_TYPE</code> to <code>GENERIC_HW</code>, if you’re using a module with a green PCB and a through hole MAX7219 IC like the one shown below.<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" src="./MAX7219 LED Dot Matrix Display with Arduino_files/MAX7219-Generic-Module.jpg" alt="max7219 generic module" width="200" height="110"></figure></div></li><li>Set the <code>HARDWARE_TYPE</code> to <code>FC16_HW</code>, if you’re using a module with a blue PCB and an SMD MAX7219 IC like the one shown below.<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" src="./MAX7219 LED Dot Matrix Display with Arduino_files/MAX7219-FC-16-Module.jpg" alt="max7219 fc 16 module" width="222" height="110"></figure></div></li></ul><p>The second variable, <code>MAX_DEVICES</code>, specifies the number of MAX7219 ICs being used. A single MAX7219 IC counts as one device, so if you want to control an 8×32 display, set <code>MAX_DEVICES</code> to 4 because an 8×32 display has four MAX7219 ICs.</p><span id="ezoic-pub-ad-placeholder-125" data-inserter-version="2"></span><span class="ezoic-ad ezoic-at-0 large-mobile-banner-1 large-mobile-banner-1125 adtester-container adtester-container-125" data-ez-name="lastminuteengineers_com-large-mobile-banner-1"><span id="div-gpt-ad-lastminuteengineers_com-large-mobile-banner-1-0" ezaw="250" ezah="250" style="position:relative;z-index:0;display:inline-block;padding:0;position:sticky !important;top:0px !important;min-height:250px;min-width:250px;" class="ezoic-ad ezads-sticky-intradiv ezoic-adl"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">if(typeof ez_ad_units == 'undefined'){ez_ad_units=[];}ez_ad_units.push([[250,250],'lastminuteengineers_com-large-mobile-banner-1','ezslot_12',125,'0','0', 'lastminuteengineers_com-large-mobile-banner-1-0']);if(typeof __ez_fad_position == 'function'){__ez_fad_position('div-gpt-ad-lastminuteengineers_com-large-mobile-banner-1-0');}</script></span></span><span style="display:block;height:14px;margin:auto;position:relative" class="reportline" data-ez-ph-owner-id="125"><span style="text-align:center;font-size:12px !important;font-family: arial!important;float:right;line-height:normal;" class="ezoicwhat"><img src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezoicbwa.png" alt="Ezoic" loading="lazy" style="height:14px !important; padding:2px !important; border:0px !important; cursor:pointer !important; width: 14px !important; margin:0 !important; box-sizing: content-box !important;" title="ezoic" name="?pageview_id=84e847a7-ff0e-4693-7ae9-a6df7a38669e&ad_position_id=125&impression_group_id=lastminuteengineers_com-large-mobile-banner-1/2023-10-30/2934361546987913&ad_size=250x250&domain_id=354895&url=https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/"></span></span><p>When you’re finished, try out the sketch, and then we’ll go over it in detail.</p><div class="example"><pre><code><span class="com">// Including the required Arduino libraries</span>
#include <span class="str"><MD_Parola.h></span>
#include <span class="str"><MD_MAX72xx.h></span>
#include <span class="str"><SPI.h></span>
<span class="com">// Uncomment according to your hardware type</span>
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
<span class="com">//#define HARDWARE_TYPE MD_MAX72XX::GENERIC_HW</span>
<span class="com">// Defining size, and output pins</span>
#define MAX_DEVICES 4
#define CS_PIN 3
<span class="com">// Create a new instance of the MD_Parola class with hardware SPI connection</span>
MD_Parola myDisplay = <span class="func">MD_Parola</span>(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
<span class="kwd">void</span> <span class="func">setup</span>() {
<span class="com">// Intialize the object</span>
myDisplay.<span class="func">begin</span>();
<span class="com">// Set the intensity (brightness) of the display (0-15)</span>
myDisplay.<span class="func">setIntensity</span>(<span class="lit">0</span>);
<span class="com">// Clear the display</span>
myDisplay.<span class="func">displayClear</span>();
}
<span class="kwd">void</span> <span class="func">loop</span>() {
myDisplay.<span class="func">setTextAlignment</span>(PA_LEFT);
myDisplay.<span class="func">print</span>(<span class="str">"Left"</span>);
<span class="func">delay</span>(<span class="lit">2000</span>);
myDisplay.<span class="func">setTextAlignment</span>(PA_CENTER);
myDisplay.<span class="func">print</span>(<span class="str">"Center"</span>);
<span class="func">delay</span>(<span class="lit">2000</span>);
myDisplay.<span class="func">setTextAlignment</span>(PA_RIGHT);
myDisplay.<span class="func">print</span>(<span class="str">"Right"</span>);
<span class="func">delay</span>(<span class="lit">2000</span>);
myDisplay.<span class="func">setTextAlignment</span>(PA_CENTER);
myDisplay.<span class="func">setInvert</span>(true);
myDisplay.<span class="func">print</span>(<span class="str">"Invert"</span>);
<span class="func">delay</span>(<span class="lit">2000</span>);
myDisplay.<span class="func">setInvert</span>(false);
myDisplay.<span class="func">print</span>(<span class="lit">1234</span>);
<span class="func">delay</span>(<span class="lit">2000</span>);
}</code></pre></div><h3 id="output">Output</h3><p>To see the output, the display must be properly oriented. If you’re using a generic module, make sure the MAX7219 IC is on top. If you’re using an FC-16 module, make sure the DIN side is on the right side.</p><p>If everything goes well, you will see the following output.</p><span id="ezoic-pub-ad-placeholder-126" data-inserter-version="2"></span><div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" src="./MAX7219 LED Dot Matrix Display with Arduino_files/MAX7219-LED-Display-Arduino-Text-Output.gif" alt="max7219 led display arduino text output" width="509" height="126"></figure></div><h3 id="code-explanation">Code Explanation</h3><p>The first step is to include all the necessary Arduino libraries. As previously stated, the MD_MAX72XX library implements the hardware-specific functions of the LED matrix, whereas the MD_Parola library implements the text effect. You must also include the SPI library, which is used to communicate with the display via SPI.</p><div class="example"><pre><code>#include <span class="str"><MD_Parola.h></span>
#include <span class="str"><MD_MAX72xx.h></span>
#include <span class="str"><SPI.h></span></code></pre></div><p>Next, we must specify which hardware is being used. Because we are using an FC-16 module for our experiments, the <code>HARDWARE_TYPE</code> is set to <code>FC16_HW</code>. We’re using 4 MAX7219 ICs, so <code>MAX_DEVICES</code> is set to 4. Finally, the pin to which the display’s CS pin is connected is defined.</p><div class="example"><pre><code>#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
#define MAX_DEVICES 4
#define CS_PIN 3</code></pre></div><p>The function <code>MD_Parola()</code> is then used to create a new instance of the MD_Parola class. The first parameter is the hardware type, the second is the CS pin, and the third is the number of MAX7219 ICs being used.</p><span id="ezoic-pub-ad-placeholder-127" data-inserter-version="2"></span><div class="example"><pre><code>MD_Parola myDisplay = <span class="func">MD_Parola</span>(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);</code></pre></div><p>In the setup section of the code, we first use the function <code>begin()</code> to initialize the object. The brightness of the display can be adjusted using the function <code>setIntensity()</code>, which accepts values ranging from 0 (lowest brightness) to 15 (maximum brightness). The display is cleared using the <code>displayClear()</code> function.</p><div class="example"><pre><code><span class="kwd">void</span> <span class="func">setup</span>() {
myDisplay.<span class="func">begin</span>();
myDisplay.<span class="func">setIntensity</span>(<span class="lit">0</span>);
myDisplay.<span class="func">displayClear</span>();
}</code></pre></div><p>In the loop section of the code, we first set the alignment of the text to be printed with the function <code>setTextAlignment()</code>, to which the values <code>PA_LEFT</code>, <code>PA_CENTER</code>, and <code>PA_RIGHT</code> can be passed to align the text to the left, center, or right, respectively.</p><p>The string ‘Left’ is then printed using <code>myDisplay.print("Left")</code>. Please keep in mind that the text string should be enclosed in quotation marks <code>" "</code>. When printing numbers, no quotation marks are required; for example, to display 1234, write <code>myDisplay.print(1234)</code>. You can also use the <code>setInvert()</code> function to invert the display.</p><span id="ezoic-pub-ad-placeholder-128" data-inserter-version="2"></span><div class="example"><pre><code><span class="kwd">void</span> <span class="func">loop</span>() {
myDisplay.<span class="func">setTextAlignment</span>(PA_LEFT);
myDisplay.<span class="func">print</span>(<span class="str">"Left"</span>);
<span class="func">delay</span>(<span class="lit">2000</span>);
myDisplay.<span class="func">setTextAlignment</span>(PA_CENTER);
myDisplay.<span class="func">print</span>(<span class="str">"Center"</span>);
<span class="func">delay</span>(<span class="lit">2000</span>);
myDisplay.<span class="func">setTextAlignment</span>(PA_RIGHT);
myDisplay.<span class="func">print</span>(<span class="str">"Right"</span>);
<span class="func">delay</span>(<span class="lit">2000</span>);
myDisplay.<span class="func">setTextAlignment</span>(PA_CENTER);
myDisplay.<span class="func">setInvert</span>(true);
myDisplay.<span class="func">print</span>(<span class="str">"Invert"</span>);
<span class="func">delay</span>(<span class="lit">2000</span>);
myDisplay.<span class="func">setInvert</span>(false);
myDisplay.<span class="func">print</span>(<span class="lit">1234</span>);
<span class="func">delay</span>(<span class="lit">2000</span>);
}</code></pre></div><h2 id="arduino-code-scrolling-text">Arduino Example Code 2 – Scrolling Text</h2><p>When you want to print a message on a dot matrix display, you will often find that the display is too small to fit the whole message. The solution is the scroll text effect.</p><p>The example below demonstrates how to scroll a message.</p><div class="example"><pre><code><span class="com">// Including the required Arduino libraries</span>
#include <span class="str"><MD_Parola.h></span>
#include <span class="str"><MD_MAX72xx.h></span>
#include <span class="str"><SPI.h></span>
<span class="com">// Uncomment according to your hardware type</span>
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
<span class="com">//#define HARDWARE_TYPE MD_MAX72XX::GENERIC_HW</span>
<span class="com">// Defining size, and output pins</span>
#define MAX_DEVICES 4
#define CS_PIN 3
<span class="com">// Create a new instance of the MD_Parola class with hardware SPI connection</span>
MD_Parola myDisplay = <span class="func">MD_Parola</span>(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
<span class="kwd">void</span> <span class="func">setup</span>() {
<span class="com">// Intialize the object</span>
myDisplay.<span class="func">begin</span>();
<span class="com">// Set the intensity (brightness) of the display (0-15)</span>
myDisplay.<span class="func">setIntensity</span>(<span class="lit">0</span>);
<span class="com">// Clear the display</span>
myDisplay.<span class="func">displayClear</span>();
myDisplay.<span class="func">displayScroll</span>(<span class="str">"Hello"</span>, PA_CENTER, PA_SCROLL_LEFT, <span class="lit">100</span>);
}
<span class="kwd">void</span> <span class="func">loop</span>() {
<span class="kwd">if</span> (myDisplay.<span class="func">displayAnimate</span>()) {
myDisplay.<span class="func">displayReset</span>();
}
}</code></pre></div><p>If everything goes well, you will see the following output.</p><span id="ezoic-pub-ad-placeholder-129" data-inserter-version="2"></span><div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" src="./MAX7219 LED Dot Matrix Display with Arduino_files/MAX7219-LED-Display-Arduino-Scrolling-Output.gif" alt="max7219 led display arduino scrolling output" width="509" height="132"></figure></div><h3 id="code-explanation">Code Explanation</h3><p>You’ll notice that everything from the beginning of the code to the end of the setup section is the same as the previous example. The only difference is that the <code>displayScroll()</code> function is called at the end of the setup section.</p><div class="example"><pre><code>myDisplay.<span class="func">displayScroll</span>(<span class="str">"Hello"</span>, PA_CENTER, PA_SCROLL_LEFT, <span class="lit">100</span>);</code></pre></div><p>As you can see, this function takes four arguments: <strong>displayScroll(pText, align, textEffect, speed)</strong></p><ul><li><code>pText</code> – is the text string. Your message goes here.</li><span id="ezoic-pub-ad-placeholder-130" data-inserter-version="2"></span><span class="ezoic-ad ezoic-at-0 netboard-1 netboard-1130 adtester-container adtester-container-130" data-ez-name="lastminuteengineers_com-netboard-1"><span id="div-gpt-ad-lastminuteengineers_com-netboard-1-0" ezaw="250" ezah="250" style="position:relative;z-index:0;display:inline-block;padding:0;position:sticky !important;top:0px !important;min-height:250px;min-width:250px;" class="ezoic-ad ezads-sticky-intradiv ezoic-adl"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">var cid = '7239634457';
var pid = 'ca-pub-2705735538096223';
var slotId = 'div-gpt-ad-lastminuteengineers_com-netboard-1-0';
var ffid = 1;
var alS = 1714 % 1000;
var container = document.getElementById(slotId);
if (container) {
var ins = document.createElement('ins');
ins.id = slotId + '-asloaded';
ins.className = 'adsbygoogle ezasloaded';
ins.dataset.adClient = pid;
ins.dataset.adChannel = cid;
ins.style.display = 'block';
ins.style.minWidth = container.attributes.ezaw.value + 'px';
ins.style.width = '100%';
ins.style.height = container.attributes.ezah.value + 'px';
ins.style.margin = '0px auto';
container.style.maxHeight = container.style.minHeight + 'px';
container.style.maxWidth = container.style.minWidth + 'px';
container.appendChild(ins);
(adsbygoogle = window.adsbygoogle || []).push({});
window.ezoSTPixels = window.ezoSTPixels || [];
if (typeof ezoSTPixelAdd === 'function') {
window.ezoSTPixelAdd(slotId, 'stat_source_id', 44);
window.ezoSTPixelAdd(slotId, 'adsensetype', 1);
} else {
window.ezoSTPixels.push({id: slotId, name: 'stat_source_id', value: 44});
window.ezoSTPixels.push({id: slotId, name: 'adsensetype', value: 1});
}
window.ezaslWatch = window.ezaslWatch || [];
window.ezaslWatch.push(slotId);
}</script><ins id="div-gpt-ad-lastminuteengineers_com-netboard-1-0-asloaded" class="adsbygoogle ezasloaded" data-ad-client="ca-pub-2705735538096223" data-ad-channel="7239634457" style="display: block; min-width: 250px; width: 100%; height: 250px; margin: 0px auto;"><iframe id="aswift_1" style="height: 1px !important; max-height: 1px !important; max-width: 1px !important; width: 1px !important;" src="./MAX7219 LED Dot Matrix Display with Arduino_files/saved_resource(3).html"><iframe id="google_ads_frame1" src="./MAX7219 LED Dot Matrix Display with Arduino_files/saved_resource(4).html"></iframe></iframe></ins></span></span><span style="display:block;height:14px;margin:auto;position:relative" class="reportline" data-ez-ph-owner-id="130"><span style="text-align:center;font-size:12px !important;font-family: arial!important;float:right;line-height:normal;" class="ezoicwhat"><img src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezoicbwa.png" alt="Ezoic" loading="lazy" style="height:14px !important; padding:2px !important; border:0px !important; cursor:pointer !important; width: 14px !important; margin:0 !important; box-sizing: content-box !important;" title="ezoic" name="?pageview_id=84e847a7-ff0e-4693-7ae9-a6df7a38669e&ad_position_id=130&impression_group_id=lastminuteengineers_com-netboard-1/2023-10-30/877309152977547&ad_size=250x250&domain_id=354895&url=https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/"></span></span><li><code>align</code> – sets the alignment of text during optional pause. You can use the same alignment options as in the previous example, like PA_CENTER, PA_LEFT, or PA_RIGHT.</li><li><code>textEffect</code> – specifies the scrolling effects. Setting it to PA_SCROLL_LEFT will scroll the text left.</li><li><code>speed</code> - determines the speed of the animation. The speed is the time in milliseconds between animation frames. Short time results in faster animation.</li><span id="ezoic-pub-ad-placeholder-131" data-inserter-version="2"></span><span class="ezoic-ad ezoic-at-0 leader-2 leader-2131 adtester-container adtester-container-131" data-ez-name="lastminuteengineers_com-leader-2"><span id="div-gpt-ad-lastminuteengineers_com-leader-2-0" ezaw="250" ezah="250" style="position:relative;z-index:0;display:inline-block;padding:0;position:sticky !important;top:0px !important;min-height:250px;min-width:250px;" class="ezoic-ad ezads-sticky-intradiv ezoic-adl"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">var cid = '7239634457';
var pid = 'ca-pub-2705735538096223';
var slotId = 'div-gpt-ad-lastminuteengineers_com-leader-2-0';
var ffid = 1;
var alS = 1715 % 1000;
var container = document.getElementById(slotId);
if (container) {
var ins = document.createElement('ins');
ins.id = slotId + '-asloaded';
ins.className = 'adsbygoogle ezasloaded';
ins.dataset.adClient = pid;
ins.dataset.adChannel = cid;
ins.style.display = 'block';
ins.style.minWidth = container.attributes.ezaw.value + 'px';
ins.style.width = '100%';
ins.style.height = container.attributes.ezah.value + 'px';
ins.style.margin = '0px auto';
container.style.maxHeight = container.style.minHeight + 'px';
container.style.maxWidth = container.style.minWidth + 'px';
container.appendChild(ins);
(adsbygoogle = window.adsbygoogle || []).push({});
window.ezoSTPixels = window.ezoSTPixels || [];
if (typeof ezoSTPixelAdd === 'function') {
window.ezoSTPixelAdd(slotId, 'stat_source_id', 44);
window.ezoSTPixelAdd(slotId, 'adsensetype', 1);
} else {
window.ezoSTPixels.push({id: slotId, name: 'stat_source_id', value: 44});
window.ezoSTPixels.push({id: slotId, name: 'adsensetype', value: 1});
}
window.ezaslWatch = window.ezaslWatch || [];
window.ezaslWatch.push(slotId);
}</script><ins id="div-gpt-ad-lastminuteengineers_com-leader-2-0-asloaded" class="adsbygoogle ezasloaded" data-ad-client="ca-pub-2705735538096223" data-ad-channel="7239634457" style="display: block; min-width: 250px; width: 100%; height: 250px; margin: 0px auto;"><iframe id="aswift_2" style="height: 1px !important; max-height: 1px !important; max-width: 1px !important; width: 1px !important;" src="./MAX7219 LED Dot Matrix Display with Arduino_files/saved_resource(5).html"><iframe id="google_ads_frame2" src="./MAX7219 LED Dot Matrix Display with Arduino_files/saved_resource(6).html"></iframe></iframe></ins></span></span><span style="display:block;height:14px;margin:auto;position:relative" class="reportline" data-ez-ph-owner-id="131"><span style="text-align:center;font-size:12px !important;font-family: arial!important;float:right;line-height:normal;" class="ezoicwhat"><img src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezoicbwa.png" alt="Ezoic" loading="lazy" style="height:14px !important; padding:2px !important; border:0px !important; cursor:pointer !important; width: 14px !important; margin:0 !important; box-sizing: content-box !important;" title="ezoic" name="?pageview_id=84e847a7-ff0e-4693-7ae9-a6df7a38669e&ad_position_id=131&impression_group_id=lastminuteengineers_com-leader-2/2023-10-30/3948435230940330&ad_size=250x250&domain_id=354895&url=https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/"></span></span></ul><p>Only two functions are used to scroll text in the loop section. First, in an <code>if</code> statement, we use the function <code>displayAnimate()</code>. This function scrolls the text and returns true when it is finished. When the scrolling is finished, we use the function <code>displayReset()</code> to reset the display, resulting in continuous scrolling.</p><div class="example"><pre><code><span class="kwd">void</span> <span class="func">loop</span>() {
<span class="kwd">if</span> (myDisplay.<span class="func">displayAnimate</span>()) {
myDisplay.<span class="func">displayReset</span>();
}
}</code></pre></div><div class="simple-note"><p>For more text effects, please visit <a href="https://majicdesigns.github.io/MD_Parola/class_m_d___parola.html">MD_Parola Library Reference</a> on github.</p></div></div></article><div class="social-sharing bottom-sharing"><div class="share-text">SHARE</div> <a class="facebook" href="https://www.facebook.com/sharer/sharer.php?caption=Interfacing+MAX7219+LED+Dot+Matrix+Display+with+Arduino&u=https%3A%2F%2Flastminuteengineers.com%2Fmax7219-dot-matrix-arduino-tutorial%2F"> <svg height="25px" width="25px" aria-hidden="true" viewBox="0 0 30 30"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#social-facebook"></use> </svg> </a> <a class="twitter" href="https://twitter.com/intent/tweet?text=Interfacing+MAX7219+LED+Dot+Matrix+Display+with+Arduino&url=https%3A%2F%2Flastminuteengineers.com%2Fmax7219-dot-matrix-arduino-tutorial%2F&via=Last+Minute+Engineers"> <svg height="25px" width="25px" aria-hidden="true" viewBox="0 0 30 30"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#social-twitter"></use> </svg> </a><a class="pinterest" href="https://pinterest.com/pin/create/button/?url=https%3A%2F%2Flastminuteengineers.com%2Fmax7219-dot-matrix-arduino-tutorial%2F&media=https://lastminuteengineers.com/wp-content/uploads/2020/10/Arduino-Tutorial-for-Interfacing-MAX7219-LED-Display-Module.jpg&description=Interfacing+MAX7219+LED+Dot+Matrix+Display+with+Arduino"> <svg height="27px" width="27px" aria-hidden="true" viewBox="0 0 30 30"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#social-pinterest"></use> </svg> </a> <a class="linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Flastminuteengineers.com%2Fmax7219-dot-matrix-arduino-tutorial%2F&title=Interfacing+MAX7219+LED+Dot+Matrix+Display+with+Arduino"> <svg height="25px" width="25px" aria-hidden="true" viewBox="0 0 30 30"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#social-linkedin"></use> </svg> </a></div><span id="ezoic-pub-ad-placeholder-167" class="ezoic-adpicker-ad"></span><span class="ezoic-ad ezoic-at-0 medrectangle-1 medrectangle-1167 adtester-container adtester-container-167" data-ez-name="lastminuteengineers_com-medrectangle-1"><span id="div-gpt-ad-lastminuteengineers_com-medrectangle-1-0" ezaw="336" ezah="280" style="position:relative;z-index:0;display:inline-block;padding:0;position:sticky !important;top:0px !important;min-height:280px;min-width:336px;" class="ezoic-ad ezads-sticky-intradiv ezoic-adl"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">var cid = '7239634457';
var pid = 'ca-pub-2705735538096223';
var slotId = 'div-gpt-ad-lastminuteengineers_com-medrectangle-1-0';
var ffid = 1;
var alS = 1004 % 1000;
var container = document.getElementById(slotId);
if (container) {
var ins = document.createElement('ins');
ins.id = slotId + '-asloaded';
ins.className = 'adsbygoogle ezasloaded';
ins.dataset.adClient = pid;
ins.dataset.adChannel = cid;
ins.style.display = 'block';
ins.style.minWidth = container.attributes.ezaw.value + 'px';
ins.style.width = '100%';
ins.style.height = container.attributes.ezah.value + 'px';
ins.style.margin = '0px auto';
container.style.maxHeight = container.style.minHeight + 'px';
container.style.maxWidth = container.style.minWidth + 'px';
container.appendChild(ins);
(adsbygoogle = window.adsbygoogle || []).push({});
window.ezoSTPixels = window.ezoSTPixels || [];
if (typeof ezoSTPixelAdd === 'function') {
window.ezoSTPixelAdd(slotId, 'stat_source_id', 44);
window.ezoSTPixelAdd(slotId, 'adsensetype', 1);
} else {
window.ezoSTPixels.push({id: slotId, name: 'stat_source_id', value: 44});
window.ezoSTPixels.push({id: slotId, name: 'adsensetype', value: 1});
}
window.ezaslWatch = window.ezaslWatch || [];
window.ezaslWatch.push(slotId);
}</script><ins id="div-gpt-ad-lastminuteengineers_com-medrectangle-1-0-asloaded" class="adsbygoogle ezasloaded" data-ad-client="ca-pub-2705735538096223" data-ad-channel="7239634457" style="display: block; min-width: 336px; width: 100%; height: 280px; margin: 0px auto;"><iframe id="aswift_3" style="height: 1px !important; max-height: 1px !important; max-width: 1px !important; width: 1px !important;" src="./MAX7219 LED Dot Matrix Display with Arduino_files/saved_resource(7).html"><iframe id="google_ads_frame3" src="./MAX7219 LED Dot Matrix Display with Arduino_files/saved_resource(8).html"></iframe></iframe></ins></span></span><span style="display:block;height:14px;margin:auto;position:relative" class="reportline" data-ez-ph-owner-id="167"><span style="text-align:center;font-size:12px !important;font-family: arial!important;float:right;line-height:normal;" class="ezoicwhat"><img src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezoicbwa.png" alt="Ezoic" loading="lazy" style="height:14px !important; padding:2px !important; border:0px !important; cursor:pointer !important; width: 14px !important; margin:0 !important; box-sizing: content-box !important;" title="ezoic" name="?pageview_id=84e847a7-ff0e-4693-7ae9-a6df7a38669e&ad_position_id=167&impression_group_id=lastminuteengineers_com-medrectangle-1/2023-10-30/3467556882965277&ad_size=336x280&domain_id=354895&url=https://lastminuteengineers.com/max7219-dot-matrix-arduino-tutorial/"></span></span></div></main></div></div></div><style type="text/css" media="screen">.tabler{max-width:600px;margin: 2em auto}.JGDF img{margin: 5px auto 0}</style> <script type="text/javascript">for(var navLinks=document.getElementById("nav-sidebar").getElementsByTagName("a"),i=0;i<navLinks.length;i++)navLinks[i].href===document.URL&&(navLinks[i].classList.add("current-chapter"),navLinks[i].scrollIntoView({block:"center",inline:"center"}),document.querySelector("header").scrollIntoView(!0))</script> <footer id="colophon" class="site-footer"><div class="container"><ul class="footer-menu"><li><a href="https://lastminuteengineers.com/disclaimer/">Disclaimer</a></li><li><a href="https://lastminuteengineers.com/privacy-policy/">Privacy Policy</a></li><li><a href="https://lastminuteengineers.com/contact/">Contact Us</a></li></ul><div class="copyright">Copyright © 2023 LastMinuteEngineers.com. All rights reserved.</div></div></footer></div><div id="ezoic-pub-ad-placeholder-197" data-inserter-version="-1"></div>
<div class="ezmob-footer ezoic-floating-bottom ezo_ad ezmob-footer-desktop" id="ezmobfooter"><center><span id="ezoic-pub-ad-placeholder-100"></span><div class="ezmob-footer ezoic-floating-bottom ezo_ad ezmob-footer-desktop" id="ezmobfooter"><center><span class="ezoic-ad ezoic-at-4 medrectangle-2 medrectangle-2100 adtester-container adtester-container-100" data-ez-name="lastminuteengineers_com-medrectangle-2"><span id="div-gpt-ad-lastminuteengineers_com-medrectangle-2-0" ezaw="970" ezah="90" style="position:relative;z-index:0;display:inline-block;padding:0;min-height:90px;min-width:970px;" class="ezoic-ad"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none;">if(typeof ez_ad_units == 'undefined'){ez_ad_units=[];}ez_ad_units.push([[970,90],'lastminuteengineers_com-medrectangle-2','ezslot_8',100,'0','0', 'lastminuteengineers_com-medrectangle-2-0']);if(typeof __ez_fad_position == 'function'){__ez_fad_position('div-gpt-ad-lastminuteengineers_com-medrectangle-2-0');}</script></span></span><span class="ezmob-footer-close-wrap" id="ezmob-footer-close" style="display: none;"><span class="ezmob-footer-close" onclick="__ez_close_anchor()" title="close"></span><span class="ezoicwhat"><img src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezoic.png" title="ezoic" class="ezmob-anchor-img"></span></span></center></div><span class="ezmob-footer-close-wrap" id="ezmob-footer-close" style="display: none;"><span class="ezmob-footer-close" onclick="__ez_close_anchor()" title="close"></span><span class="ezoicwhat"><img src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezoic.png" title="ezoic" class="ezmob-anchor-img"></span></span></center></div><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezjitscroll.js.download" async=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezicsticky.js.download" async=""></script>
<span id="ezoic-pub-outstream-placeholder" class="ezoic-outstream"></span><div id="ez-video-outstream-wrap" class="ez-video-wrap ez-wrap-float-only" style="align-self: stretch; ">
<div style="max-width:480px;" class="ez-video-center">
<div id="floating-placeholder" class="floating-placeholder" style="display: none;">
<div id="floating-placeholder-sizer" class="floating-placeholder-sizer"></div>
</div>
<div id="ez-video-container" class="ez-video-container ez-stuck ez-outstream-container" style="pointer-events: none; max-width: 360px; visibility: hidden; bottom: 15px; right: 20px; z-index: 10000001;">
<div class="ez-outstream-ez-stuck-bar" id="ez-outstream-ez-stuck-bar">
<div class="ez-outstream-ez-stuck-close vjs-icon-cancel" id="ez-outstream-ez-stuck-close">
<span class="vjs-icon-placeholder"></span>
</div>
</div>
<div preload="none" muted="true" class="video-js vjs-ad-only vjs-tech ez-vid-placeholder vjs-paused vjs-fluid ez-video-outstream-dimensions vjs-controls-enabled vjs-workinghover vjs-v8 vjs-user-active" id="ez-video-outstream" tabindex="-1" role="region" lang="en-gb" translate="no" aria-label="Video Player"><video id="ez-video-outstream_html5_api" class="vjs-tech" muted="muted" preload="none" tabindex="-1" role="application">
<p class="vjs-no-js">Please enable JavaScript</p>
</video><div class="vjs-poster vjs-hidden" aria-disabled="false"></div><div class="vjs-title-bar vjs-hidden"><div class="vjs-title-bar-title" id="vjs-title-bar-title-93"></div><div class="vjs-title-bar-description" id="vjs-title-bar-description-94"></div></div><div class="vjs-text-track-display" translate="yes" aria-live="off" aria-atomic="true"><div style="position: absolute; inset: 0px; margin: 1.5%;"></div></div><div class="vjs-loading-spinner" dir="ltr"><span class="vjs-control-text">Video Player is loading.</span></div><button class="vjs-big-play-button" type="button" title="Play Video" aria-disabled="false"><span class="vjs-icon-placeholder" aria-hidden="true"></span><span class="vjs-control-text" aria-live="polite">Play Video</span></button><div class="vjs-control-bar" dir="ltr"><button class="vjs-play-control vjs-control vjs-button" type="button" title="Play" aria-disabled="false"><span class="vjs-icon-placeholder" aria-hidden="true"></span><span class="vjs-control-text" aria-live="polite">Play</span></button><button class="vjs-skip-backward-undefined vjs-control vjs-button vjs-hidden" type="button" title="Skip Backward" aria-disabled="false"><span class="vjs-icon-placeholder" aria-hidden="true"></span><span class="vjs-control-text" aria-live="polite">Skip Backward</span></button><button class="vjs-skip-forward-undefined vjs-control vjs-button vjs-hidden" type="button" aria-disabled="false"><span class="vjs-icon-placeholder" aria-hidden="true"></span><span class="vjs-control-text" aria-live="polite"></span></button><div class="vjs-volume-panel vjs-control vjs-volume-panel-horizontal"><button class="vjs-mute-control vjs-control vjs-button" type="button" title="Mute" aria-disabled="false"><span class="vjs-icon-placeholder" aria-hidden="true"></span><span class="vjs-control-text" aria-live="polite">Mute</span></button><div class="vjs-volume-control vjs-control vjs-volume-horizontal"><div tabindex="0" class="vjs-volume-bar vjs-slider-bar vjs-slider vjs-slider-horizontal" role="slider" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" aria-label="Volume Level" aria-live="polite" aria-valuetext="0%"><div class="vjs-mouse-display"><div class="vjs-volume-tooltip" aria-hidden="true"></div></div><div class="vjs-volume-level"><span class="vjs-control-text"></span></div></div></div></div><div class="vjs-current-time vjs-time-control vjs-control"><span class="vjs-control-text" role="presentation">Current Time </span><span class="vjs-current-time-display" role="presentation">0:00</span></div><div class="vjs-time-control vjs-time-divider" aria-hidden="true"><div><span>/</span></div></div><div class="vjs-duration vjs-time-control vjs-control"><span class="vjs-control-text" role="presentation">Duration </span><span class="vjs-duration-display" role="presentation">0:00</span></div><div class="vjs-progress-control vjs-control"><div tabindex="0" class="vjs-progress-holder vjs-slider vjs-slider-horizontal" role="slider" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" aria-label="Progress Bar" aria-valuetext="0:00 of -:-"><div class="vjs-load-progress"><span class="vjs-control-text"><span>Loaded</span>: <span class="vjs-control-text-loaded-percentage">0%</span></span></div><div class="vjs-mouse-display"><div class="vjs-time-tooltip" aria-hidden="true"></div></div><div class="vjs-play-progress vjs-slider-bar" aria-hidden="true" style="width: 0%;"><div class="vjs-time-tooltip" aria-hidden="true" style="right: 0px;">0:00</div></div></div></div><div class="vjs-live-control vjs-control vjs-hidden"><div class="vjs-live-display" aria-live="off"><span class="vjs-control-text">Stream Type </span>LIVE</div></div><button class="vjs-seek-to-live-control vjs-control" type="button" title="Seek to live, currently behind live" aria-disabled="false"><span class="vjs-icon-placeholder" aria-hidden="true"></span><span class="vjs-control-text" aria-live="polite">Seek to live, currently behind live</span><span class="vjs-seek-to-live-text" aria-hidden="true">LIVE</span></button><div class="vjs-remaining-time vjs-time-control vjs-control"><span class="vjs-control-text" role="presentation">Remaining Time </span><span aria-hidden="true">-</span><span class="vjs-remaining-time-display" role="presentation">0:00</span></div><div class="vjs-custom-control-spacer vjs-spacer "> </div><div class="vjs-playback-rate vjs-menu-button vjs-menu-button-popup vjs-control vjs-button vjs-hidden"><div class="vjs-playback-rate-value" id="vjs-playback-rate-value-label-ez-video-outstream_component_352">1x</div><button class="vjs-playback-rate vjs-menu-button vjs-menu-button-popup vjs-button" type="button" aria-disabled="false" title="Playback Rate" aria-haspopup="true" aria-expanded="false" aria-describedby="vjs-playback-rate-value-label-ez-video-outstream_component_352"><span class="vjs-icon-placeholder" aria-hidden="true"></span><span class="vjs-control-text" aria-live="polite">Playback Rate</span></button><div class="vjs-menu"><ul class="vjs-menu-content"></ul></div></div><div class="vjs-chapters-button vjs-menu-button vjs-menu-button-popup vjs-control vjs-button vjs-hidden"><button class="vjs-chapters-button vjs-menu-button vjs-menu-button-popup vjs-button" type="button" aria-disabled="false" title="Chapters" aria-haspopup="true" aria-expanded="false"><span class="vjs-icon-placeholder" aria-hidden="true"></span><span class="vjs-control-text" aria-live="polite">Chapters</span></button><div class="vjs-menu"><ul class="vjs-menu-content"><li class="vjs-menu-title" tabindex="-1">Chapters</li></ul></div></div><div class="vjs-descriptions-button vjs-menu-button vjs-menu-button-popup vjs-control vjs-button vjs-hidden"><button class="vjs-descriptions-button vjs-menu-button vjs-menu-button-popup vjs-button" type="button" aria-disabled="false" title="Descriptions" aria-haspopup="true" aria-expanded="false"><span class="vjs-icon-placeholder" aria-hidden="true"></span><span class="vjs-control-text" aria-live="polite">Descriptions</span></button><div class="vjs-menu"><ul class="vjs-menu-content"><li class="vjs-menu-item vjs-selected" tabindex="-1" role="menuitemradio" aria-disabled="false" aria-checked="true"><span class="vjs-menu-item-text">descriptions off</span><span class="vjs-control-text" aria-live="polite">, selected</span></li></ul></div></div><div class="vjs-subs-caps-button vjs-menu-button vjs-menu-button-popup vjs-control vjs-button vjs-hidden"><button class="vjs-subs-caps-button vjs-menu-button vjs-menu-button-popup vjs-button" type="button" aria-disabled="false" title="Subtitles" aria-haspopup="true" aria-expanded="false"><span class="vjs-icon-placeholder" aria-hidden="true"></span><span class="vjs-control-text" aria-live="polite">Subtitles</span></button><div class="vjs-menu"><ul class="vjs-menu-content"><li class="vjs-menu-item vjs-texttrack-settings" tabindex="-1" role="menuitem" aria-disabled="false"><span class="vjs-menu-item-text">subtitles settings</span><span class="vjs-control-text" aria-live="polite">, opens subtitles settings dialog</span></li><li class="vjs-menu-item vjs-selected" tabindex="-1" role="menuitemradio" aria-disabled="false" aria-checked="true"><span class="vjs-menu-item-text">subtitles off</span><span class="vjs-control-text" aria-live="polite">, selected</span></li></ul></div></div><div class="vjs-audio-button vjs-menu-button vjs-menu-button-popup vjs-control vjs-button vjs-hidden"><button class="vjs-audio-button vjs-menu-button vjs-menu-button-popup vjs-button" type="button" aria-disabled="false" title="Audio Track" aria-haspopup="true" aria-expanded="false"><span class="vjs-icon-placeholder" aria-hidden="true"></span><span class="vjs-control-text" aria-live="polite">Audio Track</span></button><div class="vjs-menu"><ul class="vjs-menu-content"></ul></div></div><button class="vjs-picture-in-picture-control vjs-control vjs-button vjs-disabled" type="button" title="Picture-in-Picture" aria-disabled="true" disabled="disabled"><span class="vjs-icon-placeholder" aria-hidden="true"></span><span class="vjs-control-text" aria-live="polite">Picture-in-Picture</span></button><button class="vjs-fullscreen-control vjs-control vjs-button" type="button" title="Fullscreen" aria-disabled="false"><span class="vjs-icon-placeholder" aria-hidden="true"></span><span class="vjs-control-text" aria-live="polite">Fullscreen</span></button></div><div class="vjs-error-display vjs-modal-dialog vjs-hidden " tabindex="-1" aria-describedby="ez-video-outstream_component_570_description" aria-hidden="true" aria-label="Modal Window" role="dialog"><p class="vjs-modal-dialog-description vjs-control-text" id="ez-video-outstream_component_570_description">This is a modal window.</p><div class="vjs-modal-dialog-content" role="document"></div></div><div class="vjs-modal-dialog vjs-hidden vjs-text-track-settings" tabindex="-1" aria-describedby="ez-video-outstream_component_576_description" aria-hidden="true" aria-label="Caption Settings Dialog" role="dialog"><p class="vjs-modal-dialog-description vjs-control-text" id="ez-video-outstream_component_576_description">Beginning of dialog window. Escape will cancel and close the window.</p><div class="vjs-modal-dialog-content" role="document"><div class="vjs-track-settings-colors"><fieldset class="vjs-fg vjs-track-setting"><legend id="captions-text-legend-ez-video-outstream_component_576">Text</legend><span class="vjs-text-color"><label id="captions-foreground-color-ez-video-outstream_component_576" class="vjs-label">Color</label><select aria-labelledby="captions-text-legend-ez-video-outstream_component_576 captions-foreground-color-ez-video-outstream_component_576"><option id="captions-foreground-color-ez-video-outstream_component_576-White" value="#FFF" aria-labelledby="captions-text-legend-ez-video-outstream_component_576 captions-foreground-color-ez-video-outstream_component_576 captions-foreground-color-ez-video-outstream_component_576-White">White</option><option id="captions-foreground-color-ez-video-outstream_component_576-Black" value="#000" aria-labelledby="captions-text-legend-ez-video-outstream_component_576 captions-foreground-color-ez-video-outstream_component_576 captions-foreground-color-ez-video-outstream_component_576-Black">Black</option><option id="captions-foreground-color-ez-video-outstream_component_576-Red" value="#F00" aria-labelledby="captions-text-legend-ez-video-outstream_component_576 captions-foreground-color-ez-video-outstream_component_576 captions-foreground-color-ez-video-outstream_component_576-Red">Red</option><option id="captions-foreground-color-ez-video-outstream_component_576-Green" value="#0F0" aria-labelledby="captions-text-legend-ez-video-outstream_component_576 captions-foreground-color-ez-video-outstream_component_576 captions-foreground-color-ez-video-outstream_component_576-Green">Green</option><option id="captions-foreground-color-ez-video-outstream_component_576-Blue" value="#00F" aria-labelledby="captions-text-legend-ez-video-outstream_component_576 captions-foreground-color-ez-video-outstream_component_576 captions-foreground-color-ez-video-outstream_component_576-Blue">Blue</option><option id="captions-foreground-color-ez-video-outstream_component_576-Yellow" value="#FF0" aria-labelledby="captions-text-legend-ez-video-outstream_component_576 captions-foreground-color-ez-video-outstream_component_576 captions-foreground-color-ez-video-outstream_component_576-Yellow">Yellow</option><option id="captions-foreground-color-ez-video-outstream_component_576-Magenta" value="#F0F" aria-labelledby="captions-text-legend-ez-video-outstream_component_576 captions-foreground-color-ez-video-outstream_component_576 captions-foreground-color-ez-video-outstream_component_576-Magenta">Magenta</option><option id="captions-foreground-color-ez-video-outstream_component_576-Cyan" value="#0FF" aria-labelledby="captions-text-legend-ez-video-outstream_component_576 captions-foreground-color-ez-video-outstream_component_576 captions-foreground-color-ez-video-outstream_component_576-Cyan">Cyan</option></select></span><span class="vjs-text-opacity vjs-opacity"><label id="captions-foreground-opacity-ez-video-outstream_component_576" class="vjs-label">Opacity</label><select aria-labelledby="captions-text-legend-ez-video-outstream_component_576 captions-foreground-opacity-ez-video-outstream_component_576"><option id="captions-foreground-opacity-ez-video-outstream_component_576-Opaque" value="1" aria-labelledby="captions-text-legend-ez-video-outstream_component_576 captions-foreground-opacity-ez-video-outstream_component_576 captions-foreground-opacity-ez-video-outstream_component_576-Opaque">Opaque</option><option id="captions-foreground-opacity-ez-video-outstream_component_576-SemiTransparent" value="0.5" aria-labelledby="captions-text-legend-ez-video-outstream_component_576 captions-foreground-opacity-ez-video-outstream_component_576 captions-foreground-opacity-ez-video-outstream_component_576-SemiTransparent">Semi-Transparent</option></select></span></fieldset><fieldset class="vjs-bg vjs-track-setting"><legend id="captions-background-ez-video-outstream_component_576">Text Background</legend><span class="vjs-bg-color"><label id="captions-background-color-ez-video-outstream_component_576" class="vjs-label">Color</label><select aria-labelledby="captions-background-ez-video-outstream_component_576 captions-background-color-ez-video-outstream_component_576"><option id="captions-background-color-ez-video-outstream_component_576-Black" value="#000" aria-labelledby="captions-background-ez-video-outstream_component_576 captions-background-color-ez-video-outstream_component_576 captions-background-color-ez-video-outstream_component_576-Black">Black</option><option id="captions-background-color-ez-video-outstream_component_576-White" value="#FFF" aria-labelledby="captions-background-ez-video-outstream_component_576 captions-background-color-ez-video-outstream_component_576 captions-background-color-ez-video-outstream_component_576-White">White</option><option id="captions-background-color-ez-video-outstream_component_576-Red" value="#F00" aria-labelledby="captions-background-ez-video-outstream_component_576 captions-background-color-ez-video-outstream_component_576 captions-background-color-ez-video-outstream_component_576-Red">Red</option><option id="captions-background-color-ez-video-outstream_component_576-Green" value="#0F0" aria-labelledby="captions-background-ez-video-outstream_component_576 captions-background-color-ez-video-outstream_component_576 captions-background-color-ez-video-outstream_component_576-Green">Green</option><option id="captions-background-color-ez-video-outstream_component_576-Blue" value="#00F" aria-labelledby="captions-background-ez-video-outstream_component_576 captions-background-color-ez-video-outstream_component_576 captions-background-color-ez-video-outstream_component_576-Blue">Blue</option><option id="captions-background-color-ez-video-outstream_component_576-Yellow" value="#FF0" aria-labelledby="captions-background-ez-video-outstream_component_576 captions-background-color-ez-video-outstream_component_576 captions-background-color-ez-video-outstream_component_576-Yellow">Yellow</option><option id="captions-background-color-ez-video-outstream_component_576-Magenta" value="#F0F" aria-labelledby="captions-background-ez-video-outstream_component_576 captions-background-color-ez-video-outstream_component_576 captions-background-color-ez-video-outstream_component_576-Magenta">Magenta</option><option id="captions-background-color-ez-video-outstream_component_576-Cyan" value="#0FF" aria-labelledby="captions-background-ez-video-outstream_component_576 captions-background-color-ez-video-outstream_component_576 captions-background-color-ez-video-outstream_component_576-Cyan">Cyan</option></select></span><span class="vjs-bg-opacity vjs-opacity"><label id="captions-background-opacity-ez-video-outstream_component_576" class="vjs-label">Opacity</label><select aria-labelledby="captions-background-ez-video-outstream_component_576 captions-background-opacity-ez-video-outstream_component_576"><option id="captions-background-opacity-ez-video-outstream_component_576-Opaque" value="1" aria-labelledby="captions-background-ez-video-outstream_component_576 captions-background-opacity-ez-video-outstream_component_576 captions-background-opacity-ez-video-outstream_component_576-Opaque">Opaque</option><option id="captions-background-opacity-ez-video-outstream_component_576-SemiTransparent" value="0.5" aria-labelledby="captions-background-ez-video-outstream_component_576 captions-background-opacity-ez-video-outstream_component_576 captions-background-opacity-ez-video-outstream_component_576-SemiTransparent">Semi-Transparent</option><option id="captions-background-opacity-ez-video-outstream_component_576-Transparent" value="0" aria-labelledby="captions-background-ez-video-outstream_component_576 captions-background-opacity-ez-video-outstream_component_576 captions-background-opacity-ez-video-outstream_component_576-Transparent">Transparent</option></select></span></fieldset><fieldset class="vjs-window vjs-track-setting"><legend id="captions-window-ez-video-outstream_component_576">Caption Area Background</legend><span class="vjs-window-color"><label id="captions-window-color-ez-video-outstream_component_576" class="vjs-label">Color</label><select aria-labelledby="captions-window-ez-video-outstream_component_576 captions-window-color-ez-video-outstream_component_576"><option id="captions-window-color-ez-video-outstream_component_576-Black" value="#000" aria-labelledby="captions-window-ez-video-outstream_component_576 captions-window-color-ez-video-outstream_component_576 captions-window-color-ez-video-outstream_component_576-Black">Black</option><option id="captions-window-color-ez-video-outstream_component_576-White" value="#FFF" aria-labelledby="captions-window-ez-video-outstream_component_576 captions-window-color-ez-video-outstream_component_576 captions-window-color-ez-video-outstream_component_576-White">White</option><option id="captions-window-color-ez-video-outstream_component_576-Red" value="#F00" aria-labelledby="captions-window-ez-video-outstream_component_576 captions-window-color-ez-video-outstream_component_576 captions-window-color-ez-video-outstream_component_576-Red">Red</option><option id="captions-window-color-ez-video-outstream_component_576-Green" value="#0F0" aria-labelledby="captions-window-ez-video-outstream_component_576 captions-window-color-ez-video-outstream_component_576 captions-window-color-ez-video-outstream_component_576-Green">Green</option><option id="captions-window-color-ez-video-outstream_component_576-Blue" value="#00F" aria-labelledby="captions-window-ez-video-outstream_component_576 captions-window-color-ez-video-outstream_component_576 captions-window-color-ez-video-outstream_component_576-Blue">Blue</option><option id="captions-window-color-ez-video-outstream_component_576-Yellow" value="#FF0" aria-labelledby="captions-window-ez-video-outstream_component_576 captions-window-color-ez-video-outstream_component_576 captions-window-color-ez-video-outstream_component_576-Yellow">Yellow</option><option id="captions-window-color-ez-video-outstream_component_576-Magenta" value="#F0F" aria-labelledby="captions-window-ez-video-outstream_component_576 captions-window-color-ez-video-outstream_component_576 captions-window-color-ez-video-outstream_component_576-Magenta">Magenta</option><option id="captions-window-color-ez-video-outstream_component_576-Cyan" value="#0FF" aria-labelledby="captions-window-ez-video-outstream_component_576 captions-window-color-ez-video-outstream_component_576 captions-window-color-ez-video-outstream_component_576-Cyan">Cyan</option></select></span><span class="vjs-window-opacity vjs-opacity"><label id="captions-window-opacity-ez-video-outstream_component_576" class="vjs-label">Opacity</label><select aria-labelledby="captions-window-ez-video-outstream_component_576 captions-window-opacity-ez-video-outstream_component_576"><option id="captions-window-opacity-ez-video-outstream_component_576-Transparent" value="0" aria-labelledby="captions-window-ez-video-outstream_component_576 captions-window-opacity-ez-video-outstream_component_576 captions-window-opacity-ez-video-outstream_component_576-Transparent">Transparent</option><option id="captions-window-opacity-ez-video-outstream_component_576-SemiTransparent" value="0.5" aria-labelledby="captions-window-ez-video-outstream_component_576 captions-window-opacity-ez-video-outstream_component_576 captions-window-opacity-ez-video-outstream_component_576-SemiTransparent">Semi-Transparent</option><option id="captions-window-opacity-ez-video-outstream_component_576-Opaque" value="1" aria-labelledby="captions-window-ez-video-outstream_component_576 captions-window-opacity-ez-video-outstream_component_576 captions-window-opacity-ez-video-outstream_component_576-Opaque">Opaque</option></select></span></fieldset></div><div class="vjs-track-settings-font"><fieldset class="vjs-font-percent vjs-track-setting"><legend id="captions-font-size-ez-video-outstream_component_576" class="">Font Size</legend><select aria-labelledby="captions-font-size-ez-video-outstream_component_576"><option id="captions-font-size-ez-video-outstream_component_576-50" value="0.50" aria-labelledby="captions-font-size-ez-video-outstream_component_576 captions-font-size-ez-video-outstream_component_576-50">50%</option><option id="captions-font-size-ez-video-outstream_component_576-75" value="0.75" aria-labelledby="captions-font-size-ez-video-outstream_component_576 captions-font-size-ez-video-outstream_component_576-75">75%</option><option id="captions-font-size-ez-video-outstream_component_576-100" value="1.00" aria-labelledby="captions-font-size-ez-video-outstream_component_576 captions-font-size-ez-video-outstream_component_576-100">100%</option><option id="captions-font-size-ez-video-outstream_component_576-125" value="1.25" aria-labelledby="captions-font-size-ez-video-outstream_component_576 captions-font-size-ez-video-outstream_component_576-125">125%</option><option id="captions-font-size-ez-video-outstream_component_576-150" value="1.50" aria-labelledby="captions-font-size-ez-video-outstream_component_576 captions-font-size-ez-video-outstream_component_576-150">150%</option><option id="captions-font-size-ez-video-outstream_component_576-175" value="1.75" aria-labelledby="captions-font-size-ez-video-outstream_component_576 captions-font-size-ez-video-outstream_component_576-175">175%</option><option id="captions-font-size-ez-video-outstream_component_576-200" value="2.00" aria-labelledby="captions-font-size-ez-video-outstream_component_576 captions-font-size-ez-video-outstream_component_576-200">200%</option><option id="captions-font-size-ez-video-outstream_component_576-300" value="3.00" aria-labelledby="captions-font-size-ez-video-outstream_component_576 captions-font-size-ez-video-outstream_component_576-300">300%</option><option id="captions-font-size-ez-video-outstream_component_576-400" value="4.00" aria-labelledby="captions-font-size-ez-video-outstream_component_576 captions-font-size-ez-video-outstream_component_576-400">400%</option></select></fieldset><fieldset class="vjs-edge-style vjs-track-setting"><legend id="ez-video-outstream_component_576" class="">Text Edge Style</legend><select aria-labelledby="ez-video-outstream_component_576"><option id="ez-video-outstream_component_576-None" value="none" aria-labelledby="ez-video-outstream_component_576 ez-video-outstream_component_576-None">None</option><option id="ez-video-outstream_component_576-Raised" value="raised" aria-labelledby="ez-video-outstream_component_576 ez-video-outstream_component_576-Raised">Raised</option><option id="ez-video-outstream_component_576-Depressed" value="depressed" aria-labelledby="ez-video-outstream_component_576 ez-video-outstream_component_576-Depressed">Depressed</option><option id="ez-video-outstream_component_576-Uniform" value="uniform" aria-labelledby="ez-video-outstream_component_576 ez-video-outstream_component_576-Uniform">Uniform</option><option id="ez-video-outstream_component_576-Dropshadow" value="dropshadow" aria-labelledby="ez-video-outstream_component_576 ez-video-outstream_component_576-Dropshadow">Dropshadow</option></select></fieldset><fieldset class="vjs-font-family vjs-track-setting"><legend id="captions-font-family-ez-video-outstream_component_576" class="">Font Family</legend><select aria-labelledby="captions-font-family-ez-video-outstream_component_576"><option id="captions-font-family-ez-video-outstream_component_576-ProportionalSansSerif" value="proportionalSansSerif" aria-labelledby="captions-font-family-ez-video-outstream_component_576 captions-font-family-ez-video-outstream_component_576-ProportionalSansSerif">Proportional Sans-Serif</option><option id="captions-font-family-ez-video-outstream_component_576-MonospaceSansSerif" value="monospaceSansSerif" aria-labelledby="captions-font-family-ez-video-outstream_component_576 captions-font-family-ez-video-outstream_component_576-MonospaceSansSerif">Monospace Sans-Serif</option><option id="captions-font-family-ez-video-outstream_component_576-ProportionalSerif" value="proportionalSerif" aria-labelledby="captions-font-family-ez-video-outstream_component_576 captions-font-family-ez-video-outstream_component_576-ProportionalSerif">Proportional Serif</option><option id="captions-font-family-ez-video-outstream_component_576-MonospaceSerif" value="monospaceSerif" aria-labelledby="captions-font-family-ez-video-outstream_component_576 captions-font-family-ez-video-outstream_component_576-MonospaceSerif">Monospace Serif</option><option id="captions-font-family-ez-video-outstream_component_576-Casual" value="casual" aria-labelledby="captions-font-family-ez-video-outstream_component_576 captions-font-family-ez-video-outstream_component_576-Casual">Casual</option><option id="captions-font-family-ez-video-outstream_component_576-Script" value="script" aria-labelledby="captions-font-family-ez-video-outstream_component_576 captions-font-family-ez-video-outstream_component_576-Script">Script</option><option id="captions-font-family-ez-video-outstream_component_576-SmallCaps" value="small-caps" aria-labelledby="captions-font-family-ez-video-outstream_component_576 captions-font-family-ez-video-outstream_component_576-SmallCaps">Small Caps</option></select></fieldset></div><div class="vjs-track-settings-controls"><button type="button" class="vjs-default-button" title="restore all settings to the default values">Reset<span class="vjs-control-text"> restore all settings to the default values</span></button><button type="button" class="vjs-done-button">Done</button></div></div><button class="vjs-close-button vjs-control vjs-button" type="button" title="Close Modal Dialog" aria-disabled="false"><span class="vjs-icon-placeholder" aria-hidden="true"></span><span class="vjs-control-text" aria-live="polite">Close Modal Dialog</span></button><p class="vjs-control-text">End of dialog window.</p></div><div id="ez-video-ad-container-outstream"></div><div id="ez-video-ad-container-ez-o"></div></div>
</div>
</div>
</div>
<script async="" src="./MAX7219 LED Dot Matrix Display with Arduino_files/v.js.download"></script><script>(function(){if(typeof document.body==='undefined'||document.body===null){return;}
var attachEvent=function(element,evt,func){if(element.addEventListener){element.addEventListener(evt,func,false);}else{element.attachEvent("on"+evt,func);}};attachEvent(document.body,"ezVigImpression",function(e){if(typeof(_ezaq)!=="undefined"&&typeof e==="object"){__ez.pel.AddAndFire(e.slot,[(new __ezDotData(e.key,e.value))]);}});})();</script><script>window.__ez_vig_close_wrapper=function(closeFunc,urlAddition){closeFunc();var vc={"enabled":false,"useVignetteLoader":true,"fireEventName":"ezVigImpression","impressionSource":"anchor","urlAddition":"utm_content=anc-true","disableFloor":true,"eventHandlerTest":false};if(typeof urlAddition=='string'){vc.urlAddition=urlAddition;}
var v=newEzVignette(vc);v.handleClick();};</script>
<script type="text/javascript">
var __inScopeForCCPA = false;
function __uspapi(command, version, callback) {
var response = null;
var successs = false;
if (command === "getUSPData" && version === 1) {
var uspString = "1"; // Version
if (__inScopeForCCPA) {
uspString += "Y"; // Has Explicit Notice for Opt Out been provided (ex footer or minor consent modal)
var result;
var consentCookie = (result = new RegExp('(?:^|; )ezoccpaconsent=([^;]*)').exec(document.cookie)) ? (result[1]) : null;
if (consentCookie === "nonconsent") {
uspString += "Y";
}
else {
uspString += "N";
}
uspString += "N" // Is pub a signatory to the IAB Limited Service Provider Agreement (http://www.iabprivacy.com/)
}
else {
uspString += "---";
}
response = {
uspString: uspString,
version: 1
};
success = true;
}
return callback(response, success);
};
function __receiveUspapiMessage(event) {
if (event.data.hasOwnProperty('__uspapiCall')) {
__uspapi('getUSPData', 1, function(uspData, success) {
event.source.postMessage({
__uspapiReturn: {
returnValue: uspData,
success: success,
callId: event.data.__uspapiCall.callId
}
},
event.origin);
});
}
return null;
};
window.addEventListener("message", __receiveUspapiMessage, false);
</script>
<script data-ezscrex="false" data-cfasync="false" data-pagespeed-no-defer="" type="text/javascript" id="a6aa3ffb1f4e4ac9bf95518384b0e2f3">__cnxiid = 6512861886755084;
__cnxau = 'lastminuteengineers_com-cnx-1';
setTimeout(function(){
!function(e) {
if (typeof(window.cnx) === 'undefined' || !window.cnx) {
window.cnx = {}, window.cnx.cmd = [];
var n = e.createElement('iframe');
n.src = 'javascript:false';
n.display = 'none', n.onload = function () {
if (typeof(ezVideo) === 'undefined' || !ezVideo) {
var e = n.contentWindow.document,
t = e.createElement('script');
t.src = 'https://cd.connatix.com/connatix.player.js?cid=5f049401-746e-4449-8c27-b6b9d8e25882';
t.setAttribute('async', '1');
t.setAttribute('type', 'text/javascript');
e.body.appendChild(t);
}
};
e.head.appendChild(n);
}
}(document);
(new Image).src = '//capi.connatix.com/tr/si?token=dceed97a-951e-4c47-b565-c2794ffae817&cid=5f049401-746e-4449-8c27-b6b9d8e25882';
cnx.cmd.push(function () {
if (typeof(__ezcnxPlayer) === 'undefined' || !__ezcnxPlayer) {
cnx({
playerId: 'dceed97a-951e-4c47-b565-c2794ffae817',
}).render('a6aa3ffb1f4e4ac9bf95518384b0e2f3', function(e, n) {
__ezcnxPlayer = n;
if (typeof(__ez_auto_adjust_outstream_float) === 'undefined') {
__ezcnxPlayerDelay = [];
__ezcnxPlayerDelay.push('outstreamFloatDestroy');
} else {
window.__ez_outstream_float_destroy && __ez_outstream_float_destroy();
}
if (typeof(__ez_outstream_player_tracking) === 'undefined') {
if (typeof(__ezcnxPlayerDelay) === 'undefined') {
__ezcnxPlayerDelay = [];
}
__ezcnxPlayerDelay.push('outstreamtracking');
} else {
__ez_outstream_player_tracking();
}
var railToClose = (__ezcnxPlayer.getFloatingSettings() && __ezcnxPlayer.getFloatingSettings().scrollPosition === 1) ? 'left' : 'right';
if (window.__ez_close_rail) {
if (__ezcnxPlayer.getPlayerType() !== 0) {
__ezcnxPlayer.once('adImpression', function(e) {
window.__ez_close_rail && __ez_close_rail('ez-sidebar-wall-' + railToClose);
});
} else if (__ezcnxPlayer.getFloatingSettings()) {
window.__ez_close_rail && __ez_close_rail('ez-sidebar-wall-' + railToClose);
}
}
});
}
});
}, 3000);</script>
<script>__ez.queue.addFile('/beardeddragon/tortoise.js', '/beardeddragon/tortoise.js?gcb=0&cb=6', false, [], true, false, true, false);</script>
<script>__ez.queue.addFile('/beardeddragon/armadillo.js', '/beardeddragon/armadillo.js?gcb=0&cb=27', false, [], true, false, true, false);</script>
<script>__ez.queue.addFile('/detroitchicago/denver.js', '/detroitchicago/denver.js?gcb=0&cb=3', true, [], true, false, true, false);</script>
<script>__ez.queue.addFile('/beardeddragon/turtle.js', '/beardeddragon/turtle.js?gcb=0&cb=32', true, [], true, false, true, false);</script>
<script>function renderEzoicOutstreamVideoContent(){var videoObject={"AdUnit":"lastminuteengineers_com-outstream-video-1","AdsEnabled":0,"DelayBetweenAdRequest":0,"DomainId":0,"FloatPosition":0,"IsAutoPlay":true,"IsFloating":true,"IsLoop":true,"PlayerId":"ez-o","PublisherVideoContentShare":{"IsEzoicOwnedVideo":false,"IsGenericInstream":false,"IsOutstream":true},"VideoPlaceholderId":15,"VideoContentId":"8758848756163015512-outstream","Title":"","Description":"","PreviewImage":"","VideoDurationMs":0};if(typeof ezVideoPlayer==="undefined"){__ez.queue.addFile("/beardeddragon/wyvern.js",'/beardeddragon/wyvern.js?cb=77',true,[],false,true,true,false);__ez.queue.addFile("/beardeddragon/gilamonster.js",'/beardeddragon/gilamonster.js?cb=208',true,["/beardeddragon/wyvern.js"],false,true,true,false);__ez.queue.addFile("/beardeddragon/iguana.js",'/beardeddragon/iguana.js?cb=173',true,["/beardeddragon/wyvern.js"],false,true,true,false);__ez.queue.addFile("/detroitchicago/springfield.js",'/detroitchicago/springfield.js?cb=3',true,["/beardeddragon/wyvern.js"],false,true,true,false);__ez.queue.addFunc("ezoutstream","renderEzoicOutstreamVideoContent",null,false,["/beardeddragon/iguana.js"],false,false,true,false);return;}
window.ezIntType="";if(typeof ezOutstreamPlayer!=="undefined"){ezOutstreamPlayer.Init(videoObject);}}
__ez.queue.addFile("/beardeddragon/wyvern.js","/beardeddragon/wyvern.js?cb=77",true,[],false,true,true,false,window);__ez.queue.addFile("/beardeddragon/gilamonster.js","/beardeddragon/gilamonster.js?cb=208",true,["/beardeddragon/wyvern.js","/porpoiseant/jellyfish.js"],false,true,true,false,window);__ez.queue.addFile("/beardeddragon/iguana.js","/beardeddragon/iguana.js?cb=173",true,["/beardeddragon/gilamonster.js"],false,true,true,false,window);__ez.queue.addFile("ima","//imasdk.googleapis.com/js/sdkloader/ima3.js",true,[],false,true,true,false,window);__ez.queue.addFunc("ezoicOutstreamVideo","renderEzoicOutstreamVideoContent",null,false,["/beardeddragon/turtle.js","/detroitchicago/denver.js","/beardeddragon/iguana.js","ima","/detroitchicago/portland.js"],false,false,true,false,window);</script>
<script type="text/javascript" style="display:none;" async="">__ez.queue.addFile('/detroitchicago/stickyfix.js', '/detroitchicago/stickyfix.js?gcb=0&cb=37', false, [], true, true, true, false);</script>
<script type="text/javascript" style="display:none;" async="">__ez.queue.addFile('anchorfix.js', '/ezoic/anchorfix.js?cb=22', false, [], true, true, true, false);</script>
<script type="text/javascript" style="display:none;" async="">__ez.queue.addFile('/detroitchicago/stickyfix.js', '/detroitchicago/stickyfix.js?gcb=0&cb=37', false, [], true, true, true, false);</script>
<script type="text/javascript" style="display:none;" async="">
window.__ez_edge_a = false;
window.__ez_edge_mw = 1600;
window.__ez_edge_v = 'top';
window.__ez_edge_h = 'inner';
window.__ez_edge_m = 0;
__ez.queue.addFile('/detroitchicago/sidebarwall.js', '/detroitchicago/sidebarwall.js?gcb=0&cb=19', false, [], true, true, true, false);</script>
<script>var didTimeoutVign=false;setTimeout(function(){var cookieTest=getCookie("ezvignetteviewed");if(cookieTest==""){window.googletag=window.googletag||{};googletag.cmd=googletag.cmd||[];googletag.cmd.push(function(){if(typeof window.ezslot_interstitial!='undefined'&&window.ezslot_interstitial!=null){googletag.display(window.ezslot_interstitial);googletag.pubads().refresh([window.ezslot_interstitial]);didTimeoutVign=true;}});}},1000);if(typeof _ezaq!='undefined'&&typeof _ezaq.ab_test_id!='undefined'&&_ezaq.ab_test_id=='mod34'){document.addEventListener("click",expzscr);}
function expzscr(){if(!didTimeoutVign){return;}
var x=window.open();if(x){x.close();document.removeEventListener("click",expzscr);}}
function getCookie(cname){var name=cname+"=";var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==' '){c=c.substring(1);}
if(c.indexOf(name)==0){return c.substring(name.length,c.length);}}
return "";}</script>
<script>!function(){function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,o(n.key),n)}}function i(e,t,i){return(t=o(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(t){var i=function(t,i){if("object"!==e(t)||null===t)return t;var o=t[Symbol.toPrimitive];if(void 0!==o){var n=o.call(t,"string");if("object"!==e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===e(i)?i:String(i)}var n=!1,a=!1;window.ezasBuild=function(e){n||(void 0===window.ezasAutoAds&&(window.google_reactive_ads_global_state={adCount:{},floatingAdsStacking:{maxZIndexListeners:[],maxZIndexRestrictions:{},nextRestrictionId:0},messageValidationEnabled:!1,reactiveTypeDisabledByPublisher:{},reactiveTypeEnabledInAsfe:{},sideRailAvailableSpace:[],sideRailOverlappableElements:[],stateForType:{},tagSpecificState:{},wasPlaTagProcessed:!0,wasReactiveAdConfigReceived:{1:!0,2:!0,8:!0},wasReactiveAdVisible:{},wasReactiveTagRequestSent:!0,description:"Can't disable auto ads programmatically on the page, so here we are!"}),n=!0);var t=new s(e);if(1!=t.getValue("compid"))return!1;if("function"!=typeof MutationObserver||"function"!=typeof IntersectionObserver)return t.setValue("compid","0"),!1;if(void 0===e||void 0===window.ezasVars)return t.setValue("compid","0"),!1;if(void 0!==window.ezgconsent&&0==window.ezgconsent)return t.setValue("compid","0"),!1;if(!a&&void 0===window.ezasAutoAds){var i=document.createElement("script");i.src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js",i.crossOrigin="anonymous",i.async=!0,document.getElementsByTagName("head")[0].appendChild(i),a=!0}if(5==t.getValue("al")%1e3)return t.setValue("compid","0"),t.setValue("nocompoverride","1"),!1;var o=window.ezasVars.cid,d="ca-"+window.ezasVars.pid;if(void 0===o||""===o)return t.setValue("compid","0"),!1;t.setValue("reft","n");var l=document.getElementById(e);if(!l)return t.setValue("compid","0"),!1;var r=e+"-asloaded";if(null!==document.getElementById(r))return!0;var u=document.createElement("ins");u.id=r,u.className="adsbygoogle ezasloaded",u.dataset.adClient=d,u.dataset.adChannel=o;var w=t.getValue("asau");return"mod105"==t.getValue("bra")&&""!=w?(u.dataset.adSlot=w,u.dataset.matchedContentUiType="text",u.dataset.matchedContentRowsNum="4",u.dataset.matchedContentColumnsNum="1"):void 0!==window.__ezasAggressive&&!0===window.__ezasAggressive&&(u.dataset.fullWidthResponsive="true"),u.style.display="block",u.style.margin="0px auto","undefined"!=typeof handleResponsiveAdsense?window.handleResponsiveAdsense(u,l):(u.style.width=l.attributes.ezaw.value+"px",u.style.height=l.attributes.ezah.value+"px"),l.appendChild(u),window.ezaslWatch=window.ezaslWatch||[],window.ezaslWatch.push(e),(window.adsbygoogle=window.adsbygoogle||[]).push({}),ezoSTPixelAdd(e,"stat_source_id",44),ezoSTPixelAdd(e,"adsensetype",1),!0};var s=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),i(this,"slot",null),i(this,"allValues",null),i(this,"isEzSlot",!1),i(this,"divID",""),this.divID=t;var o=window.ezslotdivs&&window.ezslotdivs[t]&&window.ezslotdivs[t].slot;if(void 0===window[o+"_raw"]){if(!ezslots||0==ezslots.length)return null;var n=ezslots.filter((function(e){return window[e].getSlotElementId()===t}));if(0==n.length)return null;console.debug("as2"),this.slot=window[n[0]],this.allValues=window[n[0]].getTargetingMap(),this.isEzSlot=!0}else this.allValues=window[o+"_raw"]}var o,n;return o=e,(n=[{key:"getValue",value:function(e){return this.isEzSlot&&this.slot?this.slot.getTargeting(e)[0]:this.allValues[e]}},{key:"setValue",value:function(e,t){this.isEzSlot&&this.slot?this.slot.setTargeting(e,t):this.allValues[e]=t}},{key:"getSlot",value:function(){if(this.slot)return this.slot;var e=window.ezslotdivs&&window.ezslotdivs[this.divID]&&window.ezslotdivs[this.divID].adunit;if(!e){e="";var t=this.divID.match(/div-gpt-ad-([a-z0-9_-]+)-0(_[0-9])?/);t&&t.length>1&&(e=t[1])}return{ElementId:this.divID,Targeting:this.allValues,AdUnitPath:e}}}])&&t(o.prototype,n),Object.defineProperty(o,"prototype",{writable:!1}),e}();window.ezasvEvent=function(e,t){if(!0===e[0].isIntersecting){var i=e[0].target.attributes[0].value.substr(0,e[0].target.attributes[0].value.length-9);window.ezoSTPixelAdd(i,"viewed",1),t.disconnect()}},window.ezaslEvent=function(e,t){if(void 0!==e[0].target.attributes["data-ad-status"]){var i=e[0].target.attributes["data-ad-status"].value,o=e[0].target.attributes[0].value.substr(0,e[0].target.attributes[0].value.length-9);if("filled"==i)return window.ezoSTPixelAdd(o,"loaded",1),window.ezoSTPixelAdd(o,"ad_load_time",Date.now()-__ez.stms),new IntersectionObserver(window.ezasvEvent,{threshold:[1]}).observe(document.getElementById(o+"-asloaded")),void t.disconnect();if("unfilled"==i)return setTimeout((function(){window.ezoAdBackFill(e)}),2e3),void t.disconnect()}},window.ezoAdBackFill=function(e){var t=e[0].target,i=t.parentElement;t.style.display="none !important";var o,n=ezoGetSlotNum(i.id);if(o=void 0!==__ez.fads?__ez.fads.initslots[i.id]:__ez_fad_initslot[i.id],void 0===n&&"function"==typeof o&&(n=o(6)),void 0!==n)var a=window[n];if(void 0!==a){a.setTargeting("compid","0"),a.setTargeting("nocompoverride","1"),a.setTargeting("bkfl","1"),a.setTargeting("reft","t");var s=a.getTargeting("br2")[0];if(void 0!==window.ezoibfh&&void 0!==window.ezoibfh[s]&&(a.setTargeting("br1",s),a.setTargeting("eb_br",window.ezoibfh[s])),googletag.display(a),void 0!==window.ezoResponsiveSizes&&void 0!==a&&null!=a&&"1005"!=a.getTargeting("al")[0]&&"3005"!=a.getTargeting("al")[0]){var d=__ez.fads.adLoadGAM.buildSlotResponsiveSizes(a.getSlotElementId());""!==d&&(__ez.fads.adLoadGAM.adjustResponsiveDiv(a.getSlotElementId()),a.defineSizeMapping(d))}setTimeout((function(){googletag.pubads().refresh([a])}),500)}},window.ezaslWatch=window.ezaslWatch||[],window.ezaslWatch.push=function(e){new MutationObserver(window.ezaslEvent).observe(document.getElementById(e+"-asloaded"),{attributes:!0})};for(var d=0;d<ezaslWatch.length;d++){var l=new MutationObserver(window.ezaslEvent);l.observe(document.getElementById(ezaslWatch[d]+"-asloaded"),{attributes:!0}),window.ezaslEvent([{target:document.getElementById(ezaslWatch[d]+"-asloaded")}],l)}window.ezoSTPixels=window.ezoSTPixels||[];var r=setInterval((function(){"undefined"!=typeof __ez&&"undefined"!=typeof __ezDotData&&"undefined"!=typeof ezslots&&"undefined"!=typeof ezslots_raw&&window.ezslots_raw.length>0&&(window.ezoSTPixelFire(),clearInterval(r))}),250);window.ezoSTPixelAdd=function(e,t,i){window.ezoSTPixels.push({id:e,name:t,value:i}),window.ezoSTPixelFire()},window.ezoGetSlotById=function(e){var t=e.split("div-gpt-ad-")[1].split("-",3).join("-");for(var i in window.ezslots_raw)if(window.ezslots_raw[i].tap.includes(t))return window.ezslots_raw[i]},window.ezoGetSlotNum=function(e){if(void 0!==window.ezslots&&0!=window.ezslots)for(var t=0;t<window.ezslots.length;t++){var i=window[ezslots[t]];if(void 0!==i){var o=i.getSlotElementId();if(void 0!==o&&o==e)return ezslots[t]}}},window.ezoSTPixelFire=function(){if("undefined"!=typeof __ez&&"undefined"!=typeof __ezDotData&&"undefined"!=typeof ezslots)for(;window.ezoSTPixels.length>0;){var e=window.ezoSTPixels.shift(),t=window.ezoGetSlotById(e.id);if(void 0===t){var i;if(i=void 0!==__ez.fads?__ez.fads.initslots[e.id]:__ez_fad_initslot[e.id],void 0===googletag.defineSlot)return void window.ezoSTPixels.push(e);if(i(1),void 0===(t=window.ezoGetSlotById(e.id)))return void window.ezoSTPixels.push(e)}var o=[{type:"impression",impression_id:t.eid,domain_id:window.did.toString(),unit:e.id,t_epoch:__ez.dot.getEpoch(0),ad_position:parseInt(t.ap),country_code:__ez.dot.getCC(),pageview_id:__ez.dot.getPageviewId(),comp_id:1,data:__ez.dot.dataToStr([new __ezDotData(e.name,e.value.toString())]),is_orig:0}],n=__ez.dot.getURL("/porpoiseant/army.gif")+"?orig=0&sts="+btoa(JSON.stringify(o));__ez.dot.Fire(n)}}}();</script>
<script>__ez.queue.addFile('/detroitchicago/kenai.js', '/detroitchicago/kenai.js?gcb=0&cb=6', false, [], true, false, true, false);</script>
<script>
function loadSovrnSignal() {
var sovrnSignalScript = document.createElement('script');
sovrnSignalScript.src = "//get.s-onetag.com/48e9aff7-e1fb-417c-a320-ed101cdab11f/tag.min.js";
sovrnSignalScript.async = true;
document.body.appendChild(sovrnSignalScript);
}
window.addEventListener('load', (e) => {
loadSovrnSignal();
});
</script>
<script>
__ez.queue.addFile("pubmaticOpenwrapJS", "https://ads.pubmatic.com/AdServer/js/pwt/162833/9311/pwt.js", true, [], true, false, true, true);
var __ezPwtBidders=['rubicon','medianet','appnexus','luponmedia','criteo','amx','adagio','sovrn','yieldmo','yahoossp','onemobile','rhythmone','triplelift','pulsepoint','smartadserver','onetag','openx','unruly','sharethrough','vidoomy','adtelligent','pubmatic'];
var __ezPwtFloors={"div-gpt-ad-lastminuteengineers_com-edge-2-0": 1.000000,"div-gpt-ad-lastminuteengineers_com-edge-1-0": 1.000000,"div-gpt-ad-lastminuteengineers_com-box-1-0": 1.000000,"div-gpt-ad-lastminuteengineers_com-box-1-0_1": 1.000000,"div-gpt-ad-lastminuteengineers_com-box-1-0_2": 1.000000,"div-gpt-ad-lastminuteengineers_com-box-1-0_3": 1.000000,"div-gpt-ad-lastminuteengineers_com-banner-2-0": 1.061573,"div-gpt-ad-lastminuteengineers_com-medrectangle-2-0": 1.470340,"div-gpt-ad-lastminuteengineers_com-medrectangle-3-0": 1.000000,"div-gpt-ad-lastminuteengineers_com-box-3-0": 1.000000,"div-gpt-ad-lastminuteengineers_com-box-4-0": 1.000000,"div-gpt-ad-lastminuteengineers_com-large-mobile-banner-1-0": 1.000000,"div-gpt-ad-lastminuteengineers_com-large-leaderboard-2-0": 1.000000,"div-gpt-ad-lastminuteengineers_com-large-mobile-banner-2-0": 1.000000,"div-gpt-ad-lastminuteengineers_com-leader-1-0": 1.000000,"div-gpt-ad-lastminuteengineers_com-banner-1-0": 1.439313,"div-gpt-ad-lastminuteengineers_com-leader-3-0": 1.000000,"div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-1-0": 1.000000,"div-gpt-ad-lastminuteengineers_com-medrectangle-4-0": 1.000000,"div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-2-0": 1.000000,"div-gpt-ad-lastminuteengineers_com-narrow-sky-1-0": 1.000000,"div-gpt-ad-lastminuteengineers_com-narrow-sky-2-0": 1.000000,"div-gpt-ad-lastminuteengineers_com-netboard-2-0": 1.000000};
var PWT={};var owpbjs=owpbjs||{};owpbjs.que=owpbjs.que||[];PWT.HookForPrebidSetConfig=function(config){var schain_domain="ezoic.ai";var dom="";if(typeof __ez_nid!="undefined"&&__ez_nid==21732118914){schain_domain="ezoic.co.uk";}
if(typeof location.host!="undefined"){dom=location.host;}
config.schain={validation:"strict",config:{ver:"1.0",complete:1,nodes:[{asi:schain_domain,sid:__sellerid,domain:dom,hp:1,}],},};config.floors={enabled:true};const consentManagement={usp:{cmpApi:"iab",timeout:100,},};if(typeof window.__tcfapi==="function"){consentManagement.strictStorageEnforcement=true;consentManagement.gdpr={cmpApi:"iab",timeout:5*60*1000,defaultGdprScope:true,};}
config.consentManagement=consentManagement;};function openwrapRequestAdUnits(pwtConf){PWT.HookForPrebidRequestBids=function(adUnits){if(typeof __ezPwtBidders!='undefined'){for(var au_i in adUnits){var toRemove=[];for(var bid_i in adUnits[au_i].bids){if(!__ezPwtBidders.includes(adUnits[au_i].bids[bid_i].bidder)){toRemove.push(bid_i);}}
for(var remove_i in toRemove.reverse()){adUnits[au_i].bids.splice(toRemove[remove_i],1);}}}
if(typeof __ezPwtFloors!='undefined'){for(var au_i in adUnits){if(__ezPwtFloors.hasOwnProperty(adUnits[au_i].code)){adUnits[au_i].floors={enabled:true,currency:'USD',schema:{fields:['mediaType']},values:{'banner':__ezPwtFloors[adUnits[au_i].code],}}}}}};window.PWT.requestBids(pwtConf,openwrapBidsBackHandler);}
function openwrapRefreshSlot(slot){if(typeof PWT.generateConfForGPT=='function'){var conf=PWT.generateConfForGPT([slot]);openwrapRequestAdUnits(conf);}}
function openwrapBidsBackHandler(response){if(typeof window.ezosetowbids=="function"){window.ezosetowbids(response);}else{window.ezosetowbidsInterval=setInterval(function(response){if(typeof window.ezosetowbids=='function'){window.ezosetowbids(response);}},150,response);}}
owpbjs.que.push(function(){owpbjs.onEvent('adRenderSucceeded',function(e){var slot=getSlotForhb(e.bid.adUnitCode);var ic=slot.getTargeting('ic')[0];if(typeof ic!=='undefined'){var ic_int=parseInt(ic);if(!isNaN(ic_int)){__ez.pel.Add(slot,[(new __ezDotData('refresh_count',ic_int))]);}}
var ebbr=slot.getTargeting('eb_br')[0];if(typeof ebbr!='undefined'){__ez.pel.Add(slot,[(new __ezDotData('filled_bid_hash',ebbr))]);}
var last_bid_val=0;if(typeof slot.getTargeting("lb")[0]!="undefined"){last_bid_val=parseInt(slot.getTargeting("lb")[0])/100000.0;}
var ssid=0;var ssidMap={"amx":11290,"ix":10082,"medianet":11307,"nobid":11319,"onetag":11291,"pubmatic":10061,"33across":11321};if(typeof ssidMap[e.bid.bidder.toLowerCase()]!=="undefined"){ssid=ssidMap[e.bid.bidder.toLowerCase()];__ez.pel.Add(slot,[(new __ezDotData("stat_source_id",ssid))],e.bid.cpm/1000,0,e.bid.cpm/1000,last_bid_val,ssid);}
var media_type=slot.getTargeting("hb_format");var prebid_source=slot.getTargeting("hb_rt");if(typeof media_type!==undefined&&media_type.length>0&&String(media_type[0])!==""){var media_type_str=String(media_type[0]);__ez.pel.Add(slot,[(new __ezDotData("media_type",media_type_str))]);}
if(typeof prebid_source!==undefined&&prebid_source.length>0&&String(prebid_source[0])!==""){var prebid_source_str=String(prebid_source[0]);__ez.pel.Add(slot,[(new __ezDotData("prebid_source",prebid_source_str))]);}
__ez.pel.Add(slot,[(new __ezDotData("loaded",1))],e.bid.cpm/1000,0,e.bid.cpm/1000,last_bid_val,ssid);__ez.pel.Fire();});});function getSlotForhb(adUnit){for(var slot in window.ezslots){if(window[window.ezslots[slot]].getSlotElementId()==adUnit){return window[window.ezslots[slot]];}}}
</script>
<script>function __ez_fad_ezpbinit(){var s = document.createElement( 'script' );
s.setAttribute( 'src', '//go.ezodn.com/hb/dall.js?cb=195-0-68' );
s.onerror = function () {window.ezDallErr = true};
document.body.appendChild( s );}__ez.queue.addFile('/detroitchicago/tuscon.js', '/detroitchicago/tuscon.js?gcb=0&cb=13', false, [], true, false, true, false);__ez.queue.addFile('/detroitchicago/kenai.js', '/detroitchicago/kenai.js?gcb=0&cb=6', false, [], true, false, true, false);var ezMedianet={bidder:'medianet',params:{"cid":"8CUBCB617","crid":"188911743"}};var ezCriteo={bidder:'criteo',params:{networkId:'7987'}};var ezAMX={bidder:'amx',params:{tagId:'ZXpvaWMuY29t'}};var ezYieldmo={bidder:'yieldmo',params:{placementId:'2834942196124164132'}};var ezjsps=function(obj){return JSON.parse(JSON.stringify(obj));};var epbjs=epbjs||{};epbjs.que=epbjs.que||[];epbjs.bidderTimeout=2000;epbjs.useAdj=true;epbjs.SS={"adagio":11328,"adtelligent":11316,"amx":11290,"appnexus":10087,"criteo":10050,"luponmedia":11300,"medianet":11307,"onemobile":11293,"onetag":11291,"openx":10015,"pubmatic":10061,"pulsepoint":11301,"rhythmone":11298,"rubicon":10063,"sharethrough":11309,"smartadserver":11335,"sovrn":10017,"triplelift":11296,"unruly":10097,"vidoomy":11331,"yahoossp":11318,"yieldmo":11315};epbjs.bidders=['adagio','adtelligent','amx','appnexus','criteo','luponmedia','medianet','onemobile','onetag','openx','pubmatic','pulsepoint','rhythmone','rubicon','sharethrough','smartadserver','sovrn','triplelift','unruly','vidoomy','yahoossp','yieldmo'];epbjs.que.push(function(){});epbjs.bidderSettings={};epbjs.gadj=1.000000;var __enableAnalytics=false;epbjs.testFeatures=[''];
var __s2sbidders=[];
var __s2sinstreambidders=[];
var __allBidders=['pubmatic','rubicon','medianet','appnexus','luponmedia','criteo','amx','adagio','sovrn','yieldmo','yahoossp','onemobile','rhythmone','triplelift','pulsepoint','smartadserver','onetag','openx','unruly','sharethrough','vidoomy','adtelligent'];
__ez.queue.addFile('/detroitchicago/portland.js', '/detroitchicago/portland.js?gcb=0&cb=43', true, [], true, false, true, false);var epbjs=epbjs||{};epbjs.ezAdUnits=[{bidPoolId: 'SidebarFloating_BPID',code: 'div-gpt-ad-lastminuteengineers_com-edge-2-0', ortb2Imp: {ext: {gpid: 'div-gpt-ad-lastminuteengineers_com-edge-2-0', data: {pbadslot: 'div-gpt-ad-lastminuteengineers_com-edge-2-0'}}}, mediaTypes: {banner: { sizes:[[160,600]] }}, bids: [{bidder: 'rubicon', params:{ accountId: 21150, siteId: 351284, zoneId: 1868548, bidonmultiformat: true }},ezjsps(ezMedianet),{bidder: 'appnexus', params: { placementId: '27919298', video: {skippable: true, playback_method: ['auto_play_sound_off']}}},{bidder: 'luponmedia', params: { keyId: 'uid_lastminuteengineerscom-ez', siteId: 9313 }},ezjsps(ezCriteo),ezjsps(ezAMX),{bidder: 'adagio', params: { organizationId: '1223', site: 'lastminuteengineers-com', adUnitElementId: 'div-gpt-ad-lastminuteengineers_com-edge-2-0', placement: 'edge-2', environment: 'desktop' }},ezjsps(ezYieldmo),{bidder: 'rhythmone', params: { placementId: '215626' }},{bidder: 'triplelift', params: { inventoryCode: 'ezoic_RON_instream'}}] },{bidPoolId: 'SidebarFloating_BPID',code: 'div-gpt-ad-lastminuteengineers_com-edge-1-0', ortb2Imp: {ext: {gpid: 'div-gpt-ad-lastminuteengineers_com-edge-1-0', data: {pbadslot: 'div-gpt-ad-lastminuteengineers_com-edge-1-0'}}}, mediaTypes: {banner: { sizes:[[160,600]] }}, bids: [{bidder: 'rubicon', params:{ accountId: 21150, siteId: 351284, zoneId: 1868548, bidonmultiformat: true }},ezjsps(ezMedianet),{bidder: 'appnexus', params: { placementId: '27919298', video: {skippable: true, playback_method: ['auto_play_sound_off']}}},{bidder: 'luponmedia', params: { siteId: 9313, keyId: 'uid_lastminuteengineerscom-ez' }},ezjsps(ezCriteo),ezjsps(ezAMX),{bidder: 'adagio', params: { organizationId: '1223', site: 'lastminuteengineers-com', adUnitElementId: 'div-gpt-ad-lastminuteengineers_com-edge-1-0', placement: 'edge-1', environment: 'desktop' }},ezjsps(ezYieldmo),{bidder: 'rhythmone', params: { placementId: '215626' }},{bidder: 'triplelift', params: { inventoryCode: 'ezoic_RON_instream'}}] },{bidPoolId: 'Sidebar_BPID',code: 'div-gpt-ad-lastminuteengineers_com-box-1-0', ortb2Imp: {ext: {gpid: 'div-gpt-ad-lastminuteengineers_com-box-1-0', data: {pbadslot: 'div-gpt-ad-lastminuteengineers_com-box-1-0'}}}, mediaTypes: {banner: { sizeConfig: [{minViewPort: [0,0], sizes: []},{minViewPort: [300,0], sizes: [[300,250]]}] }}, bids: [{bidder: 'pubmatic', params:{ publisherId: '156983', adSlot: 'e_sidebar_300x250' }},{bidder: 'rubicon', params:{ accountId: 21150, siteId: 351284, zoneId: 1868548, bidonmultiformat: true }},ezjsps(ezMedianet),{bidder: 'appnexus', params: { placementId: '27919298', video: {skippable: true, playback_method: ['auto_play_sound_off']}}},{bidder: 'luponmedia', params: { keyId: 'uid_lastminuteengineerscom-ez', siteId: 9313 }},ezjsps(ezCriteo),ezjsps(ezAMX),{bidder: 'adagio', params: { organizationId: '1223', site: 'lastminuteengineers-com', adUnitElementId: 'div-gpt-ad-lastminuteengineers_com-box-1-0', placement: 'box-1', environment: 'desktop' }},{bidder: 'sovrn', params: { tagid: '593577'}},ezjsps(ezYieldmo),{bidder: 'rhythmone', params: { placementId: '215626' }},{bidder: 'triplelift', params: { inventoryCode: 'Ezoic_RON_Sidebar'}}]},{bidPoolId: 'Sidebar_BPID',code: 'div-gpt-ad-lastminuteengineers_com-box-1-0_1', ortb2Imp: {ext: {gpid: 'div-gpt-ad-lastminuteengineers_com-box-1-0_1', data: {pbadslot: 'div-gpt-ad-lastminuteengineers_com-box-1-0_1'}}}, mediaTypes: {banner: { sizeConfig: [{minViewPort: [0,0], sizes: []},{minViewPort: [300,0], sizes: [[300,250]]}] }}, bids: [{bidder: 'pubmatic', params:{ publisherId: '156983', adSlot: 'e_sidebar_300x250' }},{bidder: 'rubicon', params:{ accountId: 21150, siteId: 351284, zoneId: 1868548, bidonmultiformat: true }},ezjsps(ezMedianet),{bidder: 'appnexus', params: { placementId: '27919298', video: {skippable: true, playback_method: ['auto_play_sound_off']}}},{bidder: 'luponmedia', params: { siteId: 9313, keyId: 'uid_lastminuteengineerscom-ez' }},ezjsps(ezCriteo),ezjsps(ezAMX),{bidder: 'adagio', params: { organizationId: '1223', site: 'lastminuteengineers-com', adUnitElementId: 'div-gpt-ad-lastminuteengineers_com-box-1-0_1', placement: 'box-1', environment: 'desktop' }},{bidder: 'sovrn', params: { tagid: '593577'}},ezjsps(ezYieldmo),{bidder: 'rhythmone', params: { placementId: '215626' }},{bidder: 'triplelift', params: { inventoryCode: 'Ezoic_RON_Sidebar'}}]},{bidPoolId: 'Sidebar_BPID',code: 'div-gpt-ad-lastminuteengineers_com-box-1-0_2', ortb2Imp: {ext: {gpid: 'div-gpt-ad-lastminuteengineers_com-box-1-0_2', data: {pbadslot: 'div-gpt-ad-lastminuteengineers_com-box-1-0_2'}}}, mediaTypes: {banner: { sizeConfig: [{minViewPort: [0,0], sizes: []},{minViewPort: [300,0], sizes: [[300,250]]}] }}, bids: [{bidder: 'pubmatic', params:{ publisherId: '156983', adSlot: 'e_sidebar_300x250' }},{bidder: 'rubicon', params:{ accountId: 21150, siteId: 351284, zoneId: 1868548, bidonmultiformat: true }},ezjsps(ezMedianet),{bidder: 'appnexus', params: { placementId: '27919298', video: {skippable: true, playback_method: ['auto_play_sound_off']}}},{bidder: 'luponmedia', params: { siteId: 9313, keyId: 'uid_lastminuteengineerscom-ez' }},ezjsps(ezCriteo),ezjsps(ezAMX),{bidder: 'adagio', params: { organizationId: '1223', site: 'lastminuteengineers-com', adUnitElementId: 'div-gpt-ad-lastminuteengineers_com-box-1-0_2', placement: 'box-1', environment: 'desktop' }},{bidder: 'sovrn', params: { tagid: '593577'}},ezjsps(ezYieldmo),{bidder: 'rhythmone', params: { placementId: '215626' }},{bidder: 'triplelift', params: { inventoryCode: 'Ezoic_RON_Sidebar'}}]},{bidPoolId: 'Sidebar_BPID',code: 'div-gpt-ad-lastminuteengineers_com-box-1-0_3', ortb2Imp: {ext: {gpid: 'div-gpt-ad-lastminuteengineers_com-box-1-0_3', data: {pbadslot: 'div-gpt-ad-lastminuteengineers_com-box-1-0_3'}}}, mediaTypes: {banner: { sizeConfig: [{minViewPort: [0,0], sizes: []},{minViewPort: [300,0], sizes: [[300,250]]}] }}, bids: [{bidder: 'pubmatic', params:{ publisherId: '156983', adSlot: 'e_sidebar_300x250' }},{bidder: 'rubicon', params:{ accountId: 21150, siteId: 351284, zoneId: 1868548, bidonmultiformat: true }},ezjsps(ezMedianet),{bidder: 'appnexus', params: { placementId: '27919298', video: {skippable: true, playback_method: ['auto_play_sound_off']}}},{bidder: 'luponmedia', params: { siteId: 9313, keyId: 'uid_lastminuteengineerscom-ez' }},ezjsps(ezCriteo),ezjsps(ezAMX),{bidder: 'adagio', params: { organizationId: '1223', site: 'lastminuteengineers-com', adUnitElementId: 'div-gpt-ad-lastminuteengineers_com-box-1-0_3', placement: 'box-1', environment: 'desktop' }},{bidder: 'sovrn', params: { tagid: '593577'}},ezjsps(ezYieldmo),{bidder: 'rhythmone', params: { placementId: '215626' }},{bidder: 'triplelift', params: { inventoryCode: 'Ezoic_RON_Sidebar'}}]},{bidPoolId: 'Sidebar_BPID',code: 'div-gpt-ad-lastminuteengineers_com-banner-2-0', ortb2Imp: {ext: {gpid: 'div-gpt-ad-lastminuteengineers_com-banner-2-0', data: {pbadslot: 'div-gpt-ad-lastminuteengineers_com-banner-2-0'}}}, mediaTypes: {banner: { sizes:[[160,600],[300,250],[300,600],[336,280]] }}, bids: [{bidder: 'pubmatic', params:{ publisherId: '156983', adSlot: 'e_sidebar_floating_1_160x600' }},{bidder: 'rubicon', params:{ accountId: 21150, siteId: 351284, zoneId: 1868548, bidonmultiformat: true }},ezjsps(ezMedianet),{bidder: 'appnexus', params: { placementId: '27919298', video: {skippable: true, playback_method: ['auto_play_sound_off']}}},{bidder: 'luponmedia', params: { siteId: 9313, keyId: 'uid_lastminuteengineerscom-ez' }},ezjsps(ezCriteo),ezjsps(ezAMX),{bidder: 'adagio', params: { organizationId: '1223', site: 'lastminuteengineers-com', adUnitElementId: 'div-gpt-ad-lastminuteengineers_com-banner-2-0', placement: 'banner-2', environment: 'desktop' }},{bidder: 'sovrn', params: { tagid: '593684'}},ezjsps(ezYieldmo),{bidder: 'rhythmone', params: { placementId: '215626' }},{bidder: 'triplelift', params: { inventoryCode: 'ezoic_RON_instream'}}] },{bidPoolId: 'Content_BPID_Lazy',code: 'div-gpt-ad-lastminuteengineers_com-medrectangle-2-0', ortb2Imp: {ext: {gpid: 'div-gpt-ad-lastminuteengineers_com-medrectangle-2-0', data: {pbadslot: 'div-gpt-ad-lastminuteengineers_com-medrectangle-2-0'}}}, mediaTypes: {banner: { sizes:[[728,90],[970,90]] }}, bids: [{bidder: 'pubmatic', params:{ publisherId: '156983', adSlot: 'e_bottom_floating_970x90' }},{bidder: 'rubicon', params:{ accountId: 21150, siteId: 351284, zoneId: 1868548, bidonmultiformat: true }},ezjsps(ezMedianet),{bidder: 'appnexus', params: { placementId: '27919298', video: {skippable: true, playback_method: ['auto_play_sound_off']}}},{bidder: 'luponmedia', params: { siteId: 9313, keyId: 'uid_lastminuteengineerscom-ez' }},ezjsps(ezCriteo),ezjsps(ezAMX),{bidder: 'adagio', params: { organizationId: '1223', site: 'lastminuteengineers-com', adUnitElementId: 'div-gpt-ad-lastminuteengineers_com-medrectangle-2-0', placement: 'medrectangle-2', environment: 'desktop' }},{bidder: 'sovrn', params: { tagid: '593638'}},ezjsps(ezYieldmo),{bidder: 'rhythmone', params: { placementId: '215626' }},{bidder: 'triplelift', params: { inventoryCode: 'ezoic_RON_instream'}}] },{bidPoolId: 'Content_BPID_Lazy',code: 'div-gpt-ad-lastminuteengineers_com-medrectangle-3-0', ortb2Imp: {ext: {gpid: 'div-gpt-ad-lastminuteengineers_com-medrectangle-3-0', data: {pbadslot: 'div-gpt-ad-lastminuteengineers_com-medrectangle-3-0'}}}, mediaTypes: {banner: { sizes:[[728,90]] }}, bids: [{bidder: 'pubmatic', params:{ publisherId: '156983', adSlot: 'e_under_first_paragraph_728x90' }},{bidder: 'rubicon', params:{ accountId: 21150, siteId: 351284, zoneId: 1868548, bidonmultiformat: true }},ezjsps(ezMedianet),{bidder: 'appnexus', params: { placementId: '27919298', video: {skippable: true, playback_method: ['auto_play_sound_off']}}},{bidder: 'luponmedia', params: { keyId: 'uid_lastminuteengineerscom-ez', siteId: 9313 }},ezjsps(ezCriteo),ezjsps(ezAMX),{bidder: 'adagio', params: { organizationId: '1223', site: 'lastminuteengineers-com', adUnitElementId: 'div-gpt-ad-lastminuteengineers_com-medrectangle-3-0', placement: 'medrectangle-3', environment: 'desktop' }},{bidder: 'sovrn', params: { tagid: '996065'}},ezjsps(ezYieldmo),{bidder: 'rhythmone', params: { placementId: '215626' }},{bidder: 'triplelift', params: { inventoryCode: 'Ezoic_RON_UnderFirstParagraph'}}] },{bidPoolId: 'Header_BPID',code: 'div-gpt-ad-lastminuteengineers_com-box-3-0', ortb2Imp: {ext: {gpid: 'div-gpt-ad-lastminuteengineers_com-box-3-0', data: {pbadslot: 'div-gpt-ad-lastminuteengineers_com-box-3-0'}}}, mediaTypes: {banner: { sizes:[[728,90]] }}, bids: [{bidder: 'pubmatic', params:{ publisherId: '156983', adSlot: 'e_under_page_title_728x90' }},{bidder: 'rubicon', params:{ accountId: 21150, siteId: 351284, zoneId: 1868548, bidonmultiformat: true }},ezjsps(ezMedianet),{bidder: 'appnexus', params: { placementId: '27919298', video: {skippable: true, playback_method: ['auto_play_sound_off']}}},{bidder: 'luponmedia', params: { keyId: 'uid_lastminuteengineerscom-ez', siteId: 9313 }},ezjsps(ezCriteo),ezjsps(ezAMX),{bidder: 'adagio', params: { organizationId: '1223', site: 'lastminuteengineers-com', adUnitElementId: 'div-gpt-ad-lastminuteengineers_com-box-3-0', placement: 'box-3', environment: 'desktop' }},{bidder: 'sovrn', params: { tagid: '996065'}},ezjsps(ezYieldmo),{bidder: 'rhythmone', params: { placementId: '215626' }},{bidder: 'triplelift', params: { inventoryCode: 'Ezoic_RON_UnderPageTitle'}}] },{bidPoolId: 'Content_BPID_Lazy',code: 'div-gpt-ad-lastminuteengineers_com-box-4-0', ortb2Imp: {ext: {gpid: 'div-gpt-ad-lastminuteengineers_com-box-4-0', data: {pbadslot: 'div-gpt-ad-lastminuteengineers_com-box-4-0'}}}, mediaTypes: {banner: { sizes:[[300,250],[336,280],[580,400],[728,90]] }}, bids: [{bidder: 'pubmatic', params:{ publisherId: '156983', adSlot: 'e_mid_content_580x400' }},{bidder: 'rubicon', params:{ accountId: 21150, siteId: 351284, zoneId: 1868548, bidonmultiformat: true }},ezjsps(ezMedianet),{bidder: 'appnexus', params: { placementId: '27919298', video: {skippable: true, playback_method: ['auto_play_sound_off']}}},{bidder: 'luponmedia', params: { siteId: 9313, keyId: 'uid_lastminuteengineerscom-ez' }},ezjsps(ezCriteo),ezjsps(ezAMX),{bidder: 'adagio', params: { organizationId: '1223', site: 'lastminuteengineers-com', adUnitElementId: 'div-gpt-ad-lastminuteengineers_com-box-4-0', placement: 'box-4', environment: 'desktop' }},{bidder: 'sovrn', params: { tagid: '593612'}},ezjsps(ezYieldmo),{bidder: 'rhythmone', params: { placementId: '215626' }},{bidder: 'triplelift', params: { inventoryCode: 'Ezoic_RON_InContent'}}] },{bidPoolId: 'Content_BPID_Lazy',code: 'div-gpt-ad-lastminuteengineers_com-large-mobile-banner-1-0', ortb2Imp: {ext: {gpid: 'div-gpt-ad-lastminuteengineers_com-large-mobile-banner-1-0', data: {pbadslot: 'div-gpt-ad-lastminuteengineers_com-large-mobile-banner-1-0'}}}, mediaTypes: {banner: { sizes:[[250,250],[300,250],[336,280],[580,400],[728,90]] }}, bids: [{bidder: 'pubmatic', params:{ publisherId: '156983', adSlot: 'In-Content_580x400_BTF' }},{bidder: 'rubicon', params:{ accountId: 21150, siteId: 351284, zoneId: 1868548, bidonmultiformat: true }},ezjsps(ezMedianet),{bidder: 'appnexus', params: { placementId: '27919298', video: {skippable: true, playback_method: ['auto_play_sound_off']}}},{bidder: 'luponmedia', params: { siteId: 9313, keyId: 'uid_lastminuteengineerscom-ez' }},ezjsps(ezCriteo),ezjsps(ezAMX),{bidder: 'adagio', params: { organizationId: '1223', site: 'lastminuteengineers-com', adUnitElementId: 'div-gpt-ad-lastminuteengineers_com-large-mobile-banner-1-0', placement: 'large-mobile', environment: 'desktop' }},{bidder: 'sovrn', params: { tagid: '794927'}},ezjsps(ezYieldmo),{bidder: 'rhythmone', params: { placementId: '215626' }},{bidder: 'triplelift', params: { inventoryCode: 'ezoic_RON_instream'}}] },{bidPoolId: 'Content_BPID_Lazy',code: 'div-gpt-ad-lastminuteengineers_com-large-leaderboard-2-0', ortb2Imp: {ext: {gpid: 'div-gpt-ad-lastminuteengineers_com-large-leaderboard-2-0', data: {pbadslot: 'div-gpt-ad-lastminuteengineers_com-large-leaderboard-2-0'}}}, mediaTypes: {banner: { sizes:[[300,250],[336,280],[580,400],[728,90]] }}, bids: [{bidder: 'pubmatic', params:{ publisherId: '156983', adSlot: 'e_longer_content_728x90' }},{bidder: 'rubicon', params:{ accountId: 21150, siteId: 351284, zoneId: 1868548, bidonmultiformat: true }},ezjsps(ezMedianet),{bidder: 'appnexus', params: { placementId: '27919298', video: {skippable: true, playback_method: ['auto_play_sound_off']}}},{bidder: 'luponmedia', params: { keyId: 'uid_lastminuteengineerscom-ez', siteId: 9313 }},ezjsps(ezCriteo),ezjsps(ezAMX),{bidder: 'adagio', params: { organizationId: '1223', site: 'lastminuteengineers-com', adUnitElementId: 'div-gpt-ad-lastminuteengineers_com-large-leaderboard-2-0', placement: 'large-leaderboard', environment: 'desktop' }},{bidder: 'sovrn', params: { tagid: '996065'}},ezjsps(ezYieldmo),{bidder: 'rhythmone', params: { placementId: '215626' }},{bidder: 'triplelift', params: { inventoryCode: 'ezoic_RON_instream'}}] },{bidPoolId: 'Content_BPID_Lazy',code: 'div-gpt-ad-lastminuteengineers_com-large-mobile-banner-2-0', ortb2Imp: {ext: {gpid: 'div-gpt-ad-lastminuteengineers_com-large-mobile-banner-2-0', data: {pbadslot: 'div-gpt-ad-lastminuteengineers_com-large-mobile-banner-2-0'}}}, mediaTypes: {banner: { sizes:[[300,250],[336,280],[580,400],[728,90]] }}, bids: [{bidder: 'pubmatic', params:{ publisherId: '156983', adSlot: 'In-Content_728x90_BTF' }},{bidder: 'rubicon', params:{ accountId: 21150, siteId: 351284, zoneId: 1868548, bidonmultiformat: true }},ezjsps(ezMedianet),{bidder: 'appnexus', params: { placementId: '27919298', video: {skippable: true, playback_method: ['auto_play_sound_off']}}},{bidder: 'luponmedia', params: { keyId: 'uid_lastminuteengineerscom-ez', siteId: 9313 }},ezjsps(ezCriteo),ezjsps(ezAMX),{bidder: 'adagio', params: { organizationId: '1223', site: 'lastminuteengineers-com', adUnitElementId: 'div-gpt-ad-lastminuteengineers_com-large-mobile-banner-2-0', placement: 'large-mobile', environment: 'desktop' }},{bidder: 'sovrn', params: { tagid: '996065'}},ezjsps(ezYieldmo),{bidder: 'rhythmone', params: { placementId: '215626' }},{bidder: 'triplelift', params: { inventoryCode: 'ezoic_RON_instream'}}] },{bidPoolId: 'Content_BPID_Lazy',code: 'div-gpt-ad-lastminuteengineers_com-leader-1-0', ortb2Imp: {ext: {gpid: 'div-gpt-ad-lastminuteengineers_com-leader-1-0', data: {pbadslot: 'div-gpt-ad-lastminuteengineers_com-leader-1-0'}}}, mediaTypes: {banner: { sizes:[[300,250],[336,280],[580,400],[728,90]] }}, bids: [{bidder: 'pubmatic', params:{ publisherId: '156983', adSlot: 'e_longest_content_336x280' }},{bidder: 'rubicon', params:{ accountId: 21150, siteId: 351284, zoneId: 1868548, bidonmultiformat: true }},ezjsps(ezMedianet),{bidder: 'appnexus', params: { placementId: '27919298', video: {skippable: true, playback_method: ['auto_play_sound_off']}}},{bidder: 'luponmedia', params: { siteId: 9313, keyId: 'uid_lastminuteengineerscom-ez' }},ezjsps(ezCriteo),ezjsps(ezAMX),{bidder: 'adagio', params: { organizationId: '1223', site: 'lastminuteengineers-com', adUnitElementId: 'div-gpt-ad-lastminuteengineers_com-leader-1-0', placement: 'leader-1', environment: 'desktop' }},{bidder: 'sovrn', params: { tagid: '593722'}},ezjsps(ezYieldmo),{bidder: 'rhythmone', params: { placementId: '215626' }},{bidder: 'triplelift', params: { inventoryCode: 'ezoic_RON_instream'}}] },{bidPoolId: 'Content_BPID_Lazy',code: 'div-gpt-ad-lastminuteengineers_com-banner-1-0', ortb2Imp: {ext: {gpid: 'div-gpt-ad-lastminuteengineers_com-banner-1-0', data: {pbadslot: 'div-gpt-ad-lastminuteengineers_com-banner-1-0'}}}, mediaTypes: {banner: { sizes:[[300,250],[336,280],[580,400],[728,90]] }}, bids: [{bidder: 'pubmatic', params:{ publisherId: '156983', adSlot: 'e_long_content_580x400' }},{bidder: 'rubicon', params:{ accountId: 21150, siteId: 351284, zoneId: 1868548, bidonmultiformat: true }},ezjsps(ezMedianet),{bidder: 'appnexus', params: { placementId: '27919298', video: {skippable: true, playback_method: ['auto_play_sound_off']}}},{bidder: 'luponmedia', params: { siteId: 9313, keyId: 'uid_lastminuteengineerscom-ez' }},ezjsps(ezCriteo),ezjsps(ezAMX),{bidder: 'adagio', params: { organizationId: '1223', site: 'lastminuteengineers-com', adUnitElementId: 'div-gpt-ad-lastminuteengineers_com-banner-1-0', placement: 'banner-1', environment: 'desktop' }},{bidder: 'sovrn', params: { tagid: '593667'}},ezjsps(ezYieldmo),{bidder: 'rhythmone', params: { placementId: '215626' }},{bidder: 'triplelift', params: { inventoryCode: 'Ezoic_RON_InContent'}}] },{bidPoolId: 'Content_BPID_Lazy',code: 'div-gpt-ad-lastminuteengineers_com-leader-3-0', ortb2Imp: {ext: {gpid: 'div-gpt-ad-lastminuteengineers_com-leader-3-0', data: {pbadslot: 'div-gpt-ad-lastminuteengineers_com-leader-3-0'}}}, mediaTypes: {banner: { sizes:[[300,250],[336,280],[580,400],[728,90]] }}, bids: [{bidder: 'pubmatic', params:{ publisherId: '156983', adSlot: 'In-Content_580x400_BTF' }},{bidder: 'rubicon', params:{ accountId: 21150, siteId: 351284, zoneId: 1868548, bidonmultiformat: true }},ezjsps(ezMedianet),{bidder: 'appnexus', params: { placementId: '27919298', video: {skippable: true, playback_method: ['auto_play_sound_off']}}},{bidder: 'luponmedia', params: { siteId: 9313, keyId: 'uid_lastminuteengineerscom-ez' }},ezjsps(ezCriteo),ezjsps(ezAMX),{bidder: 'adagio', params: { organizationId: '1223', site: 'lastminuteengineers-com', adUnitElementId: 'div-gpt-ad-lastminuteengineers_com-leader-3-0', placement: 'leader-3', environment: 'desktop' }},{bidder: 'sovrn', params: { tagid: '794927'}},ezjsps(ezYieldmo),{bidder: 'rhythmone', params: { placementId: '215626' }},{bidder: 'triplelift', params: { inventoryCode: 'ezoic_RON_instream'}}] },{bidPoolId: 'Content_BPID_Lazy',code: 'div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-1-0', ortb2Imp: {ext: {gpid: 'div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-1-0', data: {pbadslot: 'div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-1-0'}}}, mediaTypes: {banner: { sizes:[[300,250],[336,280],[580,400],[728,90]] }}, bids: [{bidder: 'pubmatic', params:{ publisherId: '156983', adSlot: 'In-Content_728x90_BTF' }},{bidder: 'rubicon', params:{ accountId: 21150, siteId: 351284, zoneId: 1868548, bidonmultiformat: true }},ezjsps(ezMedianet),{bidder: 'appnexus', params: { placementId: '27919298', video: {skippable: true, playback_method: ['auto_play_sound_off']}}},{bidder: 'luponmedia', params: { keyId: 'uid_lastminuteengineerscom-ez', siteId: 9313 }},ezjsps(ezCriteo),ezjsps(ezAMX),{bidder: 'adagio', params: { organizationId: '1223', site: 'lastminuteengineers-com', adUnitElementId: 'div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-1-0', placement: 'mobile-leaderboard', environment: 'desktop' }},{bidder: 'sovrn', params: { tagid: '794927'}},ezjsps(ezYieldmo),{bidder: 'rhythmone', params: { placementId: '215626' }},{bidder: 'triplelift', params: { inventoryCode: 'ezoic_RON_instream'}}] },{bidPoolId: 'Content_BPID_Lazy',code: 'div-gpt-ad-lastminuteengineers_com-medrectangle-4-0', ortb2Imp: {ext: {gpid: 'div-gpt-ad-lastminuteengineers_com-medrectangle-4-0', data: {pbadslot: 'div-gpt-ad-lastminuteengineers_com-medrectangle-4-0'}}}, mediaTypes: {banner: { sizes:[[300,250],[336,280],[468,60],[580,400],[728,90]] }}, bids: [{bidder: 'pubmatic', params:{ publisherId: '156983', adSlot: 'e_under_second_paragraph_728x90' }},{bidder: 'rubicon', params:{ accountId: 21150, siteId: 351284, zoneId: 1868548, bidonmultiformat: true }},ezjsps(ezMedianet),{bidder: 'appnexus', params: { placementId: '27919298', video: {skippable: true, playback_method: ['auto_play_sound_off']}}},{bidder: 'luponmedia', params: { keyId: 'uid_lastminuteengineerscom-ez', siteId: 9313 }},ezjsps(ezCriteo),ezjsps(ezAMX),{bidder: 'adagio', params: { organizationId: '1223', site: 'lastminuteengineers-com', adUnitElementId: 'div-gpt-ad-lastminuteengineers_com-medrectangle-4-0', placement: 'medrectangle-4', environment: 'desktop' }},{bidder: 'sovrn', params: { tagid: '996065'}},ezjsps(ezYieldmo),{bidder: 'rhythmone', params: { placementId: '215626' }},{bidder: 'triplelift', params: { inventoryCode: 'Ezoic_RON_UnderSecondParagraph'}}] },{bidPoolId: 'Content_BPID_Lazy',code: 'div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-2-0', ortb2Imp: {ext: {gpid: 'div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-2-0', data: {pbadslot: 'div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-2-0'}}}, mediaTypes: {banner: { sizes:[[300,250],[336,280],[580,400],[728,90]] }}, bids: [{bidder: 'pubmatic', params:{ publisherId: '156983', adSlot: 'In-Content_300x250_BTF' }},{bidder: 'rubicon', params:{ accountId: 21150, siteId: 351284, zoneId: 1868548, bidonmultiformat: true }},ezjsps(ezMedianet),{bidder: 'appnexus', params: { placementId: '27919298', video: {skippable: true, playback_method: ['auto_play_sound_off']}}},{bidder: 'luponmedia', params: { keyId: 'uid_lastminuteengineerscom-ez', siteId: 9313 }},ezjsps(ezCriteo),ezjsps(ezAMX),{bidder: 'adagio', params: { organizationId: '1223', site: 'lastminuteengineers-com', adUnitElementId: 'div-gpt-ad-lastminuteengineers_com-mobile-leaderboard-2-0', placement: 'mobile-leaderboard', environment: 'desktop' }},{bidder: 'sovrn', params: { tagid: '794927'}},ezjsps(ezYieldmo),{bidder: 'rhythmone', params: { placementId: '215626' }},{bidder: 'triplelift', params: { inventoryCode: 'ezoic_RON_instream'}}] },{bidPoolId: 'Content_BPID_Lazy',code: 'div-gpt-ad-lastminuteengineers_com-narrow-sky-1-0', ortb2Imp: {ext: {gpid: 'div-gpt-ad-lastminuteengineers_com-narrow-sky-1-0', data: {pbadslot: 'div-gpt-ad-lastminuteengineers_com-narrow-sky-1-0'}}}, mediaTypes: {banner: { sizes:[[300,250],[336,280],[580,400],[728,90]] }}, bids: [{bidder: 'pubmatic', params:{ publisherId: '156983', adSlot: 'In-Content_300x250_BTF' }},{bidder: 'rubicon', params:{ accountId: 21150, siteId: 351284, zoneId: 1868548, bidonmultiformat: true }},ezjsps(ezMedianet),{bidder: 'appnexus', params: { placementId: '27919298', video: {skippable: true, playback_method: ['auto_play_sound_off']}}},{bidder: 'luponmedia', params: { siteId: 9313, keyId: 'uid_lastminuteengineerscom-ez' }},ezjsps(ezCriteo),ezjsps(ezAMX),{bidder: 'adagio', params: { organizationId: '1223', site: 'lastminuteengineers-com', adUnitElementId: 'div-gpt-ad-lastminuteengineers_com-narrow-sky-1-0', placement: 'narrow-sky', environment: 'desktop' }},{bidder: 'sovrn', params: { tagid: '794927'}},ezjsps(ezYieldmo),{bidder: 'rhythmone', params: { placementId: '215626' }},{bidder: 'triplelift', params: { inventoryCode: 'ezoic_RON_instream'}}] },{bidPoolId: 'Content_BPID_Lazy',code: 'div-gpt-ad-lastminuteengineers_com-narrow-sky-2-0', ortb2Imp: {ext: {gpid: 'div-gpt-ad-lastminuteengineers_com-narrow-sky-2-0', data: {pbadslot: 'div-gpt-ad-lastminuteengineers_com-narrow-sky-2-0'}}}, mediaTypes: {banner: { sizes:[[300,250],[336,280],[580,400],[728,90]] }}, bids: [{bidder: 'pubmatic', params:{ publisherId: '156983', adSlot: 'In-Content_300x250_BTF' }},{bidder: 'rubicon', params:{ accountId: 21150, siteId: 351284, zoneId: 1868548, bidonmultiformat: true }},ezjsps(ezMedianet),{bidder: 'appnexus', params: { placementId: '27919298', video: {skippable: true, playback_method: ['auto_play_sound_off']}}},{bidder: 'luponmedia', params: { siteId: 9313, keyId: 'uid_lastminuteengineerscom-ez' }},ezjsps(ezCriteo),ezjsps(ezAMX),{bidder: 'adagio', params: { organizationId: '1223', site: 'lastminuteengineers-com', adUnitElementId: 'div-gpt-ad-lastminuteengineers_com-narrow-sky-2-0', placement: 'narrow-sky', environment: 'desktop' }},{bidder: 'sovrn', params: { tagid: '794927'}},ezjsps(ezYieldmo),{bidder: 'rhythmone', params: { placementId: '215626' }},{bidder: 'triplelift', params: { inventoryCode: 'ezoic_RON_instream'}}] },{bidPoolId: 'Content_BPID_Lazy',code: 'div-gpt-ad-lastminuteengineers_com-netboard-2-0', ortb2Imp: {ext: {gpid: 'div-gpt-ad-lastminuteengineers_com-netboard-2-0', data: {pbadslot: 'div-gpt-ad-lastminuteengineers_com-netboard-2-0'}}}, mediaTypes: {banner: { sizes:[[300,250],[336,280],[580,400],[728,90]] }}, bids: [{bidder: 'pubmatic', params:{ publisherId: '156983', adSlot: 'In-Content_300x250_BTF' }},{bidder: 'rubicon', params:{ accountId: 21150, siteId: 351284, zoneId: 1868548, bidonmultiformat: true }},ezjsps(ezMedianet),{bidder: 'appnexus', params: { placementId: '27919298', video: {skippable: true, playback_method: ['auto_play_sound_off']}}},{bidder: 'luponmedia', params: { siteId: 9313, keyId: 'uid_lastminuteengineerscom-ez' }},ezjsps(ezCriteo),ezjsps(ezAMX),{bidder: 'adagio', params: { organizationId: '1223', site: 'lastminuteengineers-com', adUnitElementId: 'div-gpt-ad-lastminuteengineers_com-netboard-2-0', placement: 'netboard-2', environment: 'desktop' }},{bidder: 'sovrn', params: { tagid: '794927'}},ezjsps(ezYieldmo),{bidder: 'rhythmone', params: { placementId: '215626' }},{bidder: 'triplelift', params: { inventoryCode: 'ezoic_RON_instream'}}] }];var ez__id5pd = 'MTA9MTEwLjIzNS4yMTkuMjEzJjEyPU1vemlsbGElMkY1LjArJTI4V2luZG93cytOVCsxMC4wJTNCK1dpbjY0JTNCK3g2NCUyOStBcHBsZVdlYktpdCUyRjUzNy4zNislMjhLSFRNTCUyQytsaWtlK0dlY2tvJTI5K0Nocm9tZSUyRjExOC4wLjAuMCtTYWZhcmklMkY1MzcuMzY=';var ez__uIdHash = '6e99cded03e988c95514f31f090e690281645f820564568c104e01aa0b0327e6';var ez__sspDomain = 'lastminuteengineers.com';</script>
<script>var __advertiserRule=[''];</script>
<script>__ez.queue.addFile('/tardisrocinante/vitals.js', '/tardisrocinante/vitals.js?gcb=0&cb=3', false, ['/parsonsmaize/mulvane.js'], true, false, true, false);</script>
<script>var _audins_dom="lastminuteengineers_com",_audins_did=354895;__ez.queue.addDelayFunc("audins.js","__ez.script.add", "//go.ezodn.com/detroitchicago/audins.js?cb=195-0");</script><noscript><div style="display:none;"><img src="//pixel.quantserve.com/pixel/p-31iz6hfFutd16.gif?labels=Domain.lastminuteengineers_com,DomainId.354895" border="0" height="1" width="1" alt="Quantcast"/></div></noscript>
<script>__ez.queue.addFile('/beardeddragon/drake.js', '/beardeddragon/drake.js?gcb=0&cb=4', false, [], true, false, true, false);</script>
<script type="text/javascript" style="display:none;">var __ez_dims = (function() {
var setCookie = function( name, content, expiry ) {
return document.cookie = name+'='+content+((expiry)?';expires='+(new Date(Math.floor(new Date().getTime()+expiry*1000)).toUTCString()):'')+';path=/';
};
var ffid = 1;
var oh = window.screen.height;
var ow = window.screen.width;
var h = ffid === 1 ? oh : (oh > ow) ? oh : ow;
var w = ffid === 1 ? ow : (oh > ow) ? ow : oh;
var uh = window.innerHeight || document.documentElement.clientHeight || document.getElementsByTagName('body')[0].clientHeight;
var uw = window.innerWidth || document.documentElement.clientWidth || document.getElementsByTagName('body')[0].clientWidth;
setCookie('ezds', encodeURIComponent('ffid='+ffid+',w='+w+',h='+h), (31536e3*7));
setCookie('ezohw', encodeURIComponent('w='+uw+',h='+uh), (31536e3*7));
})();</script>
<script type="text/javascript" style="display:none;" async="">__ez.queue.addFile('/parsonsmaize/chanute.js', '/parsonsmaize/chanute.js?a=a&cb=7&dcb=195-0&shcb=34', true, ['/parsonsmaize/mulvane.js'], true, false, false, false);</script>
<script type="text/javascript" style="display:none;" async="">__ez.queue.addFile('/porpoiseant/jellyfish.js', '/porpoiseant/jellyfish.js?a=a&cb=11&dcb=195-0&shcb=34', false, [], true, false, false, false);</script><div id="uglipop_overlay_wrapper" style="position:absolute;top:0;bottom:0;left:0;right:0;display:none"><div id="uglipop_overlay" style="position: fixed; inset: 0px; opacity: 0.3; width: 100%; height: 100%; background-color: black; display: none;"></div></div><div id="uglipop_content_fixed" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); opacity: 1; z-index: 10000000; display: none;"><div id="uglipop_popbox"></div></div><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezadloadhb.js.download" async=""></script><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/ezadloadamzn.js.download" async=""></script><div class="textads banner-ads banner_ads ad-unit ad-zone ad-space adsbox" style="height: 1px;"></div><script src="./MAX7219 LED Dot Matrix Display with Arduino_files/tag.min.js.download" async=""></script></body></html>