{"version":3,"file":"main.e16cb6a7d9009ea3.js","mappings":"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EQA,uDAAAA;IACJA,0DAAAA;;EDAJ;AACA;AAEA;AACA;;;AAOM,MAAOC,YAAP,CAAmB;EAIvBC,YAAoBC,MAApB,EAAkC;IAChC;IACA;IACA;IACA;IACA;IACA;IANkB;IAHpB,aAAQ,SAAR;IACA,cAAS,KAAT,CAEkC,CAQhC;IACA;IACA;IACA;IACA;IACA;IACA;EACD,CAnBsB,CAqBvB;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;EAEAC,QAAQ,IAAM;;AA1DS;;;mBAAZH,cAAYD,+DAAAA,CAAAA,mDAAAA;AAAA;;;QAAZC;EAAYI;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MCdzBT,wDAAAA;MAKAA,uDAAAA,kBAAyB,CAAzB,EAAyB,eAAzB,EAAyB,CAAzB,EAAyB,YAAzB;;;;MAL8BA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACC4B;AAEF;AACuB;AACb;AAElE,kBAAkB;AAC6C;AACJ;AACF;AACc;AACJ;AACD;AACT;AACE;AACA;AACW;AACf;AACuB;AACjB;AACA;AACN;AACS;AACT;AACM;AACN;AACU;AACO;AACf;AACF;AACuB;AACR;AACX;AACE;AACG;AACP;AACF;AACU;AAEmC;AAEpG,YAAY;AACmC;AACa;AACA;AACN;AACiB;AACoC;AACf;AACf;AACM;AACe;AACR;AACV;AACb;AACM;AACK;AAC0B;AACpB;AACL;AAClB;AACkB;AACsB;AACd;AACtB;AACF;AACJ;AACH;AACsB;AACf;AACN;AAC8D;AAC9D;AAC0C;AACpC;AACc;AACyB;AACvB;AACG;AACD;AACZ;AACiB;AACsB;AACjD;AACwB;AACkB;;AAyG9F,MAAM,SAAS;;kEAAT,SAAS;uGAAT,SAAS,cAFR,wDAAY;4GAPb,CAAC,+EAAq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QAMrB,iEAAI;QACJ,8GAgEM;QAEV,4DAAM;;QA3IgB,4EAAY;QA0BxB,2DAAmB;QAAnB,gFAAmB;QAO0B,0DAAS;QAAT,+EAAS;QA0BiB,2DAA2B;QAA3B,wFAA2B;QAc/E,0DAA8B;QAA9B,gGAA8B;;;;;;;;;;;;;;;;;ACzE5D,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,uBAAuB;IAC/B,cAAc,EAAE,cAAc;IAC9B,gBAAgB,EAAE,aAAa;IAC/B,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE,6CAA6C;IAC1D,WAAW,EAAE,QAAQ;IACrB,SAAS,EAAE;QACT,OAAO,EAAE,0CAA0C;KACpD;CACF,CAAC;;;;;;;;;;;;;;;;;;ACX6C;AAGF;AACY;AAEzD,IAAI,6EAAsB,EAAE;IAC1B,6DAAc,EAAE,CAAC;CAClB;AAED,wEAAwB,CAAC,eAAe,CAAC,sDAAS,CAAC;KAChD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;ACXpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/bill-of-lading/bill-of-lading.component.ts","./src/app/bill-of-lading/bill-of-lading.component.html","./src/app/careers/careers.component.ts","./src/app/careers/careers.component.html","./src/app/company/aboutus/aboutus.component.ts","./src/app/company/aboutus/aboutus.component.html","./src/app/company/corevalue/corevalue.component.ts","./src/app/company/corevalue/corevalue.component.html","./src/app/company/credentials/credentials.component.ts","./src/app/company/credentials/credentials.component.html","./src/app/company/managementteam/managementteam.component.ts","./src/app/company/managementteam/managementteam.component.html","./src/app/company/testimonials/testimonials.component.ts","./src/app/company/testimonials/testimonials.component.html","./src/app/contact/contact.component.ts","./src/app/contact/contact.component.html","./src/app/core/model/accordion-content.model.ts","./src/app/core/model/blog-content.model.ts","./src/app/core/model/blogItem-content.model.ts","./src/app/core/model/link-content.model.ts","./src/app/core/model/menu-content.model.ts","./src/app/core/model/notification.model.ts","./src/app/core/model/page-content.model.ts","./src/app/core/model/page-header.model.ts","./src/app/core/model/rich-text-options.model.ts","./src/app/core/service/contentful.service.ts","./src/app/footer/footer.component.ts","./src/app/footer/footer.component.html","./src/app/home/home.component.ts","./src/app/home/home.component.html","./src/app/navbar/navbar.component.ts","./src/app/navbar/navbar.component.html","./src/app/news/blog/blog-post/blog-post.component.ts","./src/app/news/blog/blog-post/blog-post.component.html","./src/app/news/blog/blog.component.ts","./src/app/news/blog/blog.component.html","./src/app/news/videos/videos.component.ts","./src/app/news/videos/videos.component.html","./src/app/quote/live-quote/live-quote.component.ts","./src/app/quote/live-quote/live-quote.component.html","./src/app/quote/live-quote/tl-tender-quote/tl-tender-quote.component.ts","./src/app/quote/live-quote/tl-tender-quote/tl-tender-quote.component.html","./src/app/quote/quote.component.ts","./src/app/quote/quote.component.html","./src/app/resources/documents/documents.component.ts","./src/app/resources/documents/documents.component.html","./src/app/resources/holiday-schedule/holiday-schedule.component.ts","./src/app/resources/holiday-schedule/holiday-schedule.component.html","./src/app/resources/resources/resources.component.ts","./src/app/resources/resources/resources.component.html","./src/app/resources/service-updates/services.component.ts","./src/app/resources/service-updates/services.component.html","./src/app/resources/tms/tms.component.ts","./src/app/resources/tms/tms.component.html","./src/app/services/contract-logistics/contract-logistics.component.ts","./src/app/services/contract-logistics/contract-logistics.component.html","./src/app/services/customs-clearance/customs-clearance.component.ts","./src/app/services/customs-clearance/customs-clearance.component.html","./src/app/services/expedited/expedited.component.ts","./src/app/services/expedited/expedited.component.html","./src/app/services/final-mile/final-mile.component.ts","./src/app/services/final-mile/final-mile.component.html","./src/app/services/finalmile-questionnaire/finalmile-questionnaire.component.ts","./src/app/services/finalmile-questionnaire/finalmile-questionnaire.component.html","./src/app/services/international/international.component.ts","./src/app/services/international/international.component.html","./src/app/services/linkex.service.service.ts","./src/app/services/pool-distribution/pool-distribution.component.ts","./src/app/services/pool-distribution/pool-distribution.component.html","./src/app/services/service-offering/service-offering.component.ts","./src/app/services/service-offering/service-offering.component.html","./src/app/services/transloading/transloading.component.ts","./src/app/services/transloading/transloading.component.html","./src/app/services/truckload-brokerage/truckload-brokerage.component.ts","./src/app/services/truckload-brokerage/truckload-brokerage.component.html","./src/app/services/warehousing/warehousing.component.ts","./src/app/services/warehousing/warehousing.component.html","./src/app/shared/directives/image-directive.ts","./src/app/shared/models/contentful/constants.contentful.ts","./src/app/shared/time-picker/time-picker.component.ts","./src/app/shared/time-picker/time-picker.component.html","./src/app/shared/timepicker/timepicker.component.ts","./src/app/shared/timepicker/timepicker.component.html","./src/app/sitemap/sitemap.component.ts","./src/app/sitemap/sitemap.component.html","./src/app/trackship/details/details.component.ts","./src/app/trackship/details/details.component.html","./src/app/trackship/track/track.component.ts","./src/app/trackship/track/track.component.html","./src/environments/environment.prod.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import { Component, NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { HomeComponent } from './home/home.component';\nimport { AboutusComponent } from './company/aboutus/aboutus.component';\nimport { TruckloadBrokerageComponent } from './services/truckload-brokerage/truckload-brokerage.component';\nimport { ManagementteamComponent } from './company/managementteam/managementteam.component';\nimport { CorevalueComponent } from './company/corevalue/corevalue.component';\nimport { TestimonialsComponent } from './company/testimonials/testimonials.component';\nimport { CredentialsComponent } from './company/credentials/credentials.component';\nimport { ServiceOfferingComponent } from './services/service-offering/service-offering.component';\nimport { InternationalComponent } from './services/international/international.component';\nimport { FinalMileComponent } from './services/final-mile/final-mile.component';\nimport { TrackComponent } from './trackship/track/track.component';\nimport { DetailsComponent } from './trackship/details/details.component';\nimport { ContractLogisticsComponent } from './services/contract-logistics/contract-logistics.component';\nimport { ExpeditedComponent } from './services/expedited/expedited.component';\nimport { WarehousingComponent } from \"./services/warehousing/warehousing.component\";\nimport { DocumentsComponent } from './resources/documents/documents.component';\nimport { TmsComponent } from './resources/tms/tms.component';\nimport { PoolDistributionComponent } from './services/pool-distribution/pool-distribution.component';\nimport { TransloadingComponent } from './services/transloading/transloading.component';\nimport { VideosComponent } from './news/videos/videos.component';\nimport { ResourcesComponent } from './resources/resources/resources.component';\nimport { CareersComponent } from './careers/careers.component';\nimport { BlogComponent } from './news/blog/blog.component';\nimport { BlogPostComponent } from './news/blog/blog-post/blog-post.component';\nimport { ContactComponent } from './contact/contact.component';\nimport { QuoteComponent } from './quote/quote.component';\nimport { config } from 'rxjs';\nimport { finalmileQuestionnaireComponent } from './services/finalmile-questionnaire/finalmile-questionnaire.component';\nimport { HolidayScheduleComponent } from './resources/holiday-schedule/holiday-schedule.component';\nimport { SitemapComponent } from './sitemap/sitemap.component';\nimport { LiveQuoteComponent } from './quote/live-quote/live-quote.component';\nimport { TlTenderQuoteComponent } from './quote/live-quote/tl-tender-quote/tl-tender-quote.component';\nimport { BillOfLadingComponent } from './bill-of-lading/bill-of-lading.component';\nimport { ServicesComponent } from './resources/service-updates/services.component';\nimport { CustomsClearanceComponent } from './services/customs-clearance/customs-clearance.component';\n\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: '/home' },\n { path: 'home', component: HomeComponent },\n { path: 'company', component: AboutusComponent },\n { path: 'truckload-brokerage', component: TruckloadBrokerageComponent },\n { path: 'management-team', component: ManagementteamComponent },\n { path: 'core-values', component: CorevalueComponent },\n { path: 'linkex-testimonials', component: TestimonialsComponent },\n { path: 'credentials-affiliations', component: CredentialsComponent },\n { path: 'service-offering', component: ServiceOfferingComponent },\n { path: 'international-shipping', component: InternationalComponent },\n { path: 'final-mile', component: FinalMileComponent },\n { path: 'track', component: TrackComponent },\n { path: 'details', component: DetailsComponent },\n { path: 'contract-logistics', component: ContractLogisticsComponent },\n { path: 'expedited-delivery', component: ExpeditedComponent },\n { path: 'warehousing', component: WarehousingComponent },\n { path: 'documents', component: DocumentsComponent },\n { path: 'linkex-tms', component: TmsComponent },\n { path: 'pool-distribution', component: PoolDistributionComponent },\n { path: 'drayage-transloading', component: TransloadingComponent },\n { path: 'videos', component: VideosComponent },\n { path: 'resources', component: ResourcesComponent },\n { path: 'careers', component: CareersComponent },\n { path: 'news', component: BlogComponent },\n { path: 'news-post', component: BlogPostComponent },\n { path: 'contact', component: ContactComponent },\n { path: 'quote', component: QuoteComponent },\n { path: 'finalmile-questionnaire', component: finalmileQuestionnaireComponent },\n { path: 'holiday-schedule', component: HolidayScheduleComponent },\n { path: 'sitemap', component: SitemapComponent },\n { path: 'live-quote', component: LiveQuoteComponent },\n { path: 'tl-tender-quote', component: TlTenderQuoteComponent },\n { path: 'bol', component: BillOfLadingComponent },\n { path: 'services', component: ServicesComponent },\n { path: 'customs-clearance', component: CustomsClearanceComponent }\n\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, { scrollPositionRestoration: 'enabled' })],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs/operators';\n// import { environmentProd } from '../environments/environment.prod';\n// import { environmentPilot } from '../environments/environment.pilot';\n\n// type GTagFunction = (command: string, eventName: string, options?: any) => void;\n// declare var gtag: GTagFunction;\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit {\n title = 'website';\n loader = false;\n\n constructor(private router: Router) {\n // const containerIdProd = environmentProd.GTM_CONTAINER_ID;\n // const containerIdPilot = environmentPilot.GTM_CONTAINER_ID;\n // this.addGAScriptProd();\n // this.addGAScriptPilot();\n // this.addGTMScriptProd(containerIdProd);\n // this.addGTMScriptPilot(containerIdPilot);\n\n // this.router.events.pipe(\n // filter((event: any) => event instanceof NavigationEnd)\n // ).subscribe((event: NavigationEnd) => {\n // gtag('event', 'page_view', {\n // page_path: event.urlAfterRedirects\n // });\n // });\n }\n\n // addGAScriptProd() {\n // let gtagScript: HTMLScriptElement = document.createElement('script');\n // gtagScript.async = true;\n // gtagScript.src = 'https://www.googletagmanager.com/gtag/js?id=' + environmentProd.GA_TRACKING_ID;\n // document.head.prepend(gtagScript);\n // gtag('config', environmentProd.GA_TRACKING_ID, { send_page_view: false });\n // }\n\n // addGAScriptPilot() {\n // let gtagScript: HTMLScriptElement = document.createElement('script');\n // gtagScript.async = true;\n // gtagScript.src = 'https://www.googletagmanager.com/gtag/js?id=' + environmentPilot.GA_TRACKING_ID;\n // document.head.prepend(gtagScript);\n // gtag('config', environmentPilot.GA_TRACKING_ID, { send_page_view: false });\n // }\n\n\n // addGTMScriptProd(containerIdProd: string) {\n // let gtmScript: HTMLScriptElement = document.createElement('script');\n // gtmScript.innerHTML = `(function(w,d,s,l,i){\n // w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});\n // var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';\n // j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\n // })(window,document,'script','dataLayer','${containerIdProd}');`;\n // document.head.prepend(gtmScript);\n // }\n\n // addGTMScriptPilot(containerIdPilot: string) {\n // let gtmScript: HTMLScriptElement = document.createElement('script');\n // gtmScript.innerHTML = `(function(w,d,s,l,i){\n // w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});\n // var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';\n // j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\n // })(window,document,'script','dataLayer','${containerIdPilot}');`;\n // document.head.prepend(gtmScript);\n // }\n\n ngOnInit() { }\n\n}\n","
\n
\n
\n
\n
\n\n\n\n","import { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n// Mat-UI Modules \nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatListModule } from '@angular/material/list';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatPaginatorModule } from '@angular/material/paginator';\n\nimport { NgMaterialMultilevelMenuModule, MultilevelMenuService } from 'ng-material-multilevel-menu';\n\n//Components\nimport { AppComponent } from './app.component';\nimport { NavbarComponent } from './navbar/navbar.component';\nimport { FooterComponent } from './footer/footer.component';\nimport { HomeComponent } from './home/home.component';\nimport { AboutusComponent } from './company/aboutus/aboutus.component';\nimport { TruckloadBrokerageComponent } from './services/truckload-brokerage/truckload-brokerage.component';\nimport { ManagementteamComponent } from './company/managementteam/managementteam.component';\nimport { CorevalueComponent } from './company/corevalue/corevalue.component';\nimport { CredentialsComponent } from './company/credentials/credentials.component';\nimport { ServiceOfferingComponent } from './services/service-offering/service-offering.component';\nimport { InternationalComponent } from './services/international/international.component';\nimport { FinalMileComponent } from './services/final-mile/final-mile.component';\nimport { TrackComponent } from './trackship/track/track.component';\nimport { DetailsComponent } from './trackship/details/details.component';\nimport { ExpeditedComponent } from './services/expedited/expedited.component';\nimport { ContractLogisticsComponent } from './services/contract-logistics/contract-logistics.component';\nimport { WarehousingComponent } from './services/warehousing/warehousing.component';\nimport { DocumentsComponent } from './resources/documents/documents.component';\nimport { TmsComponent } from './resources/tms/tms.component';\nimport { ResourcesComponent } from './resources/resources/resources.component';\nimport { PoolDistributionComponent } from './services/pool-distribution/pool-distribution.component';\nimport { TransloadingComponent } from './services/transloading/transloading.component';\nimport { VideosComponent } from './news/videos/videos.component';\nimport { CareersComponent } from './careers/careers.component';\nimport { BlogComponent } from './news/blog/blog.component';\nimport { HttpClientModule } from '@angular/common/http';\nimport { BlogPostComponent } from './news/blog/blog-post/blog-post.component';\nimport { ContactComponent } from './contact/contact.component';\nimport { QuoteComponent } from './quote/quote.component';\nimport { finalmileQuestionnaireComponent } from './services/finalmile-questionnaire/finalmile-questionnaire.component';\nimport { CommonModule, DatePipe } from '@angular/common';\nimport { HolidayScheduleComponent } from './resources/holiday-schedule/holiday-schedule.component';\nimport { SitemapComponent } from './sitemap/sitemap.component';\nimport { LiveQuoteComponent } from './quote/live-quote/live-quote.component';\nimport { TlTenderQuoteComponent } from './quote/live-quote/tl-tender-quote/tl-tender-quote.component';\nimport { TimepickerComponent } from './shared/timepicker/timepicker.component';\nimport { BillOfLadingComponent } from './bill-of-lading/bill-of-lading.component';\nimport { TimePickerComponent } from './shared/time-picker/time-picker.component';\nimport { ImageDirective } from './shared/directives/image-directive';\nimport { TestimonialsComponent } from './company/testimonials/testimonials.component';\nimport { RECAPTCHA_SETTINGS, RecaptchaFormsModule, RecaptchaModule, RecaptchaSettings } from 'ng-recaptcha';\nimport { environment } from 'src/environments/environment';\nimport { ServicesComponent } from './resources/service-updates/services.component';\nimport { CustomsClearanceComponent } from './services/customs-clearance/customs-clearance.component';\n\n\n\n@NgModule({\n declarations: [\n AppComponent,\n NavbarComponent,\n FooterComponent,\n HomeComponent,\n AboutusComponent,\n TruckloadBrokerageComponent,\n ManagementteamComponent,\n CorevalueComponent,\n CredentialsComponent,\n TestimonialsComponent,\n ServiceOfferingComponent,\n InternationalComponent,\n FinalMileComponent,\n TrackComponent,\n DetailsComponent,\n ExpeditedComponent,\n ContractLogisticsComponent,\n WarehousingComponent,\n DocumentsComponent,\n TmsComponent,\n ResourcesComponent,\n PoolDistributionComponent,\n TransloadingComponent,\n VideosComponent,\n CareersComponent,\n BlogComponent,\n BlogPostComponent,\n CareersComponent,\n ContactComponent,\n QuoteComponent,\n finalmileQuestionnaireComponent,\n HolidayScheduleComponent,\n SitemapComponent,\n LiveQuoteComponent,\n TlTenderQuoteComponent,\n TimepickerComponent,\n BillOfLadingComponent,\n TimePickerComponent,\n ImageDirective,\n ServicesComponent,\n CustomsClearanceComponent\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n BrowserAnimationsModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule,\n CommonModule,\n RecaptchaModule,\n RecaptchaFormsModule,\n\n // Mat-UI \n MatCheckboxModule,\n MatButtonModule,\n MatInputModule,\n MatAutocompleteModule,\n MatDatepickerModule,\n MatFormFieldModule,\n MatRadioModule,\n MatSelectModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatMenuModule,\n MatNativeDateModule,\n MatRippleModule,\n MatSidenavModule,\n MatToolbarModule,\n MatListModule,\n MatGridListModule,\n MatCardModule,\n MatStepperModule,\n MatTabsModule,\n MatExpansionModule,\n MatButtonToggleModule,\n MatChipsModule,\n MatIconModule,\n MatProgressSpinnerModule,\n MatProgressBarModule,\n MatDialogModule,\n MatTooltipModule,\n MatSnackBarModule,\n MatTableModule,\n MatSortModule,\n MatPaginatorModule,\n\n //Third party\n NgMaterialMultilevelMenuModule\n ],\n providers: [MultilevelMenuService, NavbarComponent, DatePipe, {\n provide: RECAPTCHA_SETTINGS,\n useValue: { \n siteKey: environment.recaptcha.siteKey,\n } as RecaptchaSettings,\n },\n],\n bootstrap: [AppComponent],\n})\nexport class AppModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { jsPDF } from 'jspdf';\nimport html2canvas from 'html2canvas';\nimport { xml2json } from 'xml-js'\nimport 'jspdf-autotable';\nimport { Location } from '@angular/common';\n@Component({\n selector: 'app-bill-of-lading',\n templateUrl: './bill-of-lading.component.html',\n styleUrls: ['./bill-of-lading.component.scss']\n})\nexport class BillOfLadingComponent implements OnInit {\n private pdf: any;\n private yMargin = 0;\n loader: boolean = false;\n bol!: FormGroup;\n bolData: any = null;\n totalWeight: string = 'NA';\n totalItems: string = 'NA';\n distance: string = '0.0';\n constructor(private formBuilder: FormBuilder, private router: Router, private location: Location) {\n const storedData = localStorage.getItem('bolData');\n if (storedData) {\n this.bolData = JSON.parse(storedData);\n } else {\n if (this.router.getCurrentNavigation()?.extras.state) {\n this.bolData = this.router.getCurrentNavigation()?.extras.state;\n if (this.bolData) {\n this.bolData = this.bolData.bolData ? JSON.parse(this.bolData.bolData) : '';\n localStorage.setItem('bolData', JSON.stringify(this.bolData));\n }\n }\n }\n this.totalItems = this.bolData.tenderPayload.items.reduce((accu: number, item: any) => accu + Number(item.quantity), 0);\n this.totalWeight = this.bolData.tenderPayload.items.reduce((accu: number, item: any) => accu + Number(item.weight), 0);\n \n // if(this.bolData.liveRateQuoteData?.jsonResponse?.quote?.distance) {\n // this.distance = Number(this.bolData.liveRateQuoteData.jsonResponse.quote.distance || 0).toFixed(1);\n // } else {\n // this.distance = Number(this.bolData.liveRateQuoteData?.quote?.distance || 0).toFixed(1);\n // }\n if(this.bolData.bolInfo.xmlResponse) {\n let bolTenderdata:any = xml2json(this.bolData.bolInfo.xmlResponse, {compact: true, spaces: 4});\n bolTenderdata = JSON.parse(bolTenderdata);\n let base64info = JSON.parse(xml2json(atob(bolTenderdata['service-response'].data._text), {compact: true, spaces: 4}));\n let shipmentDistance = base64info?.MercuryGate?.MasterBillOfLading?.Shipments?.Shipment?.PriceSheets?.PriceSheet?.Carrier?.Distance?._text || 0;\n let exeDistance = base64info?.MercuryGate?.MasterBillOfLading?.ExecutionLoads?.MasterBillOfLading?.PriceSheets?.PriceSheet?.Carrier?.Distance?._text || 0;\n this.distance = Number(shipmentDistance) > Number(exeDistance) ? Number(shipmentDistance).toFixed(1): Number(exeDistance).toFixed(1);\n }\n this.bol = this.formBuilder.group({\n frightChargeItem: ['third-party'],\n masterBillofLading: [''],\n trailerLoaded: [''],\n freightCounted: ['']\n })\n }\n\n ngOnInit(): void {\n this.location.subscribe((event) => {\n // Prevent the default back navigation behavior\n this.location.forward();\n });\n }\n async printBolDocument(): Promise {\n if (!this.pdf) {\n await this.createPdfForIe();\n const htmlData: any = this.getById('bol-info-section');\n htmlData.style.background = \"#F6F6F6\"\n }\n const pdfData = this.pdf.output('datauristring');\n const iframe = '';\n let newWindow = window.open();\n newWindow?.document.open();\n newWindow?.document.write(iframe);\n newWindow?.document.close();\n }\n\n async downloadBOL(): Promise {\n if (!this.pdf) {\n await this.createPdfForIe();\n const htmlData: any = this.getById('bol-info-section');\n htmlData.style.background = \"#F6F6F6\"\n }\n this.pdf.save('BOL_' + this.bolData.bolInfo.resp.customerLoadNum + '.pdf');\n }\n private async createPdfForIe() {\n this.pdf = new jsPDF('p', 'mm', 'a4', true);\n await this.addTableInfoToPdf('bol-info-section');\n }\n private async addTableInfoToPdf(id: string) {\n const headerY = this.yMargin;\n const tableY = headerY + .1;\n this.setPdfFont('Helvetica', 'normal', 12, '#212529');\n const htmlData: any = this.getById(id);\n htmlData.style.background = \"#ffffff\"\n let that = this\n return html2canvas(htmlData).then((canvas) => {\n let fileWidth = 220;\n let fileHeight = (canvas.height * fileWidth) / canvas.width;\n const FILEURI = canvas.toDataURL('image/png');\n let position = 0;\n that.pdf.addImage(FILEURI, 'PNG', -5, position, fileWidth, fileHeight, undefined, 'FAST');\n return true;\n });\n }\n private setPdfFont(name: string, style: string, size?: number, color?: string) {\n this.pdf.setFont(name, style);\n this.pdf.setFontSize(size);\n this.pdf.setTextColor(color);\n }\n private getById(id: string) {\n return document.getElementById(id);\n }\n}\n","
\n
\n
\n
\n
\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n
  3. Quote Details
  4. \n
  5. Accept Quote
  6. \n
  7. BOL
  8. \n
\n
\n
\n
\n\n\n\n
\n
\n\n
\n\n
\n
\n\n
\n Thank you for your business. A member of our Truckload Team will contact you shortly.\n
\n\n
\n
\n\n
\n\n
\n
\n
\n
\n\n
\n\n
\n \"\"\n
\n
\n

Load #: {{bolData.bolInfo.resp.customerLoadNum}}

\n
\n
\n\n
\n\n
\n\n
\n
\n
\n
\n Ship From\n
\n
\n Name: {{bolData.tenderPayload.pickup.location.name || ''}}
\n Address: {{bolData.tenderPayload.pickup.location.address1 || ''}} {{bolData.tenderPayload.pickup.location.address2 || ''}}
\n City/State/Zip: {{bolData.tenderFormValue.pickupShipperCity || ''}}/{{bolData.tenderFormValue.pickupShipperState || ''}}/{{bolData.tenderPayload.pickup.location.zip || ''}}
\n Contact Email: {{bolData.tenderFormValue.pickupEmail || ''}}
\n Phone: {{bolData.tenderFormValue.pickupPhone || ''}}
\n Shipper Ref: {{bolData.tenderFormValue.shipperReference || ''}} \n
\n
\n
\n\n
\n
\n
\n Ship To\n
\n
\n Name: {{bolData.tenderPayload.dropoff.location.name}}
\n Address: {{bolData.tenderPayload.dropoff.location.address1}} {{bolData.tenderPayload.dropoff.location.address2}}
\n City/State/Zip: {{bolData.tenderFormValue.deliveryCity || ''}}/{{bolData.tenderFormValue.deliveryState || ''}}/{{bolData.tenderPayload.dropoff.location.zip}}
\n Contact Email: {{bolData.tenderFormValue.deliveryEmail || ''}}
\n Phone: {{bolData.tenderFormValue.deliveryPhone || ''}}
\n Consignee Ref: {{bolData.tenderFormValue.consigneeReference || ''}} \n
\n
\n
\n\n\n
\n
\n
\n Bill Freight Charges To\n
\n
\n Name: {{bolData.tenderPayload.billTo.name || ''}}
\n Address: {{bolData.tenderPayload.billTo.address1 || ''}} {{bolData.tenderPayload.billTo.address2 || ''}}
\n City/State/Zip: {{bolData.tenderPayload.billTo.city}} {{bolData.tenderPayload.billTo.state\n }} {{bolData.tenderPayload.billTo.zip}}
\n Billing Ref: {{bolData.tenderFormValue.billingReference || ''}} \n
\n
\n
\n\n
\n
\n
\n References\n
\n
\n Accessorials:
\n Carrier Name:
\n Trailer Number:
\n Seal Number(s):
\n Pickup Date: {{bolData.tenderFormValue.pickupDate || ''}}
\n Delivery Date: {{bolData.tenderFormValue.deliveryDate || ''}}
\n Miles: {{distance}} \n
\n
\n
\n
\n\n
\n\n
\n
\n

Inspect before delivery. Call LinkEx for disposition if damage is identified and do not attempt delivery, 972-481-9900

\n
\n
\n\n
\n
\n
\n
\n Special Instructions: {{bolData.tenderFormValue.specialInstruction || ''}}
\n
\n
\n
\n\n
\n
\n
\n Freight Charge Terms: (freight charges are prepaid unless marked otherwise)
\n\n
\n \n Prepaid\n Collect\n 3rd Party\n \n
\n\n\n
\n Master Bill of Lading: with attached
Underlying Bills of Lading
\n
\n
\n
\n
\n\n
\n\n

\n\n
\n
\n\n
\n Customer Order Information\n
\n\n
\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n
\n Item ID\n \n #PCS\n \n Piece Type\n \n Weight\n \n DIMs\n \n Description\n
\n {{item.name}}\n \n {{item.quantity}}\n \n {{item.quantityType}}\n \n {{item.weight}} lbs\n \n {{ (item.dimension.length && item.dimension.width && item.dimension.height) ? item.dimension.length +' X '+item.dimension.width+' X ' +item.dimension.height+' In': ''}}\n \n {{item.name}}\n
\n Grand Total\n \n {{totalItems}} \n \n\n \n {{totalWeight}} lbs\n \n\n \n\n
\n
\n
\n
\n\n

\n\n
\n
\n
\n \n\n \n \n \n\n \n \n\n \n \n
\n NOTE Liability Limitation for loss or damage is this shipment may be applicable. See 49 U.S.C. 14706(c)(1)(A) and (B).\n
\n RECEIVED, subject to individually determined rates or contracts that have been agreed upon in writing between the carrier and shipper, if applicable, otherwise to the rates, classifications and rules that have been established by the carrier and are available to the shipper, on request. The shipper hereby certifies that he/she is familiar with all the terms and conditions of the NMFC Uniform Straight Bill of Lading, including those on the back thereof, and the said terms and conditions are hereby agreed to by the shipper and accepted for him/herself and his/her assigns.\n \n The carrier shall not make delivery of this shipment without payment of freight and all other lawful charges.\n
\n\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n SHIPPER SIGNATURE / DATE\n \n Trailer Loaded:\n \n Freight Counted:\n \n CARRIER SIGNATURE / PICKUP DATE\n
\n This is to certify that the above named materials areproperly classified, packaged, marked and labeled, and are in proper condition for transportation according to the applicable regulations of the DOT.\n \n
\n \n By Shipper\n By Driver\n \n
\n
\n
\n \n By Shipper\n By Driver / Pallet Said to Contain\n By Driver / Pieces\n \n
\n
\n Carrier acknowledges receipt of packages and required placards. Carrier certifies emergency response information was made available and/or carrier has the DOT emergency response guidebook or equivalent documentation in the vehicle.\n Property described above is received in good order, except as noted.\n
\n
\n
\n
\n\n
\n\n \n\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { PageContentModel } from '../core/model/page-content.model';\nimport { PageHeaderContentModel } from '../core/model/page-header.model';\nimport { ContentfulService } from '../core/service/contentful.service';\n\n@Component({\n selector: 'app-careers',\n templateUrl: './careers.component.html',\n styleUrls: ['./careers.component.scss']\n})\nexport class CareersComponent implements OnInit {\n pageContent!: PageContentModel;\n pageHeader!: PageHeaderContentModel;\n constructor(private contentfulService: ContentfulService, private sanitizer: DomSanitizer) { }\n\n ngOnInit(): void {\n this.loadBodyEntries();\n this.loadHeaderEntries();\n }\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Careers Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'Careers Content').subscribe(\n (entry) => {\n this.pageContent = new PageContentModel(entry);\n this.pageContent.description = this.pageContent.description.replace(/]*?\\s+)?href=\"([^\"]*)\"([^>]*)>/g, '');\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader.breadCrumbs.split(',').map(breadcrumb => breadcrumb.trim());\n }\n}\n","\n
\n

{{pageHeader.heroImageTitle}}

\n
\n\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n \n
  3. \n {{ breadcrumb }}\n
  4. \n
    \n
\n
\n
\n
\n\n\n
\n
\n
\n\n

\n {{pageContent.header}}\n

\n\n
\n\n \n
\n\n
\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { ContentfulService } from '../../core/service/contentful.service';\nimport { PageContentModel } from '../../core/model/page-content.model';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { PageHeaderContentModel } from 'src/app/core/model/page-header.model';\n\ninterface PageContentListItem {\n value: any;\n nodeType: string;\n}\n\n@Component({\n selector: 'app-aboutus',\n templateUrl: './aboutus.component.html',\n styleUrls: ['./aboutus.component.scss']\n})\n\nexport class AboutusComponent implements OnInit {\n panelOpenState: boolean = false;\n\n robart: boolean = false;\n linkex: boolean = false;\n saia: boolean = false;\n saiaEx: boolean = false;\n\n entry: any;\n contentfulSysFields: any;\n pageContent!: PageContentModel;\n pageHeader!: PageHeaderContentModel;\n\n @Input() pageHeaderContent!: PageHeaderContentModel;\n\n toggleState() {\n if (this.robart === true || this.linkex === true || this.saia === true || this.saiaEx === true) {\n this.robart = false;\n this.linkex = false;\n this.saia = false;\n this.saiaEx = false;\n }\n }\n\n constructor(private contentfulService: ContentfulService, private sanitizer: DomSanitizer, private router: Router) {\n this.contentfulSysFields = this.contentfulService.getContentfulSysFields();\n }\n\n ngOnInit(): void {\n this.loadBodyEntries();\n this.loadHeaderEntries();\n\n // this.router.events.subscribe(event => {\n // if (event instanceof NavigationEnd) {\n // console.log(event.url);\n // this.contentfulSysFields = this.contentfulService.getContentfulSysFields();\n // }\n // });\n }\n\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'Company Page Content').subscribe(\n (entry) => {\n this.pageContent = new PageContentModel(entry);\n // console.log(this.pageContent);\n\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Company Page Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n // console.log(this.pageHeader);\n\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader.breadCrumbs.split(',').map(breadcrumb => breadcrumb.trim());\n }\n\n get sanitizedDescription(): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(this.pageContent.description);\n }\n\n get sanitizedAccordionItems(): SafeHtml[] {\n if (this.pageContent && this.pageContent.accordion && this.pageContent.accordion.accordionItems) {\n return this.pageContent.accordion.accordionItems.map(item => this.sanitizer.bypassSecurityTrustHtml(item.description));\n }\n return [];\n }\n\n\n\n}\n","\n
\n

{{pageHeader.heroImageTitle}}

\n
\n\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n \n
  3. \n {{ breadcrumb }}\n
  4. \n
    \n
\n
\n
\n
\n\n\n\n
\n
\n
\n\n

\n {{ pageContent.header }}\n

\n\n
\n
\n
\n\n

\n {{ pageContent.accordion.accordionHeader }}\n

\n\n \n \n \n \n {{ accordionItem.header }}\n \n \n\n
\n
\n \n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { PageContentModel } from 'src/app/core/model/page-content.model';\nimport { PageHeaderContentModel } from 'src/app/core/model/page-header.model';\nimport { ContentfulService } from 'src/app/core/service/contentful.service';\n\n@Component({\n selector: 'app-corevalue',\n templateUrl: './corevalue.component.html',\n styleUrls: ['./corevalue.component.scss']\n})\n\nexport class CorevalueComponent implements OnInit {\n\n customerFirst: boolean = false;\n safty: boolean = false;\n takingCareOfEachOther: boolean = false;\n dignityRespect: boolean = false;\n doTheRight: boolean = false;\n community: boolean = false;\n values: boolean = false;\n\n\n entry: any;\n contentfulSysFields: any;\n pageContent!: PageContentModel;\n pageHeader!: PageHeaderContentModel; \n \n coreAccordionFlags: boolean[]=[]\n\n toggleState() {\n if(this.coreAccordionFlags.indexOf(true)>-1) {\n console.log(this.coreAccordionFlags)\n for(let index=0; index < this.coreAccordionFlags.length;index++ ) {\n this.coreAccordionFlags[index] = false;\n }\n }\n }\n\n constructor(private contentfulService: ContentfulService, private sanitizer: DomSanitizer) {\n this.contentfulSysFields = this.contentfulService.getContentfulSysFields();\n }\n \n\n ngOnInit(): void {\n this.loadBodyEntries();\n this.loadHeaderEntries();\n }\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'Core Values Content').subscribe(\n (entry) => {\n \n this.pageContent = new PageContentModel(entry);\n if (this.pageContent && this.pageContent.accordion && this.pageContent.accordion.accordionItems) {\n this.pageContent.accordion.accordionItems.forEach((ele) => {\n this.coreAccordionFlags.push(false)\n });\n }\n\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Core Values Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader.breadCrumbs.split(',').map(breadcrumb => breadcrumb.trim());\n }\n\n}\n","\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n \n
  3. \n {{ breadcrumb }}\n
  4. \n
    \n
\n
\n
\n
\n\n\n
\n
\n
\n\n

\n {{pageContent.header}} \n

\n\n
\n
\n\n\n \n \n \n \n {{ accordionItem.header }}\n \n \n
\n
\n
\n \n\n
\n\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { PageContentModel } from 'src/app/core/model/page-content.model';\nimport { PageHeaderContentModel } from 'src/app/core/model/page-header.model';\nimport { ContentfulService } from 'src/app/core/service/contentful.service';\n\n@Component({\n selector: 'app-credentials',\n templateUrl: './credentials.component.html',\n styleUrls: ['./credentials.component.scss']\n})\nexport class CredentialsComponent implements OnInit {\n entry: any;\n contentfulSysFields: any;\n pageContent!: PageContentModel;\n pageHeader!: PageHeaderContentModel; \n accordionSubArray: any = []\n constructor(private contentfulService: ContentfulService, private sanitizer: DomSanitizer,) { \n this.contentfulSysFields = this.contentfulService.getContentfulSysFields();\n }\n\n ngOnInit(): void {\n this.loadBodyEntries();\n this.loadHeaderEntries();\n }\n\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'Credentials and Affiliations Content').subscribe(\n (entry) => {\n \n this.pageContent = new PageContentModel(entry);\n if (this.pageContent && this.pageContent.accordion && this.pageContent.accordion.accordionItems) {\n let chunkSize = 2;\n this.accordionSubArray = Array.from({length: Math.ceil( this.pageContent.accordion.accordionItems.length / chunkSize)}, (_, i) =>\n this.pageContent.accordion.accordionItems.slice(i * chunkSize, i * chunkSize + chunkSize)\n );\n }\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Credentials And Affiliations Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader.breadCrumbs.split(',').map(breadcrumb => breadcrumb.trim());\n }\n\n}\n","\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n \n
  3. \n {{ breadcrumb }}\n
  4. \n
    \n
\n
\n
\n
\n\n\n
\n
\n
\n\n

\n {{pageContent.header}} \n

\n\n
\n \n
\n \"\"\n
\n
\n
\n
\n \"\"\n
\n
\n
\n \n
\n \n
\n
\n \"\"\n
\n
\n
\n \"\"\n
\n
\n
\n
\n
\n
","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { PageContentModel } from 'src/app/core/model/page-content.model';\nimport { PageHeaderContentModel } from 'src/app/core/model/page-header.model';\nimport { ContentfulService } from 'src/app/core/service/contentful.service';\n\n@Component({\n selector: 'app-managementteam',\n templateUrl: './managementteam.component.html',\n styleUrls: ['./managementteam.component.scss']\n})\nexport class ManagementteamComponent implements OnInit {\n\n managementAccordionFlags: boolean[]=[]\n\n entry: any;\n contentfulSysFields: any;\n pageContent!: PageContentModel;\n pageHeader!: PageHeaderContentModel; \n \n toggleState() {\n if(this.managementAccordionFlags.indexOf(true)>-1) {\n console.log(this.managementAccordionFlags)\n for(let index=0; index < this.managementAccordionFlags.length;index++ ) {\n this.managementAccordionFlags[index] = false;\n }\n }\n }\n\n constructor(private contentfulService: ContentfulService, private sanitizer: DomSanitizer,) { \n this.contentfulSysFields = this.contentfulService.getContentfulSysFields();\n }\n\n ngOnInit(): void {\n this.loadBodyEntries();\n this.loadHeaderEntries();\n }\n\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'Management Team Content').subscribe(\n (entry) => {\n \n this.pageContent = new PageContentModel(entry);\n if (this.pageContent && this.pageContent.accordion && this.pageContent.accordion.accordionItems) {\n this.pageContent.accordion.accordionItems.forEach((ele) => {\n this.managementAccordionFlags.push(false)\n });\n }\n\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Management Team Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n console.log(this.pageHeader);\n\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader.breadCrumbs.split(',').map(breadcrumb => breadcrumb.trim());\n }\n\n get sanitizedDescription(): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(this.pageContent.description);\n }\n\n get sanitizedAccordionItems(): SafeHtml[] {\n if (this.pageContent && this.pageContent.accordion && this.pageContent.accordion.accordionItems) {\n return this.pageContent.accordion.accordionItems.map(item => this.sanitizer.bypassSecurityTrustHtml(item.description));\n }\n return [];\n }\n\n\n}\n","\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n \n
  3. \n {{ breadcrumb }}\n
  4. \n
    \n
\n
\n
\n
\n\n\n
\n
\n
\n\n

\n {{pageContent.header}} \n

\n\n \n \n \n \n \n \"\"\n
\n {{ accordionItem.header }}\n
\n Read Bio\n
\n
\n
\n
\n
\n
\n\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { PageContentModel } from 'src/app/core/model/page-content.model';\nimport { PageHeaderContentModel } from 'src/app/core/model/page-header.model';\nimport { ContentfulService } from 'src/app/core/service/contentful.service';\n\n@Component({\n selector: 'app-testimonials',\n templateUrl: './testimonials.component.html',\n styleUrls: ['./testimonials.component.scss']\n})\nexport class TestimonialsComponent implements OnInit {\n \n entry: any;\n contentfulSysFields: any;\n pageContent!: PageContentModel;\n pageHeader!: PageHeaderContentModel;\n\n constructor(private contentfulService: ContentfulService, private sanitizer: DomSanitizer) { \n this.contentfulSysFields = this.contentfulService.getContentfulSysFields();\n }\n\n ngOnInit(): void {\n this.loadBodyEntries();\n this.loadHeaderEntries();\n }\n\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'Testimonials Content').subscribe(\n (entry) => {\n this.pageContent = new PageContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Testimonials Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader?.breadCrumbs?.split(',').map(breadcrumb => breadcrumb.trim());\n }\n}\n","\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n \n
  3. \n {{ breadcrumb }}\n
  4. \n
    \n
\n
\n
\n
\n\n\n
\n
\n
\n\n

\n {{pageContent.header}}\n

\n\n
\n
\n\n\n\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { LinkexService } from '../services/linkex.service.service';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { PageContentModel } from '../core/model/page-content.model';\nimport { PageHeaderContentModel } from '../core/model/page-header.model';\nimport { ContentfulService } from '../core/service/contentful.service';\ninterface Search {\n value: string;\n viewValue: string;\n}\n\n@Component({\n selector: 'app-contact',\n templateUrl: './contact.component.html',\n styleUrls: ['./contact.component.scss']\n})\nexport class ContactComponent implements OnInit {\n contactus!: FormGroup;\n errorMsg = false;\n successMsg = false;\n loader: boolean = false;\n apiResponse: any = {};\n pageContent!: PageContentModel;\n pageHeader!: PageHeaderContentModel;\n constructor(private fb: FormBuilder, private service: LinkexService, private contentfulService: ContentfulService, private sanitizer: DomSanitizer) { }\n\n recipientEmail = 'info@linkex.us';\n\n sendEmail() {\n const emailUrl = `mailto:${this.recipientEmail}`;\n window.location.href = emailUrl;\n }\n\n search: Search[] = [\n { value: 'contract-logistics', viewValue: 'Contract Logistics' },\n { value: 'international-shipping', viewValue: 'International Shipping' },\n { value: 'truckload-brokerage', viewValue: 'Truckload Brokerage' },\n { value: 'warehousing', viewValue: 'Warehousing' },\n { value: 'expedited-delivery', viewValue: 'Expedited Delivery' },\n { value: 'pool-distribution', viewValue: 'Pool Distribution' },\n { value: 'final-mile', viewValue: 'Final Mile' },\n { value: 'transloading', viewValue: 'Transloading' },\n ];\n submitDisabled = false;\n isInfoSubmitted: boolean = false;\n isInfoSubmittedError: boolean = false;\n ngOnInit(): void {\n this.contactus = this.fb.group({\n yourName: ['', Validators.required],\n yourEmail: ['', [Validators.required, Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\\\\.[a-z]{2,4}$')]],\n yourCompany: ['', Validators.required],\n yourPhone: ['', [Validators.required, Validators.pattern('[- +()0-9]+')]],\n menu: ['', Validators.required],\n yourMessage: ['']\n });\n this.loadBodyEntries();\n this.loadHeaderEntries();\n }\n onSubmit(): any {\n if (this.contactus.status === 'INVALID') return\n this.submitDisabled = true\n this.loader = true\n const payload = this.contactus.value;\n this.isInfoSubmittedError = false;\n this.successMsg = false;\n this.isInfoSubmitted = false;\n this.service.contactUs(payload).subscribe((response: any) => {\n this.loader = false;\n this.apiResponse = response;\n if (response.status === 'mail_sent') {\n this.successMsg = true;\n this.isInfoSubmitted = true;\n this.contactus.reset();\n } else {\n this.isInfoSubmittedError = true;\n }\n }, (error) => {\n this.loader = false;\n });\n }\n\n numberOnly(event: any) {\n const input = event.target as HTMLInputElement;\n const inputValue = input.value;\n input.value = inputValue.replace(/[^0-9]/g, '');\n }\n\n alphaOnly(event: any) {\n const input = event.target as HTMLInputElement;\n const inputValue = input.value;\n input.value = inputValue.replace(/[^0-9a-zA-Z ]/g, '');\n }\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Contact Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'Contact Content').subscribe(\n (entry) => {\n this.pageContent = new PageContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader.breadCrumbs.split(',').map(breadcrumb => breadcrumb.trim());\n }\n onReset() {\n this.contactus.reset();\n }\n\n}\n","\n
\n
\n
\n
\n
\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n \n
  3. \n {{ breadcrumb }}\n
  4. \n
    \n
\n
\n
\n
\n\n\n
\n
\n
\n

{{pageContent.header}}

\n\n
\n\n
\n\n

GET IN TOUCH WITH US

\n
\n {{apiResponse.message}}\n
\n
\n\n
\n Error | Please fill out all highlighted form fields correctly and then try submitting again\n
\n\n
\n Thank you for submitting a contact form. LinkEx team will get back to you shortly.\n
\n\n\n
\n
\n \n \n \n Enter Valid Contact Name \n \n
\n\n
\n \n \n \n Enter Valid Company Name \n \n
\n
\n\n
\n
\n \n \n \n Enter Valid Email Address\n\n \n
\n\n
\n \n \n \n Enter Valid Phone Number \n \n
\n
\n\n
\n
\n \n \n \n \n {{ search.viewValue }}\n \n \n Please Select Service \n \n
\n
\n\n
\n
\n \n \n \n \n
\n
\n\n
\n
\n
\n \n
\n
\n \n
\n
\n\n

\n
\n
\n
\n
","import { Entry, EntryCollection } from 'contentful';\nimport { documentToHtmlString } from '@contentful/rich-text-html-renderer';\nimport { richTextOptions } from './rich-text-options.model';\n\nexport class AccordionContentModel {\n static accordionItems(accordionItems: any) {\n throw new Error('Method not implemented.');\n }\n\n accordionHeader!: string;\n accordionItems: AccordionItemContentModel[] = [];\n\n constructor(accordionDetails: any) {\n if (accordionDetails) {\n this.accordionHeader = accordionDetails.header;\n accordionDetails.accordionListItems.forEach((item: any) => {\n this.accordionItems.push(new AccordionItemContentModel(item));\n });\n }\n }\n}\n\n\nexport class AccordionItemContentModel {\n\n header!: string;\n description!: string;\n imageURL!: string;\n link!: string;\n icons!: string;\n\n constructor(accordianItem: any) {\n if (accordianItem) {\n const accordionContentDetail: any = accordianItem;\n this.header = accordionContentDetail.fields.header;\n this.description = documentToHtmlString(accordianItem.fields.content, richTextOptions);\n this.imageURL = accordionContentDetail.fields.image?.fields.file?.url;\n this.link = accordionContentDetail.fields?.link;\n this.icons = accordionContentDetail.fields?.iconEntry;\n }\n }\n}\n","import { EntryCollection } from 'contentful';\nimport { documentToHtmlString } from '@contentful/rich-text-html-renderer';\nimport { richTextOptions } from './rich-text-options.model';\nexport class BlogContentModel {\n blogTitle:string = '';\n blogItems:any = []\n\n constructor(entries?: EntryCollection) {\n if (entries && entries.items.length > 0 && entries.items[0].fields) {\n \n const contentDetail: any = entries.items[0].fields;\n if(contentDetail.identifier) {\n this.blogTitle = contentDetail.identifier;\n }\n if(contentDetail.blogList.length > 0) {\n contentDetail.blogList?.forEach((blogItem:any)=> {\n this.blogItems.push({\n id: blogItem.sys.id,\n title: blogItem?.fields?.title,\n content: documentToHtmlString(blogItem.fields?.content, richTextOptions),\n author: blogItem?.fields?.auhtor,\n date: blogItem?.fields?.date,\n imageUrl: blogItem?.fields?.image?.fields?.file?.url\n\n })\n });\n \n }\n }\n }\n}","import { EntryCollection,Entry } from 'contentful';\nimport { documentToHtmlString } from '@contentful/rich-text-html-renderer';\nimport { richTextOptions } from './rich-text-options.model';\nexport class BlogItemContentModel {\n id:string = '';\n title:string = '';\n content:string = '';\n author:string = '';\n date:string = '';\n imageUrl:string = '';\n constructor(entries?: any) {\n if (entries && entries.fields) {\n this.id = entries.sys.id;\n this.title = entries?.fields?.title;\n this.content = documentToHtmlString(entries.fields?.content, richTextOptions);\n this.author = entries?.fields?.auhtor;\n this.date = entries?.fields?.date;\n this.imageUrl = entries?.fields?.image?.fields?.file?.url;\n }\n }\n}","\nimport { documentToHtmlString } from '@contentful/rich-text-html-renderer';\nimport { richTextOptions } from './rich-text-options.model';\n\nexport class LinkItemContentModel {\n header!: string;\n leftPanelLinks!: string;\n rightPanelLinks!: string;\n\n constructor(pageLinkDetails: any) {\n if (pageLinkDetails) {\n // this.identifier = pageLinkDetails.sys.id; \n this.header = pageLinkDetails.header;\n this.leftPanelLinks = documentToHtmlString(pageLinkDetails.leftPanelLinks, richTextOptions);\n this.rightPanelLinks = documentToHtmlString(pageLinkDetails.rightPanelLinks, richTextOptions);\n }\n }\n}","import { EntryCollection } from 'contentful';\n\nexport class MenuContentModel {\n\n label!: string;\n link!: string;\n items: MenuContentModel[] = [];\n isAsset!: boolean;\n\n constructor(entries?: EntryCollection) {\n if (entries && entries?.items?.length > 0 && entries?.items[0].fields) {\n const contentDetail: any = entries.items[0].fields;\n this.label = contentDetail.name;\n this.link = contentDetail.url;\n this.isAsset = contentDetail?.fields?.url?.startsWith('/assets') ? true: false;\n if(contentDetail?.submenu?.length > 0) {\n contentDetail.submenu.forEach((menu:any) => {\n this.items.push(new MenuContentModel(menu));\n });\n }\n } else {\n const contentDetail: any = entries;\n this.label = contentDetail.fields.name;\n this.link = contentDetail.fields.url;\n this.isAsset = contentDetail?.fields?.url?.startsWith('/assets') ? true: false;\n if(contentDetail?.fields?.submenu) {\n contentDetail?.fields?.submenu.forEach((menu:any) => {\n this.items.push(new MenuContentModel(menu));\n });\n }\n }\n }\n}","import { Entry, EntryCollection } from 'contentful';\nimport { documentToHtmlString } from '@contentful/rich-text-html-renderer';\nimport { richTextOptions } from './rich-text-options.model';\nimport { LinkItemContentModel } from './link-content.model';\n\nexport class NotificationContentModel {\n\n pageUrl!: string;\n notificationFlag!: boolean;\n description!: string; \n icons!: string;\n\n constructor(entries?: EntryCollection) {\n\n if (entries && entries.items.length > 0 && entries.items[0].fields) {\n\n const contentDetail: any = entries.items[0].fields; \n this.pageUrl = contentDetail.pageLinks;\n this.notificationFlag = contentDetail.displayNotification; \n this.icons = contentDetail.iconEntry;\n this.description = documentToHtmlString(contentDetail.shortDescription, richTextOptions);\n\n }\n\n }\n\n}","import { Entry, EntryCollection } from 'contentful';\nimport { documentToHtmlString } from '@contentful/rich-text-html-renderer';\nimport { richTextOptions } from './rich-text-options.model';\nimport { AccordionContentModel, AccordionItemContentModel } from './accordion-content.model';\nimport { LinkItemContentModel } from './link-content.model';\n\nexport class PageContentModel {\n\n header!: string;\n description!: string;\n thumbnailURL!: string;\n accordion!: AccordionContentModel;\n links: LinkItemContentModel[] = [];\n\n\n constructor(entries?: EntryCollection) {\n if (entries && entries.items.length > 0 && entries.items[0].fields) {\n const contentDetail: any = entries.items[0].fields;\n\n this.header = contentDetail.header;\n this.description = documentToHtmlString(contentDetail.pageContent, richTextOptions);\n this.thumbnailURL = contentDetail.thumbnail?.fields?.file?.url;\n\n if (contentDetail?.accordion?.fields) {\n this.accordion = new AccordionContentModel(contentDetail.accordion.fields);\n }\n\n if (contentDetail?.pageLinks && contentDetail.pageLinks.length > 0) {\n contentDetail.pageLinks.forEach((link: any) => {\n this.links.push(new LinkItemContentModel(link.fields));\n });\n }\n\n }\n }\n}","import { Entry, EntryCollection } from 'contentful';\n\nexport class PageHeaderContentModel {\n\n heroImageTitle!: string;\n heroImageURL!: string;\n breadCrumbs!: string;\n\n\n constructor(entries?: EntryCollection) {\n if (entries && entries.items.length > 0 && entries.items[0].fields) {\n const contentDetail: any = entries.items[0].fields;\n this.heroImageTitle = contentDetail?.title;\n this.heroImageURL = contentDetail.image?.fields?.file?.url;\n this.breadCrumbs = contentDetail.breadcrumbs;\n }\n }\n}\n","import { BLOCKS, INLINES } from '@contentful/rich-text-types';\n\nexport const richTextOptions = {\n renderNode: {\n [BLOCKS.EMBEDDED_ASSET]: (node: any) => {\n if (node.data && node.data.target && node.data.target.fields && node.data.target.fields.file) {\n return ``;\n } else {\n return ``;\n }\n },\n [INLINES.ASSET_HYPERLINK]: (node: any) => {\n if (node.data && node.data.target && node.data.target.fields && node.data.target.fields.file\n && node.content && node.content[0].value) {\n return `
${node.content[0].value}`;\n } else {\n return ``;\n }\n }\n }\n};\n","import { Injectable } from '@angular/core';\nimport { createClient, Entry, EntryCollection } from 'contentful';\nimport { from, Observable, of, throwError } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { contentful } from '../../shared/models/contentful/constants.contentful';\nimport { catchError, map, mergeMap, retryWhen, timeout } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ContentfulService {\n\n constructor() { \n //console.log(environment)\n //console.log(environment.environment)\n }\n\n private cdaClient = createClient({\n space: environment.space,\n accessToken: environment.accessToken,\n environment: environment.environment\n });\n\n // getAllEntries(contentTypeId: string): Observable> {\n // return from(\n // this.cdaClient.getEntries({ content_type: contentTypeId, include: 10 })\n // .catch(error => {\n // console.error('Contentful API Error:', error);\n // throw error;\n // })\n // );\n // }\n\n getMenuEntry(contentTypeId: string, pageName: string): Observable> {\n return from(\n this.cdaClient.getEntries({ content_type: contentTypeId, limit: 1, \"fields.name\": pageName, include: 10 })\n .catch(error => {\n console.error('Contentful API Error:', error);\n throw error;\n })\n );\n }\n getEntryById(id: string): Observable> {\n return from(\n this.cdaClient.getEntry(id).then((entry:any) => {\n return entry; \n }).catch(error => {\n throw error;\n })\n );\n }\n \n getEntry(contentTypeId: string, pageName: string): Observable> {\n return from(\n this.cdaClient.getEntries({ content_type: contentTypeId, limit: 1, \"fields.identifier\": pageName, include: 10 })\n .catch(error => {\n console.error('Contentful API Error:', error);\n throw error;\n })\n );\n }\n\n getContentfulSysFields(): any {\n return contentful;\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent implements OnInit {\n\n applyCustomClass: boolean = true;\n constructor() { }\n\n ngOnInit(): void {\n \n this.applyCustomClass;\n }\n \n\n}\n","
\n
\n \"\"\n
\n Understanding the individual needs of our customers is vital to ensuring that we can create the best\n possible supply chain solutions. Not only are the solutions LinkEx creates Best in Class, but our service is\n too.\n
\n
\n Offices in Dallas, Atlanta and Guadalajara.\n
\n
\n\n
\n
Resources
\n
\n
\n
\n
    \n
  • Documents arrow_forward
  • \n
  • Collateral arrow_forward
  • \n
  • Careers arrow_forward
  • \n
  • Site Map arrow_forward
  • \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n\n
\n\n
\n \n \n \n
\n\n
\n \n \n
\n\n
\n
\n © 2024, LinkEx Inc. All Rights Reserved.\n
\n
\n
","import { ParseTreeResult } from '@angular/compiler';\nimport { Component, OnInit, ElementRef } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Location } from '@angular/common';\nimport { ContentfulService } from '../core/service/contentful.service';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { PageHeaderContentModel } from '../core/model/page-header.model';\nimport { PageContentModel } from '../core/model/page-content.model';\nimport { NotificationContentModel } from '../core/model/notification.model';\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.scss']\n})\nexport class HomeComponent implements OnInit {\n\n value = 'Clear me';\n trackCheck: boolean = false;\n //trackingForm: FormGroup;\n\n contentfulSysFields: any;\n pageContent!: PageContentModel;\n pageNotification!: NotificationContentModel;\n pageHeader!: PageHeaderContentModel;\n\n constructor(private fb: FormBuilder, private router: Router, private elementRef: ElementRef, private location: Location, private contentfulService: ContentfulService, private sanitizer: DomSanitizer,) { }\n\n trackingForm = this.fb.group({\n trackRequest: ['', [Validators.required]],\n })\n\n ngOnInit(): void {\n this.location.replaceState('/');\n this.loadBodyEntries();\n this.loadHeaderEntries();\n this.loadNotificationEntry();\n }\n\n navigate(url: string) {\n window.location.href = url;\n }\n\n clear() {\n this.trackingForm.reset();\n }\n\n submit(): void {\n if (this.trackingForm.status === 'INVALID') return;\n this.router.navigate(['/track'], { queryParams: { shipOrder: this.trackingForm.value.trackRequest } });\n }\n\n onKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Enter' || event.keyCode === 13) { // Enter key code\n event.preventDefault(); // Prevent form submission\n const trackRequestControl = this.trackingForm.get('trackRequest');\n if (trackRequestControl && trackRequestControl.value && trackRequestControl.value.trim() !== '') {\n this.router.navigate(['/track'], { queryParams: { shipOrder: trackRequestControl.value } });\n } else {\n trackRequestControl?.markAsTouched();\n }\n }\n }\n\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'Home Content').subscribe(\n (entry) => {\n this.pageContent = new PageContentModel(entry);\n // console.log(this.pageContent);\n\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n loadNotificationEntry() {\n this.contentfulService.getEntry('notificationScroller', 'Notification').subscribe(\n (entry) => { \n this.pageNotification = new NotificationContentModel(entry);\n //console.log(this.pageNotification);\n\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Home Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n // console.log(this.pageHeader);\n\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n get sanitizedDescription(): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(this.pageContent.description);\n }\n\n get sanitizedNotification(): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(this.pageNotification.description);\n }\n\n get sanitizedAccordionItems(): SafeHtml[] {\n if (this.pageContent && this.pageContent.accordion && this.pageContent.accordion.accordionItems) {\n return this.pageContent.accordion.accordionItems.map(item => this.sanitizer.bypassSecurityTrustHtml(item.description));\n }\n return [];\n }\n\n}\n","\n
\n
\n \n {{pageNotification.icons}} \n \n \n
\n
\n \n\n
\n
\n\n
\n

\n {{pageHeader.heroImageTitle}}\n

\n
\n
\n\n
\n
\n\n \n\n \n \n \n Enter Valid SO Number\n \n \n\n
\n\n \n
\n\n
\n\n
\n
\n\n \n\n
\n
\n
\n

\n {{ pageContent.header }}\n

\n
\n
\n
\n
\n
\n\n
\n
\n
\n\n \n
\n
\n
\n {{ accordionItem.header }}\n
\n
\n
\n
\n {{accordionItem.icons}}\n
\n
\n
\n\n
\n
\n
\n \n
\n\n\n
\n \"\"\n
","import { Component, OnInit, QueryList, ViewChild, ViewChildren, HostListener } from '@angular/core';\nimport { MenuItem } from '../menu-item';\nimport { MatMenu, MatMenuTrigger } from '@angular/material/menu';\nimport { Router } from '@angular/router';\nimport { MenuContentModel } from '../core/model/menu-content.model';\nimport { ContentfulService } from '../core/service/contentful.service';\n\n@Component({\n selector: 'app-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss']\n})\nexport class NavbarComponent implements OnInit {\n\n menubackdrop: boolean | undefined;\n events: Array;\n\n @ViewChildren(MatMenuTrigger) trigger!: QueryList;\n\n openMenuToggle(index: number) {\n this.trigger.toArray().forEach((item: MatMenuTrigger, i: number) => {\n if (i !== index && item.menuOpen) {\n item.closeMenu()\n }\n });\n }\n\n toggleMenu() {\n this.menubackdrop = !this.menubackdrop;\n }\n\n closeMobileMenu(event: any) {\n if (this.events.includes(event.target.textContent)) {\n this.menubackdrop = true;\n } else {\n this.menubackdrop = false;\n }\n }\n menuContent!: MenuContentModel;\n constructor(private router: Router, private contentfulService: ContentfulService) {\n this.events =\n [\n 'menu',\n 'Services',\n 'Resources',\n 'News',\n 'Company',\n ' keyboard_arrow_down ',\n 'Services keyboard_arrow_down ',\n 'Resources keyboard_arrow_down ',\n 'News keyboard_arrow_down ',\n 'Company keyboard_arrow_down '\n ]\n }\n\n @HostListener('document:click', ['$event'])\n clickout(event: any) {\n if (!(this.events.includes(event.target.textContent))) {\n this.menubackdrop = false;\n }\n }\n\n menuItems: MenuItem[] = [];\n // [\n // { label: 'Quote', link: '/quote', isAsset: false },\n // { label: 'Track', link: '/track', isAsset: false },\n // {\n // label: 'Services', isAsset: false,\n // items: [\n // { label: 'Service Offering', link: '/service-offering', isAsset: false },\n // { label: 'Contract Logistics', link: '/contract-logistics', isAsset: false },\n // { label: 'Truckload Brokerage', link: '/truckload-brokerage', isAsset: false },\n // { label: 'Expedited', link: '/expedited-delivery', isAsset: false },\n // { label: 'Final Mile', link: '/final-mile', isAsset: false },\n // { label: 'International', link: '/international-shipping', isAsset: false },\n // { label: 'Warehousing', link: '/warehousing', isAsset: false },\n // { label: 'Pool Distribution', link: '/pool-distribution', isAsset: false },\n // { label: 'Drayage / Transloading', link: '/drayage-transloading', isAsset: false }\n // ]\n // },\n // {\n // label: 'Resources', isAsset: false,\n // items: [\n // { label: 'Tools and Resources', link: '/resources', isAsset: false },\n // { label: 'Documents', link: '/documents', isAsset: false },\n // { label: 'Transportation Management System (TMS)', link: '/linkex-tms', isAsset: false },\n // { label: 'Careers', link: '/careers', isAsset: false },\n // { label: 'Shipment Tracking', link: '/track', isAsset: false },\n // { label: 'Holiday Schedule', link: '/holiday-schedule', isAsset: false },\n // { label: 'Privacy Policy', link: '/assets/docs/Saia-Privacy-Policy.pdf', isAsset: true },\n\n // ]\n // },\n // {\n // label: 'News', isAsset: false,\n // items: [\n // { label: 'Videos', link: '/videos', isAsset: false },\n // { label: 'Blog', link: '/news', isAsset: false },\n // ]\n // },\n // {\n // label: 'Company', isAsset: false,\n // items: [\n // { label: 'About Us', link: '/company', isAsset: false },\n // { label: 'Management Team', link: '/management-team', isAsset: false },\n // { label: 'Core Values', link: '/core-values', isAsset: false },\n // { label: 'Testimonials', link: '/linkex-testimonials', isAsset: false },\n // { label: 'Credentials And Affiliations', link: '/credentials-affiliations', isAsset: false },\n // ]\n // },\n // { label: 'Contact', link: '/contact', isAsset: false },\n // // { label: 'Login' },\n // ];\n\n config = {\n interfaceWithRoute: true,\n listBackgroundColor: `#CC3029`,\n fontColor: `#cfcfcf`,\n backgroundColor: `#CC3029`,\n selectedListFontColor: `#fff`,\n collapseOnSelect: true\n };\n\n ngOnInit(): void {\n this.loadBodyEntries();\n }\n\n loadBodyEntries() {\n this.contentfulService.getMenuEntry('menu', 'Menu Content').subscribe(\n (entry) => {\n // console.log(entry)\n this.menuContent = new MenuContentModel(entry);\n this.menuItems = this.menuContent.items;\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n}","\n \"\"\n
\n \n\n \n\n \n \n \n \n\n \n \n \n \n \n \n\n \n
\n\n \n\n
\n\n
\n \n\n \n
","import { Component, OnInit } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { PageHeaderContentModel } from 'src/app/core/model/page-header.model';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ContentfulService } from 'src/app/core/service/contentful.service';\nimport { BlogItemContentModel } from 'src/app/core/model/blogItem-content.model';\n\n@Component({\n selector: 'app-blog-post',\n templateUrl: './blog-post.component.html',\n styleUrls: ['./blog-post.component.scss']\n})\nexport class BlogPostComponent implements OnInit {\n\n data: any = [];\n id: any;\n filterData: any;\n pageContent!: BlogItemContentModel;\n pageHeader!: PageHeaderContentModel;\n\n\n constructor(private HttpClient: HttpClient, private router: Router, private activateRouter: ActivatedRoute, private contentfulService: ContentfulService, private sanitizer: DomSanitizer) {\n }\n\n ngOnInit(): void { \n this.activateRouter.queryParams.subscribe( params => { \n if(params['Id'] == null || params['Id'] == undefined) { \n const id = sessionStorage.getItem('newsId');\n this.id = id;\n }else {\n this.id = params['Id'];\n sessionStorage.setItem('newsId', this.id); \n }\n this.loadBodyEntries();\n }); \n }\n\n\n loadBodyEntries() {\n this.contentfulService.getEntryById(this.id).subscribe(\n (entry) => {\n this.pageContent = new BlogItemContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n \n}\n","\n
\n \n
\n \n
\n\n \n
\n
\n
\n
    \n
  1. \n home\n
  2. \n
  3. \n Blog\n
  4. \n
  5. \n {{ pageContent.title }}\n
  6. \n
\n
\n
\n
\n \n \n
\n
\n
\n

\n {{ pageContent.title }}\n

\n
\n
\n
\n
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Router } from '@angular/router';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { PageHeaderContentModel } from 'src/app/core/model/page-header.model';\nimport { ContentfulService } from 'src/app/core/service/contentful.service';\nimport { BlogContentModel } from 'src/app/core/model/blog-content.model';\n\n@Component({\n selector: 'app-blog',\n templateUrl: './blog.component.html',\n styleUrls: ['./blog.component.scss']\n})\nexport class BlogComponent implements OnInit {\n\n data: any;\n pageContent!: BlogContentModel;\n pageHeader!: PageHeaderContentModel;\n\n constructor(private HttpClient: HttpClient, private router: Router, private contentfulService: ContentfulService, private sanitizer: DomSanitizer) {\n }\n ngOnInit(): void {\n this.loadBodyEntries();\n this.loadHeaderEntries();\n }\n\n readMore(id: any) {\n this.router.navigate(['/news-post'], { queryParams: { Id: id }, skipLocationChange: false })\n }\n\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Blog Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader.breadCrumbs.split(',').map(breadcrumb => breadcrumb.trim());\n }\n loadBodyEntries() {\n this.contentfulService.getEntry('blogs', 'Blog').subscribe(\n (entry) => {\n this.pageContent = new BlogContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n \n}\n","\n
\n

{{pageHeader.heroImageTitle}}

\n
\n\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n \n
  3. \n {{ breadcrumb }}\n
  4. \n
    \n
\n
\n
\n
\n\n\n
\n
\n
\n

\n {{pageContent.blogTitle}}\n

\n\n
\n
\n \n
\n
\n
{{ item.title }}
\n
{{ item.date }}
\n
\n \n
\n\n
\n\n
\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeHtml, SafeResourceUrl, SafeUrl } from '@angular/platform-browser';\nimport { PageContentModel } from 'src/app/core/model/page-content.model';\nimport { PageHeaderContentModel } from 'src/app/core/model/page-header.model';\nimport { ContentfulService } from 'src/app/core/service/contentful.service';\n\n@Component({\n selector: 'app-videos',\n templateUrl: './videos.component.html',\n styleUrls: ['./videos.component.scss']\n})\nexport class VideosComponent implements OnInit {\n @Input()\n url1: string = 'https://www.youtube.com/embed/EYGA-hOKW5M';\n urlSafe1: SafeResourceUrl | undefined; \n\n url2: string = 'https://www.youtube.com/embed/ynAKZCWI2f4';\n urlSafe2: SafeResourceUrl | undefined; \n pageContent!: PageContentModel;\n pageHeader!: PageHeaderContentModel;\n\n constructor(private _sanitizer: DomSanitizer, private contentfulService: ContentfulService, private sanitizer: DomSanitizer) { }\n\n ngOnInit(): void {\n this.urlSafe1 = this._sanitizer.bypassSecurityTrustResourceUrl(this.url1); \n this.urlSafe2 = this._sanitizer.bypassSecurityTrustResourceUrl(this.url2); \n this.loadBodyEntries();\n this.loadHeaderEntries();\n }\n\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Videos Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader.breadCrumbs.split(',').map(breadcrumb => breadcrumb.trim());\n }\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'Videos Content').subscribe(\n (entry) => {\n this.pageContent = new PageContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n \n get leftSanitizedDescription(): SafeHtml {\n const htmlContent = this.pageContent.links[0].leftPanelLinks;\n const sanitizedContent = htmlContent.replace(/<|>|"| /g, (match) => {\n const replacements = {\n '<': '<',\n '>': '>',\n '"': '\"',\n ' ': '',\n } as Record; // Type assertion here\n\n return replacements[match as keyof typeof replacements];\n }).replace(/]*>(.*?)<\\/p>/g, '$1').replace(/\\s* -->\n \n
\n \n
\n \n \n\n\n \n \n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { jsPDF } from 'jspdf';\nimport 'jspdf-autotable';\nimport { LinkexService } from 'src/app/services/linkex.service.service';\n\n@Component({\n selector: 'app-live-quote',\n templateUrl: './live-quote.component.html',\n styleUrls: ['./live-quote.component.scss'],\n})\nexport class LiveQuoteComponent implements OnInit {\n private pdf: any;\n loader: boolean = false;\n private yMargin = 0;\n liveRateQuoteData: any = null;\n interlineToWebsite: string = '';\n interlineToShowDefaultContact = false;\n emailQuoteResponse: any = null;\n distance: number = 0.0\n constructor(private router: Router, private service: LinkexService) {\n const storedData = localStorage.getItem('liveRateQuoteData');\n\n if (storedData) {\n this.liveRateQuoteData = JSON.parse(storedData);\n } else {\n // If no stored data, check for state in navigation extras\n if (this.router.getCurrentNavigation()?.extras.state) {\n this.liveRateQuoteData = this.router.getCurrentNavigation()?.extras.state;\n if (this.liveRateQuoteData) {\n this.liveRateQuoteData = this.liveRateQuoteData.liveRateQuoteData ? JSON.parse(this.liveRateQuoteData.liveRateQuoteData) : '';\n\n // Store the data in localStorage for future use\n localStorage.setItem('liveRateQuoteData', JSON.stringify(this.liveRateQuoteData));\n }\n }\n }\n if(this.liveRateQuoteData?.jsonResponse?.quote?.distance) {\n this.distance = Number(this.liveRateQuoteData?.jsonResponse?.quote?.distance || 0).toFixed(1) as unknown as number;\n } else {\n this.distance = Number(this.liveRateQuoteData?.quote?.distance || 0).toFixed(1) as unknown as number;\n }\n \n }\n\n ngOnInit(): void {\n }\n clearLocalStore(): void {\n localStorage.clear();\n }\n acceptQuote(): void {\n this.router.navigate(['/tl-tender-quote'], {\n state: {\n liveRateQuoteData: JSON.stringify( this.liveRateQuoteData ),\n },\n });\n }\n printQuoteDocument(): void {\n if (!this.pdf) {\n this.createPdfForIe();\n }\n const pdfData = this.pdf.output('datauristring');\n const iframe = '';\n let newWindow = window.open();\n newWindow?.document.open();\n newWindow?.document.write(iframe);\n newWindow?.document.close();\n }\n emailQuoteDocument(): void {\n this.loader = true;\n if (!this.pdf) {\n this.createPdfForIe();\n }\n const pdfbase64 = this.pdf.output('datauristring');\n if (!pdfbase64) return;\n const payload = {\n email: this.liveRateQuoteData.userData.email,\n quoteId: this.liveRateQuoteData.quote.id,\n pdfbase64: pdfbase64,\n name: this.liveRateQuoteData.userData.contactName,\n }\n this.service.emailQuote(payload).subscribe((result) => {\n this.loader = false;\n window.scrollTo({\n top: 0,\n behavior: 'smooth'\n });\n this.emailQuoteResponse = result\n }, (error) => {\n this.emailQuoteResponse = error\n })\n }\n private createPdfForIe() {\n this.pdf = new jsPDF({ orientation: 'portrait', unit: 'pt', format: 'letter' });\n this.setPdfFont('Helvetica', 'regular', 10, '#212529');\n this.addHeaderToPdf();\n this.yMargin = 1.65;\n this.addQuoteAmountPreText();\n this.yMargin += .5;\n this.addQuoteAmount();\n this.yMargin += .4;\n this.addQuoteAmountPostText();\n this.yMargin += .3;\n this.addTableInfoToPdf('quote-detail-information');\n this.yMargin += 2;\n this.addTableInfoToPdf('ship-from-information');\n this.yMargin += 1;\n this.addTableInfoToPdf('ship-to-information');\n this.yMargin += 1;\n this.addTableInfoToPdf('freight-information-information');\n this.yMargin += 1;\n this.addEndText()\n if (this.yMargin >= 10.5) {\n this.pdf.addPage();\n this.yMargin = .5;\n }\n }\n\n private setPdfFont(name: string, style: string, size?: number, color?: string) {\n this.pdf.setFont(name, style);\n this.pdf.setFontSize(size);\n this.pdf.setTextColor(color);\n }\n\n private addHeaderToPdf() {\n const img = new Image;\n // tslint:disable-next-line:max-line-length\n const dataURL = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA8EAAAFfCAYAAABuu84aAAAABmJLR0QA/wD/AP+gvaeTAAB4bklEQVR42uxdB5gUVbZuwKykiTqO0F1V3dXdNYOus+aEYdfsqisGDA+BqaoeQMU1sOrqmNPiqmsOa064phUDpmECGJZ1FcWECQOumAUl4zt3GHBy6Km6t7rOf77vfPj2KdNz+r/3nv/ESAQCgUAgEAgEAoFAIBAIT8nTq7YoSDi/QFup6cwDOiAQCAQCgXQmDZY2pC6t/QJlofANIZCwSEHCPRKkt129C+iAQCAQCATSmdSnYseCHPLQ+rR2DxAPgYREChPONSC87albCXRAIBAIBALpTOos/WYQRCaa0jJAPAQSEiHC918Q3raan7CTQAcEAoFAIJBOSXBamwuCyENrk1o5EA+BhEAGa/ZAInwrQHrb6JdABwQCgUAgkM6kwdyiBOSQjX7zSyTSF6iHQEIgRUl3bxDedkuhpwAdEAgEAoFAOpN6SzsK5JBNKfTjQDwEEhIpiLvngfC21cK4MwHogEAgEAgE0pkQOboeBJHJUCxLOx2Ih0DCQoITzgsgvW21KOFsCXRAIBAIBALpnATrb4EgMlFL3wmIh0DCIMOr16FduD+B9LbRbyORavR8QCAQCAQC6VBmDNOLiBytAkFkoYvnWNZ6QD0EEgLJT7jbgvC2q+j5gEAgEAgE0qnUWbHDQA7ZaC0QD4GERGj400QQ3nY0bp8KdEAgEAgEAumUBKdjV4McclH9QiAeAgmJ5Jv2P0F629kPHLe3AzogEAgEAoF0SoJT2usgh1yGYun7APEQSEiECN//QHrb6CLRKw10QCAQCAQC6UhmWqV5RI5WgiByGIilrXhW0wYC9RBICKRQrzJAeNvdD/ws0AGBQCAQCKQzqUsbfwBB5KG1ae2/QDwEEhYSHHdHgfC2ux/4LKADAoFAIBBI5yRYmwyCyEVjVwPxEEhIhDKeN4P0tqNG5W5ABwQCgUAgkE5JsKXNAjnkkgmOHQ7EQyChIcH2WyC9bXRJNDpqA6ADAoFAIBBIR/KSYQwQfaIgiDy0wdyiBKiHQEIgJQm7gAjfKpDeNloPdEAgEAgEAulMalPafiCHbEqhPwDiIZCQSIGZOQiEt53VSKZ9AdABgUAgEAikCxJ8CcghE03FbgfiIZCwkOC4fSlIb1stSrp7Ax0QCAQCgUA6JcFp/UUQRDYkeCwQD4GERPIT7gyQ3ja6osAc3R/o8F7y9KotWGHJdObhW4dAspNNk24Ud0XAfYi4c2jT77CS9NtW+kELNZ3/0J+zmunzYhXhGi1MOA/Rn1PWaH7cvpX+nRub6WT6dy5ZowWm/Zd80zl9jdJGhwn079hrND/hHFdo2iPWqKh8y09U7rVG6d/ftSCZqVijRWZmWHEio63RwZo9ZGB5ZvAazTMmDGj9+08bVrwxkaPlIIg8tKY8msTNDIGEQMTgJzEACqS3zX7gV4AOf6Qg7hzFDE93qbS3cOLCYstIZEQ/EDXp+qnaIK1zHJuVfAnnjly7zwUxpM8+n6Gf8MAaG9SWxX4PcshELW0BPUR9vDg79Pc9z8l2uXCfUZa/hgGGV9QmtXKwEZLCRGYXEN52SfBfgQ6/MOdcywxLlUqDDqZ7dFhsSYR+YCAxHe496/crJsG3sSHBpjMm57LApvMPhj7C/AHWmLy1JNjSLwBBZLIaydIe9urs1Ke1e0CCA0SAk9HdeARy9JvBRNY6GPYkEN72hmI5fwA6fCJlCft1VlhK2Em19m4sIQyHPVP2ZgEN7NwRYmJ2omIS/BEbEqxXGbl0l+cZ9u8ZbpZYRed9v1YZvXoQRB5ab2kne0a60vrlIMHIAkvWhTVWdFMwkV8d5MdBetvoyuZRXoh3Mig6alBT3xgXLP0vAEGH0OwAH5QaNzSQ9yj1coYWw9QnqcqurPqBE/bnOVXRY1VtQp/7Q4b+wU3N7TCztHRDciyXgCByKYeObesZ6bK0iSDByAJLLoU+G0zkV+lDF/o3IL2tM3fObEDDt4zZfsxKoaeotHfYdoAXJ+3A9bGI7F2IMbwoMrx6HYVZ4OMY3Rf35lQVWdy5kqF/8IEg/83tUF9mDAc5ZKOLaoYP9+w+rE3HDgcJRhZYYin/Z7MqSjYCE1lbylRpgfS2O5zkWqDDNxJ8ESss0aRStaWk9sEhm5772+BV07iVIcbw82rxy6cfmAYGurnjOzg7MKvoadwYIWaotLYF9XWeA3LIRp/z8hxNT8d2AQlGFlhiL/AosJDmzlvcdUB62+uBcw8HOvwiDE4dq13TtG5Drb3tK8IVoLJ3DhymTfeeEM9GOF8xCWbTD5wfr0rlwh1uGBPWD1OLRW+HZRIJfgHkkMlQrLRW7eVZqrF0AyQYWWA5GnuVvoC+YCEtHeQ7QXpzZ/hOrstq58lZzAhL30Yi1X3VnnHn3yGr0tgvgPfo5+GtiqncV5VdefUDO1/myj0uAiMM/YI3xTrJ1raYY1nrUY/dzyCITIZipbS9vDxLTf3kIMHIAsvQPcFC2jrIH4D0tilJew/I8EeKTHcnVlgynX+pzVCO7i9K+EI2afvgYGWBM2aYBwSKQXYKs8CM+oHVzg7o9h2ecLakz7uMmV+wrMCwt27PHg2WtjPIIRtdPm1Y8caek7C09i1IMLLAvmpKexwMpI3zNr4EpLddvQXo8C2DcDqzgMopSh3WpLt3+GxqjwwWpu1MmLNfSm3LqB84P+GOD/4NPqIffdZZ7HwC0/5LxwQmdgbIIRt9xRcSltbmgAQjC+xn8Ka2bGgqAmkphaY9AoS33cnQxwEdvlUesFrHlR+3t1NM0C4IYcasMmCYfiDEzv8Nikkwm37gIE49b3ufuKcx9Ale7mw6Ou15fRrkkImmtCt8IsHPggQjC+zjRGgM+m33QeO53qBrZ8QcGwM6/JDqvszWcS1UuVpmdbWHOx0ZM19FrJj7MrwBQfv/VBmWUz8w9bl/rXp2QJdB85QTp8/6MzN/4GfR7tCRTcSqHHIyF4IgMhmKVaYd6hMRux0kGFlgn/SHOsMoBP9oP4MxC6S3jX4CZPgjg1NuGa8J4840lfYO6xAyImaTgoLpsK+YE/uPFWaBOe0HfjTg17cI9tSy2xIRt0/ozCj16eh2IIeM1CcyQdPFLwYJRhbYpyzwpAiknaguLXunS345SG+bHs67gQ6fgi60A5PZfuCzlJ5xWiUUUtueG5hqmoQ9DtOKfSPBfPYDm/ZJuLsDuR+7T+dOtH4qyCETtbR3fCNjaX0CSDCywD7ovJpodAOwj3YdjMq9QHrbVRvo8M2RupsVCU5kdlFMIv4cTru6FwcmmJhwHgpxie7DivHLph+40HB/E9R7O88YW0qf8UdmfsD3gzV7SJeOtKVNBUHkQoL1m30jZJb2R5BgZIF9yAKPjEA6ICQJ+xwQ3vYGGVVhgpp/mPuYEZYWt7dTUq69nafCWa3hXhcMRFf3Fb2cmGzuvTDbD/ydmLoc3HvbeYLfcMyue+Fpn1U/Ii/fgyAy6Qe2dN/mI0xPGjuABCML7PUk81+6qGRhLeS8PQPSG6zyvzBLnl61BTMs1aq1eOMqkx9COnH71iBgumlfamgxXJSs3FFhFphTP/DUwBJg0z2aoR/wSPcyScbWIId8dEaZoft1zmqS0ShIMLLAXur0dGyXCKRTB3khSG8r59q0/wls+ORMxZ2jeGHJOV+pvQ176/D2T7r3BCKQaDonhrmSQQxWU0iC+fQDx+1Tg3hnF+tuEX2+r7gFwsXv3c0S1okgh2x0vp9nbY5lrQcSjCywV1qf0h4C6+DqIPs4CRLSq8qDazlhKc+wf6/U3oTl8JJg518BKRN9NLzloO4Mlbbl1A+sepd4x/i27+PXDuV0ewVOXTr2KMghD61P6w/4Ts4sbQFIMLLAHuiy2pQWB+vg6iD3igRXbgV0+OZQvc4IS8uLhx27sVISQVUNIXZUnw5INc13Ic5OXqrKssz6gX9UvUu8/UC5cyC79z/h3NFd+5An35dI8NcgiFxUn+A7OUtrr4EEIwvswRTzv4FxdJ3BeACkt73hJNV9gQ7vZVB01CCy70pGWHopAGf8yxDbt165fZOZipAPBjpYYRb4OEaZx6eDdl/TVOSB9Nk+Y/b+fyLeqe7aqDaplYMYMhqKlTZ8n95ORPtpkGBkgXup3z6XTOaDdXTtIH8G0ps7w0lyvvIg4ezHCkumc5naUlI7GXIbv6r8DqXJyWG28abG8YUKSTCbfmCxxiyA/sFNzN7+VWJlZM9KV2PjQQ7Z6A9iErjf5642rd0KEowscK/K9i3tZDAOlJplOcjIPQ3o8I0EX8QKT3H3ALVOrFsZchu/GQCiMDXEq5HeUxvE4dMPXGS6OwWKAJv27oIU8lqH5FydRdZuCsghF409JePs1Vux80GCkQXuBU4/eNIw1o9AunAwTOcYkN72Bhlltgc6fCMMdYywtHJgeWawWnvbd4Y80z5PLaLDu36qiRTchiCtFBz/FLFGrBeUe7qkxN6IPtf7zN7+d8Xv3XMSrH0JcshkKFYqdqYckqZlQIKRBc6+Fzh2GNhG9yK9N4D0tuOMVNjrAh3ei1izItatMMLTf5UHukKfSXMXKLUvTfMNuX0rFWKX037g54MVrHT/yuztX5HNZO7asqEpkENGSgRKDgnWDwYJRhY4K01pM8iwfcA4ulOaGnfeAPFto88BGf6IKPdDaZ08ydOrtmBg5+/VBhnsSeGuiqm0FJJgPvuBTfsvgakQS7jbClKIXe7dIMFp3QE5ZKNLZ5aWbijjDE63tG1AgpEFzkJXNaSiqGTtjogyTWZTenPOGQmbkKNxOqs1G6ajtCSFVtuM5GBntZlg5+kQ2/YblVPyOfUDFxiVuwXikqaSbLL7bGbv/qvZlqLXp7V7QA6ZKGXYZB3DmYnE5iDByAJnUQZ9P5hG9x3k/UF629GkOxzo8KvEznmcE5aKdbdIqb1N53oWJFhVLyW1TdDPXxTiUugnVWGX2dDGxdHoqA2CcUfb5zB785cMTrll2dqr1tI+A0FkopYmbV96zfDh69DPXAkSjCxwD3RJrTk0BqbRTWE3pbebD2Jp6cQNgQ4/pLqvyCwxwtLbAQg6zOFga7HLVIV9i5KVO4a6kiFhn6EwC8ypH7g2CDe0KH2nz7KU1/R+55Rs7TWjzNBBDhkNxbJiB8o8j1Rl8D+QYGSBe5AFvgw8o2cOci1IbxutBzL8ERFtZ4alG1XauyRhF3BZb5JnjC1VEkiMu2eGvDVkd4UkmM9+4Cz7Ub2VxinnL/F770dkvfOVSMpokEM2unKmVZonlbRZ2iyQYGSBu6lf1WwVHQSm0V2h8kFmU3q7mflwLgI4fAq6xB2XV2+5e7RKe9PApoPZlJ0nMpqiQOLzIbbr8mzWxXhIgtn0A+cnKvcKQFD8ZGbv/cIiw9Z7Y7NaK3YHyCGTLHBae0P2maQe5MdBgpEF7p7qE8AyelT25OwA0tvuIKN9gA7fSPDdnLBEJbpDFDu1k9mQ4KRdLtu+Teu+fg6xXf+tCrvM+oGXqgw2CBFkMNy97e2VQbtOrx3rtPYxCCIbvV4+CdZvAglGFrgbvervzKqowFrXnhES+1SQ3rZ7AgvM0f2BDr9Imf0xIyx9qN7e7itsMmlZ7PfsrdB6uV3DbVPnSoVZ4OP4ZIHdGYqvij5iLSCzt/6pSC/3aM5IxYaCGPLR2rQmvbKLss/ngAQjC9y1Gn8Aw+h5luhRkN7gZD5CX3nAY19t87L6O1Tau9Cq2kSUs7KxNxFSBXfo2eGuinEPV0iCb+NzV7gXKw5OjmX2zn9TYI4v6TVBSenHgRzy0QZLk17ZRYOOKkGCkQXuPAusTwfDyCry6y4A6W2t9hWAhl+VB85RzMrqxygNOhj273mVNtr7S8e06U7HsDHfSPBHjO4KZS04ggzSZ/iO1zvvHulJls7SbgE5bL80Ex6PR5ngMu0AkGBkgTvRVfVJvQInpccPX8YE4W13QidKCvzKTCaca1mR4JQTV2lvMW2Wk72L4u4fZdpXrFET69RCHBD8WBV2mfUDK23BYVgR9oBnznVamwvS207ZcEq7BB6PRySYCA5IMLLAnWSB78QpyYaQUJYKpLeNruqfHJcPdPjlbNmvM8LSfPWBrnBnKdvJBI+UG2Rw9wh5Vcx9CrPAjPYDu68oDEweweyNnz/AGuPJipsGc4sSEN6OpihHt4PH4408VxYrBglGFriDioufa8v0LXBKsnMybgPpbdNT+AaQ4Y8Mio4aRDZeyQhP96u0d9PUYl7rz2j9FjLtXg5rssfhfZKxRs25XIWNRcCXfv6XnILcRPr38yxDZ2lHgfC2u6blc2I1feH1eCPClmTX5SDByAK3qbiw9AtwQrLNEsWd90B826xLuA7I8C3jsB+rsvqEU6XS3kWmuxPD1WYnyq1scOpDbVPD3lohCf6I0btzgJrKHOcuZnfETZ462LQuB4Q3GGuEwi5k009BgpEFbrWz+n8vGcYAnI4spFh3i0B6253mewTQ4RsJvogTllTsrG1JIuxJ7Pr56XeWZV+x01Xsdg2xPRdGIiP6qcAus37glaJKRv59XLkvs/vhAzEt31tior8FwttOdqos9nt4PJ6T4FdAgpEFbrmuS3dwMrJ2kN1DQHrbK0vr/coESIdZhzpGwZSvI73cP+mBvZ/gN9TOllYaVJR09w65PZ9TmAVm1A/svCr9bqAhXFSCPY/T4LHCRGYXL204Y5heJKaygvS26VH8fo5lrQePx3MS/AhIMLLAzfTNmuHD18HJyN5BngzS22YIzFwgwx9h2J/6qFqLj+hHn+F7fkEseb2VYq9ryO15rkISzKYfOD/uXKmgKuda3Au9dLCt2GEgve1oSrsXHo8PhM7SrgMJRhZ47b7qtL4vTkXvSPDLIL2tnRH7ViDDp6wZv/7Uk1Xau9Bwf4Oeft+JxIuhXjdFmW6FJJhNP7CoypJLgDO7iAFRjO6FN6PRURt4n5mLXQ3S216fYmwEPB7vpTalnwUSjCxwkz6LE9ELaeplWwbi26af8P+ADp+cWtM5nVnm4bdKSXDcPoFnT797u5QgoignTTjLw9ynOlizB6rALrN+YKkr+QQZpJ/5LiP7LvNruBtlPF8H6W2jSxpMsz88Hu+FhiCNBglGFph0ZV1ZbBhORG8cuKQ7HKS3nUFGiYwGdPhWefA4Iyz9qGqg0K9BB/ufTM+xlFK88A8Vsl9XmAU+jk/g1ZktNwvsXMIrGGn/xQ87zrRK8xqdUZDe1voEvB1/pM6K7g0SjCxwbVpDxWrvs0TumSC9bfQTIMMvqe5L9v2GEZaeCkDQ4X9Mz/FUOZlg5/KQk4cbFJLg2/hULjjXyAt+ZypCXr3QWl+ODK/2ZXBMXdr4Awhve/3AsbHwd3wiwZT9AwlmnwVeVJcauhlOQ+8d5KdAels7fe49QIY/MjjlljHbD/xntZUelQnGZ/k5SXforHBP2XaOUUiC2fQDF5ru4VKMWmGvSz/vv4zugZ8LzIzpGyFJa5NBetuWaT5XFiuGx+MT5gyjECSYdxaYSuLPwUnwJiv3PYhv64E6jgts+EQYyLa8+lLtndUGueyxjM9yvd/2FTtdxcqVUA/FMmxdBXaZ9QP/UhQbK4U00J10Bqs7mGYi+EpI0tp/QHrbaAO8HZ+JcFpbChLMNQusfz5tWPHGOAW9lKKEsyVIb3uToatSQIdvJPhuThmIiDVC6Y5EKrG8g/GaM997WQsM58CQ2/ELhVlgTvuB35ZjUztJP2sJI7s+H/FxR/uzmjaQ1tWsAOlt3asY+xO8Hd9J8EcgwWyzwKNxArxxMqpAeluru8DPR5M9CU7YHzOqKKhRb2/nQ8bn+W0J9p0c7koG5yGF7xObfmA5fdeNlV8NjM7/9zTVfIivRCSl7Q/S21ZnlBk6vB2fSbAVmwkSzDELrL1GBuqLE+CNA3cvSG9wnL6wS55etQUzPJ0LeytdTTVPwh36GnZc+0aCP+ITMLNH+l4VEncmYM2h10REuxSkt02W6g14O1Iywf8ECWaYBU5pewH9Xjlw5CSC+LYeTuKcCGT4hLe4cxSzoVh7qrW3PZL5ef7GT/uKna5ih26YbZhnZLZXgV1u/cD5CXdzCfZcyMimj8jAaW1afxHEt81U6PPg7cjAXuwqkGB2WWCsHUOWyGcSbLi/ATp8ykQknGsZYWlZSYm9kVoS7F7H/Dwv9DdT6R4ScvstVtXTzqwf+H3f717TmcbInl8W626R3zYVg2nIKV0O4tuaBBtbw9uRQIItbRJIMKss8PI6y0gD+V45yAn3SJDetj1EkciIfkCHb47tbEYVBTOVBx3izhvcz7TPeL465ParU3hXsOkHzo/bt/p7D7ijmGXVD5FCQspivwfpbaPzfsFMFUkkWP8/kGA+WWBqM7gBqPc2K3cNSG8bRamBTzKwPDM47KWjrXrLL1Fp76ZS3VXcz3Rp6cQNEdTJuk/1UoUk+CM+pM05zrd33qraVLQFMLp375BIQi4A6W0zFfoqeDtyRPSGggSzyQL/MGOYXgTUe5oJDv1Al547I6ZzOpDhE97i9v68dk3b+yvNupvOH3CmnV/EHl8/7CvKLUMfZKD1Tyqwy60fWPy+/t0D9j8Z2fITv857uw53WqsH8W2p0y19d3g7kvBHpbEgwTyywHXp2BlAvIdCawMG0oOxAk5y6yEwzg5Ah1+VB+7FjLC0QpwxtUEu9684084vfq1IKTTdw0Nuu1WbGscXKsoCM+oHtj/2zY5x51BGZ31VfqJS2tTUmaWlG5JzugTEt4V+UzN8+DrwdiRlgsuHDAYJZpEFnifuGyDeQylKunvDQW6zTuUnVUNgmFQe1DPC06vq7e2+gnNN5ZEpJ+5PZUPoh469o6yKgVE/sF/lu03tJ18wKim/WioBKTOGg/S2mQp9Ozwd2dlg7WeQ4JD3AqdixwLp3jtw58FBbqPPARn+SDQ6agMxaZbPoBvnSqVZd6tqE/ocy3GmnV+Kk3a5P0EG+62Qt4b8QyEJZtMPTAP0xvhiQ/r+GJ3zd2VP4qchNeeA+LYmwfrB8HYkk+C0NhckOLxZ4NqU9m8MmvMnK/cCHOQ2ZWnnABk+kbKEvTOr3nIqQ1Rpb1EWiPO8WotMdycfggybgpz5I9z6gQv1KsNrG+YZ9u8ZDcVbQdO1t5ONUyLBL4D4NlPKSM6qKNkI3o50ElzLnQSHuheYfjeg3GsZXr2OKP2Fg9y6HNrGQAffSJk9iVNvmqpeSlR6yDnXBXHnqPAHcqpSirLAnPqBP/epCuRDRsMsz5eN0TmWtV5Yy1B7oY/A05Ev9Wn9AfYkOLy9wDhT/jgZ7rZwjtvoUj9XqaDywJnKCEtzlNs77tTgTPs3pZv+3ptCbrdvIopKsDj1A5Pe67n9TPcqVrMXFMzxaLC0nUF6W5Vt0s5aeDoKMsEp7QrOJDjEWeBl9UktAYT7QkjciXCO22gDkOGXVPcl+37LaMDa9UrNTU4hfY6fcabXlPW6h3t/h9pzQ263x9UFafn0A1PFhuOl7cR2A0a72JcMTrllSogHrSsB8W1RCr3iuWQyH76OfKG9zKewJsGhzQLHrga6/XIyeO0N7OaETvdiIMMfEYOJmGUeR6q0t+iBxZluPjXW9XSyYp4xtjT896GtZCcht35gL0vODWPC+mEf1tbynnVOUZh9mwby22x6LfVHw9NRRIItbSRXEhziLPB3CCr5mgl2/gfnuLXTV7kvkOFb0CXDjHRtrtTevPqvu9EzaGe8xbNzTOjvw7izq6IsMKN+YOdLj3F5PiPb1UUiI/qpwKjYg0tO6iKQ3+YkWD8Bno4amW7pu7MlwWGdCE3ZfSDbJxGTKOEYt50umWdMGAB0+BR0Md17GGHpgwAEuabiTLfQkz0mG2FfPbNM9rqZZiSYUT+wO8Wz6o+Es6X43pjYbmFxIqOpul8bUtHtQXxb6oxUbCg8HTUi+kY5kuDQZoEt7cMnDWN9INsvEhx3R8EpbtPD+R8gw08S7MzjkwV2blNr7cb+6+9wrpt/J/Ykj4la2HtWX1ZXxcCnH5gqRsZ7YjSx7SHhzEIftRyhXbingfi2UPhPCqXBNPuzJMHhzQIfDlT7miVyb4Zj3Ka36G9Ahj8yWLOHsCqrjzvHqw1yVW6FM+1fvz+LnlVF9yG3fmAxK8GbygT3NEZ2eyqiaGr5Wufb0qaC+DbPXOl/gaejVuh7+JETCQ5vFjg28xfF9xsDEuy8Dce4TaboYCDDJ7zRkChOWCoybF0tCXYm4Ey32cV6BSppejJN2zlMURb4OD6BGedrL8hcYcqJM5oE/02BOb5E5f1K9ev9iAR/D/LbTMtiw+DpKCfB77IiweHMAq+qLdN3BJp9lJKEXUAPySo4xS10lbAL0OEXCXavY4SlzwJQ6TEFZ7pN+eR1npHghHNH+NtD1BANZvuBH/HAZH3o76ll1EN9pHKykTK2BvFtoe/DywkECX6eCwkO70RofQqQ7LeDbGYOglPcRt8EMnx1bGczwtK9Aaj0wOT3tnqXh/b9JOQ97R8pvCv47Ac27ZN6bS9eU/cfCATZsLSJIL4tpkL/FV5OIEjw3WxIcDizwEvqyxMakOx7Vs6+FA6xf1kiSEsZWJ4ZTDZeiVU8ks53sjKBM+2fA81isn7cuVsFdrn1Axca7m96Y6+mXdU/MrHX/AHWmLxgkI3YoyC/v+r0dGwXeDpBwKV+OQcSHNYsMIJJ0iLt7gw4xG2cvqOADN+CLvtzwlKe4aRV2rvQdEfjTLerU73JAruVDOYjjFOUBea0H/i73u64pb/jCS7tStSCsF8Q3jPyyvsSCf4a5HetfilsAk8HFQrSSHAos8Cxr2u2ig4Cin2WaHTUBvSgLIVD3GZNxeZAh0+kjKbyMsLSVxHFU/3I3rfjTLcb6KrxhAQz2Hct9s0qIsG3ISjTbRwezchWNwXlPatNauUgvi2mQt8MLycg2KS1OmEnwWHNAtemtBOBYCkOcmYXOMRtFEMd/MwEJ5x6RtNeHw6AvT/AmW430DXDG/van4fcVj/2NkPZCxL8EaOgzCnZ2qlYd4tEwI2JrT4otKo2CU62LTYe5LdZCWeZdgC8nGCIKEsPPQkOZy/we7MqKtYFgqU4GfYkOMStezidfwAZvlYeLMagG1nn290cZ7rDYU+zPbg/kwwCOc+owC63fmA6q9v2IhBzHxM7rRCB+yC9aWJ6K8jvWl34pGGsD08nGFJj6UaYSXBoe4FT+iFAr7ws0eNwiFs5fXHneCDDr8oDe2dWeDLsrZWeb+ptx5nucE/w3F6TYBaTeO1zFGWBOfUD/xgZXr1OVmec03YH07k8aG+a6IEF+cU6l0CS4Gh0g1CT4HBmgWuBXGlS3bdx0Twc4hZanMhgJDkqD7zQ71WVkf5KglntY+6pQz3PgyDiA6Ef7BZ3fqeIBLPpB86PO09nY6PBmj1Q7CHnsrbQMCYEKstYWzY0BeLbrI8xrR0NLydwQZpvw0iCQ5oFXjXd0rYBaiVJnlFpwRluo58BGb5WHkxlhKUnlGfe484bONOdBSl6JX3o7/gy7OWnBebo/opIMJt+YPpd/5zlfXoTExstU11V0y4JTusOyO9aXfaspg2ElxM4EvxmKElwOLPAdwOxcrNEDhzhNnovkOFr5cG3fBxbe5JKa4sdmpz2MWehPyOI2KW+pgK73PqBi0x3px6/36a9u1gVxGS2wl+C+KLVp7V7QH6bNKVNg48TSBL8bNhIcEizwIsbLG0IECs1K2ffCUe49VAsOwNk+CPFSbuc2X7gHZSeb069gllq7zKV9jgGQ7GuUZQF5tMPbDo/RawR6/XEPiUl9kZiiwETG72cbb+0/wRD/xwEeM0wH60KXk4AMZqK3R46EhzOLPBFQKt0EozVKe0QlzSQ4ZNjy2KIUPaOrfck2LkcZ7qr7yn7Ul+x/ir89nGV9Pgx2w/8XBZv92Qu1RoUzDOD+J6FcfJub3oZG8wtSuDlBLJa4eJQYS2cWeAvXzKMAUCrVAd5fAmc4Db6FZmmD9DhF+bcexhh6fkABLlewpnuXPsnx+VnZ93qvkSCvw67fURZsiISzGc/cA9LfcUqpcZebRabGuwTgvqe1aZiY0B+1+pL8HACmglO6xPCVXYfwixwSkMFqmwpNO0RcILblP49DGT4mpmcx2j9zjkqbV087NiN6XMsx7nuXGm6blY9OEUJZ0sGGP5cBXa59QMXGJW7dds4VF0i9lszCiQGNihda8XuAPldq3+GhxNQEmxpfwQ+A71W7K2a4cPXAVJlR9rjzpVwgttE5E8CMvwRQTaYYWl3pec7UbkXznS3hpclswsiOicyWNvzoKIsMKf9wIuj0VEbdL+6wz6Hy+T2bANU8jJs2sdw4FdrTXk0CS8nmNKQim4PjAY6C7w/UKoiK5dwZsEJbh2RD94KhtDgLW6PZISlpaWlEzdUfL7PxZnuxlReyuhmiefHEBT0jQRz6geu7XYgMeWWibuFSXDq//BqBktoIlGfhrS+LznutSEiIZ+G/XurSUajIJuB1edwsyiQQqtqE5RKttEfIpER/YAOv0iwex0jLDUEIMj1As50d1og7J17bt0R/ei//S78RMTdVhEJ5rMf2HTO7wHmuPT4P4IXMzgyJRLpV5vSj6hNa/8NIQl5MOzf3xzLWg9kM5C6coYV3Qo3jBInA6WS7egTQIavju1sPsTKvVipsalvUEynxpnuDtGr3KvHAYZkpoLFdPMKe13Z0OXWD0z34p7dDGqdzMQmXxbrbhFeTPXypGGsX2fFKslZnxvatU6WdjKH75L6gheAdAZO/4FbRlmWiE1fUU/KryYBGf7IwPLMYLLxSjYk2HT2UWlvsZ8YZ7qbGrd73I9TEHdOQZmub8EyTv3AS8W+365sUmTYOv27i5i8wwfjxVQrDabZvzYd+xOHHci1ZfqOLEhwWnsNpDNQ+tPMRGJz3DaKhKYgPwMHuFVvoOnuBGT4FHQhosEISyvyjAlK971RieXpONPdJcHOUT0PIjpTGZRCX6iIBN/GJ/DqzuiGSfqIPcJhqS6gPz8lfU20a9De+H9S3/kN5I9cJAJLhYnMLngt1UlNIlFA62fOIwf9GyZEZGlNNLoBh++2Lh17CsQzQMGXtFaNG0eZNPYWLYQD3Kr0j0pIgQ2/gi7uxYzwNEt9pUf4SZp3e0jdUVncnz+EPzjgHqCIBLPpB+5O2wRVbY0N6OcnH8L+mP58WbQS0T/fSXoF9difUZBwK2my+KFi9VNx0i4nsr95TyZgQ+QKZUO3oLLgK8k5X8SMjLzM5jtOa7eCfAZG59dY1ia4eVQ5yBz62XquLwAZvpKyekb7ga9Qa+3qvhyGNnk3mMju0ZL6PCOzPQO7rBpgjcmTjVxu/cBdtU0UmONLxKogOZ/HXUB/zhFl8PTPUyg7e42YMF8YdyaIaom8uPM7MUk9zxhbCkIbkswvrTUSfYkiI8qRjAjiz+W7bsrwg4AGIQucio3B7aMyKxe3T4Dz28YBQGmCTyIcJrELk1FvudKeNuGo4jz3qCf41J5lKu1JDAI5bynKAnPqB15eYI7u30Xw8NFe/P2ih/gDItozxTqv/Lh9KwV8Lmjcb226R4uBcCJLS5siNo0Mr14HLxUfmW5p29Ra2sNiOi3v/az6kXxIsJYBAQ2AWtpsMW0dt5DarNwDcH5bZ4PcPYAMn4IutIKGEZZW9U+Oy1dpbyo9HI8z3aNy6DN7ZN+48zQDu9yiiARz2g/8cuf3pnNEO//Nz6IEuZHYCoJM/bQigEt2qxLBt6Jk5Y7FiYzWnWFbEH5CTvieYi8pyMhqFftz+ZBg/WB85+p1eir2O9xE6knwZ3B+ez6hE5KtY8shc7aGUDlvIMgV4nVWtDKIw5RewvHxikgwm35gmkNxeUd2KB527Mair7bQdA+n72JXukOTqoftQXJTfolE+tan9EPIAX8FJKSFfsEt+4/vXLXGnsKNpFiKzbExOL5t+rJmAhm+kjI+Q5ri7nUBsPd8nOseVYFc1V3bikwbD4KWMWXjNqT9wEuaiH2D6LOlKoIrRfk9TW8/RnXFCCTcMquiYt06Sx9Fa47eAvlopy+TysE54UGs48H3rrQMekVD2rBwM6nOytHjC8e3F5kgSA+lcUjTt3yw5Byh0tqFKSeOM93jjNz13bZv3DmLwXyEBfSr9lGQBc6lfuCVTcGmWYSffwkM0T+fTZnb0XQH7Cd6bTc1ji/E/Q+RT35LNqpP6yeQ4z0P5KPTfuDTOOGiZvjwddj3gCtdiRS7EbdTELJyjT1EcHxbEZf9gAyfKg/IGeRFqMaXKCXB5ITjTPf0O3Pv6UGW/XkGQYF/KQnQBqcfeCnp+zQRuYbehjvEMCnRZ08B5D/QcKntxLofDJKCBE3qy4cMrk3pZ1HGaQFIR7cm9O7KDSOiBBzfvRL9scaKbopbKgAiehbh+LbQFYM1eyCQ4ZNjS+tnGK1Gmqv8fCfc23GmexwEe6g7tjWMCeuvHkwU+vJwJRkSef3AtArIdP5D//yIKIWnP08uNO0RjauvUvZmKrLgEEjWxCY1dLM6K3aZcLRBNrqty0XGnB1WLG0WvnsFq7hSsTNxUwVABpZnBjeVccH5/VVfBTL8E5FlY9NbSitIlNtbZLBwpnuqU7sZQNyVR1Ags4ts3HrYD7yYMrjviYz96oCQW00zH8aIHbdiuFRp6cQNcStDwiAzygy9Pq3dQE72EhCNHvdnzuIZMNEex/cvXT/hGHAJJiGJ2/vD4W09yMj5G5DhJwl25jHaD/x/am09vgRnOiut62aA4WwOk/LFXm8FWeDu9gN/QcT2FZG9F3c3tfecRMOmDqWdt9s07ruFQEIu9VZsSyIz94pBOyAY2WbmtGt4kmD9Jnz/srGmH4dbKyBCjsNFcHhbZ++cQ4EMf4TKzIdwwpKYvK74fB+BM52VvtRNElzLoDT8RRXYXdMPTD//a/rz32KSMgXQLhP7bymTu4/I4qog5xBIUKTB0nYmp/oJ0lUgF71eVXMMywBKWjsH373cigOxogy3V1CycgycuB7qKkzw9BFvcXskIyx9EoAg17U409lk8J3ZXdlWlNGKdTcM7DFZDQm2kwXm6P64NSGQX4Uc6D61KW0/cqjrQSq80xpLN1hmgq1YJb5/iVngMmM4brGgiDVivcZ+KTi9zXUOgOEnCXavw4Rhqdm02TjTWemHXdrWdPdAZQwEApEhUyKRfvWWdhQ50q+BTHienVvAFVdURr8/MCBL9cdwkwVI8gxnBzi72e8HhYCUdaG2SlsPsMbkYehd1vpZ1yTYOZ/FUCz01UIgyuRJw1i/Nq075ES/DxLh175W7V9c8VWf1CuAATnTxxvMmIkbLVBZOftUOLuth2LZI4EMf4TbJPL8eFVK6fk2MwfhTGet33dp34RTz8AO7+PmgkDkS4Np9qehRaeS8zwfBML3fuAzuOLsubJYMb5/KVngv+NWCxoJTjiPwtltqXnG2FIgw7egC6dJ5F9GFO8WFUOEcKazn4jcmW2Lhx27Mf07y8K4I331Si33SarauJomLO+FmwsCkSd1hlFI057PJ8f5WxAHSZlgS9+DK97EkCaRpQQOfC23/74mkSjA7RYs6UOOzgI4uy30A8DCP6EdnRezyQKb9j/V29t5EWc6e+0siFGUdPfO9SBNUyb7FuptPo2GUB0sBlGJORG4qSAQBZlfSxtSm45dRU7zTyAOUgnKihrL2oR14CWtfQos+KhU0YEbLmhZOTNjwtFtvQrEvR3I8BFzPMpHV2Mpbp+g0tYlJfZGIc1USlNa5zUwxwM6YnL1a2K1EAVlLshPuMeSbjsoOmoQbiMIJBhSWzY0RY7ybaTLQBgUTOtNa29wxyDZ4RVgwTf9qCYaxSq/wGXlTGcMHN3WxMU5HsjwR8Q+T06TyAvjlVuptDeVsu6JM93LHc+6W5QLWfamPbp1RHZvLkjYf6L/e7/iREaLRKqxixACCahMt7Rtai3tYXKSV4IoKCTBlnYL+0DMahwCD/5kgY/EbRdAISf5Nji6LbXIsHUgw6egS8LemRGWvlNNQIgQVeNM9zoTPKRd29LuWvr/L5e9v1y0a4heXdK/klYWJjK7lCRs9BlBILmVdduT9DkQhID0A6diY0CCtWuBBV/0pV8Uz4aBdOQkx5334Og2V/tzoMLPoIs9iRGepio/3wnnBZzp3g7Jq7TaD+g4+/n4c1c2kl3T+Rf9nEsoWHlcQTJTIQZx4RaBQHJTxPCh+pR+CMpOg6cNacNiT4JT+lnAgue6qs7Sd8LtF0ARZX5wctuQ4PuADF9J2VRGa7bUDkGg4UZEon7Cme6lGvbW7WLZdC73ZgqzPZew8hiR3Yto5/Ax4ueVlk7cELcFBBIOmVVRsS45wqNoPcpbIAXBnNorAhTccUp90aOBB8/1n7gBg5qVizuHwsltM803A2T4JdV9ycbf8skgZrZXaW3x83Gmvei1tXfuIKAzq4cBto8by5jj9qVrMrsguxBImMlvyUb1af0EcoTngQwEuh/4GaCVSvSt6N7Ag6e6dEaZgfbKAGflJsPJbdX/l3LLgAx/pDhplzPC0qJIhb2u0vNNmWicaQ9mBNAapNa2FZOVm3bptvfffFNgutMps3tNQdx1ikx3p84mTEMgkJBl1MqHDG4sLbW0BSACOaHnArVEgstiw4AFL4dhaVcAVcEmwS/DyW05XTWC5nXfRGTZ+eDJfTYA5/txnGsP1Mwc1Ma2hnOgWD1Fk+TfIMJ7j9ixS5P29ykwx5fgpEMgTElEauhmdVbsMnKAfwQJyKV+YH1foJfwaxiFwINn+o0IhgFVARXsD21XHwEyfCRlRBb4ECf7L2qtzav03Ofe7pFtAjoJd3PRc41TDYFARMkj9VPeQI7vEjj/uTe4aKZVmgcUNxFhYNirLPBJQFOQCUnSHQ4Ht032biKQ4ScJdubxGaZUuZtKWxeZmWE4z1kPqnqL/rxXZHfzDPv36NuFQCDtSb0V25Kc3Xup7HkFHP+cHYr1DpDcggR/BFz0WufOsSwEyYMsVMZ3Fhze1tk757dAhj8idq0ywtKSaHTUBirtTZnK8TjTXZ53MTn7Jcra3yB6d/Pj9naiQganFQKBdCYNlrYzObpPNK4/gcOf63obEN2MBFuxmcBErwMrfwSSgp6VSzhPwRFuoT9EIiP6ARk+4Y1KShlhqT4A5/sBnOkWVR4LqOf/GTGZmXajH5Ufr0rhvEMgkJ5KzTCjFI5+eLQ2rTtAdTMSTCt9gIteaT1QFHhp7Bf8Ho5xC30KuPCTBLvXMVqzdYF6Emx/zvgsf9G4jzrunpefsA8WVQg4gRAIxAupLdMOhaMfpvVIsS2B6mb4TseuAi6y7y+nTPq2QFHApSjhbAnS24q4JJw/Axn+Cdl3NueVOlLPt2HrjM7uZ5TdfYxI/zmNE5sxnRkSABHtEAPLM4PFALXiREZr7NGnvdBUer97fqJyr6K4+8dC0x5B+LWpMsHNN53TC+PumVStcIlQ+t/+Rv+/G9dq41BBd8oazY87T4sJ9NkqTTKf1vzva/w7E85ta34e/f1Xrv0sCedc8flEj7z4vIWmO7rxs9PU9MbfJVm5Y+PvlqxMFJtjY4VW1SahzpRZ2qVw9kOjC6dEIqgIak6CLW0ScJH1MKx7gaDcICRVIL6t1yPZOwMZ/ohwBsnGK5lgaXmBObq/SntTv//xIbXt/1avfbLPIed8v6LY2GKcLohn54bImwiiUPVAksjrtoLgrSaq9ljC3clEFKvpn6+gf76liTg+27Rm8O2moX9iGvsi5m/pl8W6WxRqEpzWauHwh0afx83XUupT+nHARVa6eEYqNhQIygERk09BfFvoz1h34iPe4vb+jHpPX1Ee5DKdf4TAlt81ZqwSzkWUlTo0T6/aAicJ0l0yu2nSjRKJ3UbsbqbzcAz9eaIojyc8XbuawDovkL5G+mETeV2Jd9CLiir74DBjq2b48HXI2f0JDn9YVL8QN2ZrEqztBVxkNQzrUqAnV0gJp1U13doD6tQAFT46pQn3YkYk+K8BCHK9n4NTmutJJ5P9jizUqwycGsgaGWCNycszKi2qYNqzY0Jrv97UB78Eb5qqair39rBjsS5lbA2HP1T9wAfihm0ptWVDU8BGjwnwgpcMYwDQkwMiMip4sNvouUCGr6Ssns/ancxBagNc40sCbiORcZvTmK2mXshCw/1NZHj1OjglEMLEHxoH6FGPNxHcFwknn4DU5ox+QgPoBoaeINAkYTj9IVLDKMTN2yoTXD5kMLDRwwnjVmwckJMzhMQ9Eg92m6FYewIZ/ogYEEM2XswESytF1kpt1t05ImA2mU/6KPXcn0GDdfbIMyYgWgppnwQnnI/wHuWkrhL90xwwKnbKwukPjc7FrdsBzi3tZ+Cjm9UEae1t0SYB1OSIkJN8DR7tFrqspMTeCMjwC2/2zoyCKbMDYO+/Kx0KlnBmkR2uFrt4sZoI0l0RPbx4i3L23ruaETl4B45/aPQu3LwdBnvmAh/dzgIfBMTkVCa4cRgIHu+1fUzOi0CFn9kdexKjCeN/V3++RW+ktN/5G7GPV6x2KUi6w4uHHbsxEJ/DQsMBRT92frwqpSALfBzeo5zUd7kEkWdapXmNe0Dh+KOENfwkGBPQMV08fCJ6dujRWoGHuwUJvgTI8DXoMpUNlkz3cJW29nkV1Soi2G/lx+1bxZ7QJqLUBwjPIaHea7HHVZSli+9QDJei7/TOpp79T9dgh4IaoxSQ4NvwHuWcrqD7YDsux2d6KvY7OP0hKmNN6hV4FDogwVbsfmCkS10pBuUBLTkkRUl3bzzcrSdD2/sDGX5Jdd+m9SM8SLBVtanSgEPcPcDD32eRmJqeb9oXiDOiutcZ0v1Apxg2VhR3/0jf26k0eft6CvQ90zQxfFm3cJxy4gpIMPqBc60M2nTO50UMtLPh+IdGf0IfZydYT2lXACNdaCp2O5CSYyIeLTzeLQcZDYqOGgRk+CPFSbucU1mg8qy76VzWi8//AeldREaqCpKZCkxsDq6I4WLiO2pcJxV3zhLfG+lLRHa/9mDF1wLZvw/6gXNSXxXl85zOXW1aexLOf2i0Fi9JZ1iPnQKMdBFEGWaUAik5Jqv3KeIBb/GQQ3wMutgZRvuBb1Zt76a1Mt1dU/SaGGgjSrgLUvZmQGuwRPRZFpmZYbQT9zDRV9+4Uirh1JF+6TOWH5GfBbb/D29RTumSwSm3jNN5/IVaP8jx/QbOf2j2ul6KV6YTEmxpI4GTTrPA5wEluSaU2aFM0U94wJuXc7lXARh+Zibde/hMSHWPVU2aOil3XUqfb0Zhwr1YlDZz2OeZE0KZNNFbvXo/rnMKfU83NgUqP1F4J54mnwSjHzi3WoicU7gd1RpLN+D8h6gfOKUfggeoY5lu6bsDJx3qFzWWtQlQkmtZuYS7LR7wlir65oAMP0mwM48Llgalxg1Va2t79+b9vJRBnEb/218KjMrdSksnbgg0qhMxsKwoWblj4zAqUbIetx8jIvFe00qpYN2J9DkVkGD0A+eO1kUiI/pxO8N16dgxcP7DozVWdFO8TB1LfVJLACcdVRHEKoGQXCQkCXciHvCW026LdbcIyPBHxI5YNlgish+ArPvRomw2z3B2QD+vskDj5nlx53cUfDipMatrutNFj20ulblGo6M2kGkz9APnlC4sTmQ0lqQgpV0DAhAa/QivVVeVD9YmwEk7FQRp7Y0pkUg/ICQHhfoFH8Ij3lztt4AKH0lZ3B7JCEt34htnI30EcaNM+z6iLFSsjBJDqUi/D0FJ/wz5gQP0A+fQ3AO2GRDqIZ0FEhCafuD78Ix1EfQp0w4AVtrDTnRvoCNnM8HO//CIt9AbgQo/SbB7HZxDSC5LScIuaNypG7dPoO/5pqbBYz+GuKLhcvkkGP3AOXLHPRlhuhe8JhrdgBzg5SAB4dDalHYiXreOZVZFyUYUKPgQWGknE1w+ZDAQkotZYL3KwCPeZj/wSCDDV+d2Np9y6IyJbzx3pXjYsRvnJyq3oezuGMrqX0EO/7Mcg4aUCT5EwT2BfuDg6zcF5vgSrvdDbZm+IwhAqHo6t8Wr1wneLf0C4KQDEpzUK4CQXCTBcXcUHvKWmqdXbQFk+CNiEFDTGh4OWPofvvEcEeqVFtOYxVqopp3pj5C+zwirnarsGQnoB86ZLPCRnK+Neks7GQQgNLp4jmWth8ewA6yvHoi1BDjpoIogHTscKMlBETtM8ZC30A+BCh/xRmt4GDmIU/CNB0/6J8flU5ZxT8rs/onKmO8QO8HF4CfcfR32tc+VnwVGP3AuqBhyyPkuIef3QRCAsOx31Wbgdew04PMMcNIJCba0SUBJTpJg52085r+qcIqBCh8rD8Q+Wj4lpOPxjauUEf1EObrI7jbhbirpZ7jnenonurfLJ8HoB0brUE6Q4E9AAEKjk/Fmti8iywl8dBVE0W8CUnJMxHAXsQ4Ij3kzh4/2dQIZvgZd6tnsmjYzw/CNyxGxvoeGN/1WDCKjQNa1jYOqTOcn3GleEB3XUUCC0Q+cGwPTrud654h9snD+Q9UPfBhe0rbSYJr9Kcv5GTDSpT4HtOQaITEzB+Ehb0WCU04cyPCRqCScxUyw9G0kUt0X37r3kmdMGFBgVO4mdu6KLCXZ+jXS5bi/fJqRYFRaMr9f9APn0HsZd97geg/Vp/RD4PiHR2uGGaV4XdutdpgMfGDHdDhJcNy+FA95C50PVPgnhQl7Z0ZYugXfuBeButH9Gwlvwjm5wHTvoT/fwbAqqfqd7GAO+oFzSlcOsMbksSQHlnYpHH+QgDBLbVIrxwqwbu+YXjGromJdoCaHhHoWZ+ARb6H3AxW+OreTQlwWKEpvnxB7Y+n3TOLbziJIYlVtQpmlXamkeWJB3Lm7aV4BCK/6HbCS7wn0A+eUGs6BPEmwPh3Ofwu9Da9YeOQX2v1dn9bqgOvu64wyQwdyckSaSlOX4hFvPsjIqQIyfMzqrR5MFKqpuZTd/nueYf9enCd8wz0kvInMLqKkmWx5F9nyLRDeIJa7umcqIMHoB86t4ViXcru/aOx/P3J6F8Lxb7YnNaUfh5ctVEGeUcB1T7PB0b2BnFxxQoUDige85S7MpF0OZPgl1X1Fn2wYsr1i6nOhXmXgO+1+wC3PcHYoNJ0TiezeSTacQ7oCd04OBAZNdw+ZWEE/cC4Ok3RmcrvT6q3YlnD6W2qDpQ3BaxcSfJcPGUzlvQuA6x6v2coAPTkioS5NzW410tcYZOSfiABDru6NpszU1cj2dlv6iHJwstlxdKauoXLaV8iGy3DH5KQuLymxN5L8LqEfOPd0aWnpxA05XXK1ad2B099C38fTF6YssHYdMJ3VhPHLgJ4cEXq4Hsfj3UIfBSp8dG5NO5MjOBAZyvp80zld9lTcXJSi2Nhi0RNI3+8FRHqfIdt9j7skNDpLfnAW/cC52RdcuRsrkkD9r3D6sSM1jNJQpv2WvtOVwHU2LQHaQ0BQTkhjaeo3eLxb9Hf+CbjwMeiyerJvUL9/QdzuJ+J7TP/kuHx8Wx1k84cdu/HqNgr7T2SvB+jPj3FvhLgUOu5cqYAEox84N1clncWMBM+B0/+r0h7ZkXghc19oGFbf2pT2b2A6a30NKMoBERkuPNxt+j1/C2T4SYKdecEa5uK8R39Obux5HF69Dr6hNtInP16VKjTd0TS86gbs4mXZInKETMChHzinAyZPc7kYn9W0gciUteoHNrcowZMZguAO9bQCz73SH4GiXCAkcdfBw91CCbgj+gEZ/shgzR4ShP5G0ufFvtnClBPHt9I2y1uQdIeLacBNU7xRKcJc84yxpXKzwOgHzmH9gcsbOj0V+x2c/Rb7Ud/BCxoCAmwYhfR9fgdM905rEokCoCnoJHj1hFY83Ayj2GqCLvZIVcPOxPodkdEiIj4Q30Qz0pvIaKL8Wwz9Er2fyPJCW1XGzJONSfQD53jlgOH+hgVZsLSz4ew364NMazfgRQ1DFjh2O/DsQVVEKro90BR4Eux8iEe7OVmyzwAqfK08uE5ib/fHVOJ8FZXw7o4y59ViGBPWL0pW7ih6eSkg8DDZ6Quce2gX5+g+BSQY/cA53Rdsn8CDLGiPw9lv1g+c0o/AK5vj1Q3p2C70Xa4CntEfH35CYo4vwYPdhgTvDGT46tzO9tlhf52I9nkFhr01rL16YjNVNxxK64n+SjuNZ5CNluCcQ3tUHUO7sGViFv3AYVB3CpNMMPan/qqrZgzTi/Dq5q7UDB++DmF6NrDs1YTo2JlAVYCl0LRH4LFuoYtFpgzI8EcGlmcGk41Xevydib+vTvT3irJeWLl51t05BWca2mtNZirkBsrQDxwCnR96wmDpBhz9FvomXt3cltp07E/Asaf6D6AqyFk5WnuBx7p575s7Hajwk5TZ+3v0XS0rNJ1pRPLcQqtqU1i2oyCXMxPnGtpLXSh7yBH6gUNSVaVXGaHOAqdjx8DJb7EX9Rq8urkrMxOJzel7XAgse6q1QFaQScnqITh4sNeuynHPAyp8JGUJ9+LeZOmJRD8mskQiowxrdi4lJfZGZLOlONfQXurz0oOz6AcOSV+wOyrkJPhqOPnNJ0PHDsPLm7tSn9YfAI4910+ArKASEqtqE3qoVuCxbt77VrkXkOFr0KW+h9/JItIHRNm+wCss2ANb0zAwnGmoB3quTNyiHzhMmxbsW8NNgrWX4eT/2g+MdTC5K1j15ZuufNIw0GIZRBGEDw91y92xYj8qkOGPRKOjNmjM5naP+N5fFHf/KLKZsFy2AQf7HJxpaK+zeaazj9x3Cf3AIdJ3w3q/1kSjG5CDuxRO/lp9Da9uboogafT9vQsM+zQhumxoCiiDk5wDU6GdF4EKHysPaOp2Z32HYg2LIL6lpRM3hLW8ON/uszjX0N4OnZO9Uxv9wOHSYt0N5bTg2jJ9Rzj4zfqBLe1KvLo5iuWUfhYw7OfaMG0/oCyQpMR5Bo9086FYzmVAha8Znkmt7P2TIL5ifQ+Ir8dCO5GbMuo419BetIc4s+XfE+gHDpOKwGYYr1gifSfDwW+uxh/w8OYgATaHxmgl0s/Ar6+98uOBtMDJiH6rs294pJsNxToAuPAzM+lMFTtqKfjyMGUpj0TpuY9EIm5vhzMN7X1g0L5BJm7RDxzGd9X5WxjvWCIO98HB/7Xvsb58CIZV5iKOU9rjwK/fJFj7G5AWNEJCex/xQLcs+xsUHTUIyPBN+gjiK7u0UraI0j8i+cpLX7AfGOpNJtg9Vm4WGP3AIdR/h5I8pLWP4OCv0dircHFyMAtsxQ4CdmWo/hjQFjApjNsn4HFuof8FKiA9FUHqC8zMQWLfdmHceYNwtIr0RvUk2H4MZxqaa3te0Q8cSl0Rtsn+NVZ0Uzj2LXQyvIHcklkVJRvR9/YxsCuhXz6tvQHEBS0TTGtn8Di36H27GqiAdCViWnVe3Pld077jl9tdMWa6R6v9lNV96XN8g3MN7aV+IRu56AcOp4o7M0zvQH1KPwTOfTNNafvDO8i5SoaLgF1p+hMQFzwS/Bke5xZrQLDkHdJWKux1V0+1pknqpjtd9DR3hSXKDg9R+ZGLk3Y5zjTUg2n5D8vELfqBQz1v47xwEQj9Qjj2a/sdV7xkGAPgLORQJUN5NEnf3RLgV2agaOhmQF5ApNgcG8PDzGONAySLLKphb03lxKcSLp7KYsLyh6p/g3zTzuBMQz3Qk+VmgdEPHGJ9IWRZtOfh2K/Vl+E35Bx+nwNuZQeL9J2AvIBIvukcg0e5hb4NVPCVQalxQ6kSYAzh4H4a3rWgl9mzO1T/PvQ57sWZhva6hNVwdpBLgnn1AzeVfn/BZP3gT6KqJgzvxZRIpB85tQvh2K/NBF8KLyKHCHBKPxK4VdAXnIodC/QFRMTaCzh5LfQmoIKPiGFWFAj6AxHWa+i7f9fjsvoxASDBaHWA9lYXR6wR60kmwR8xI8G30UC9p/kEVTLbh+H9qLdiW8Kp/1Ub0vq+8CpyQ0TZOpXyfw7cytfatFYNBAZEmqbYwtELzCAjiK8yvHqdItPdibK81bTyZQZ958t966NMOXGVv2pxIqPhTEM90HqZuOXYD9xYkRW3L2W0L/iUcGTSYmPh1K/VZQ2m2R9ORo5gl/bVArPKyqHvBAIDIAOsMXliJy6cvOAMMoL4Ue2QMYnwjqfv91HSHyRhab7q3xt9lVBvCIt9KXDrd2Z0bKnYnc7od340HJlg7RY49WunQs+At5FTFQzLgVtl2gAUBoEcxO394eQ1V/tjoCIcwZ2iuPtHcipvpu/1E0V4ul85CY7btzI4tx9SKfvXuLv8rI7JHCSXBHPbD2zPXX1eq1KMfu+v6Ffuk/PZtLT2Jhz6NapfCO8j+PILnTtBwoBXpTofSAyAkPN4EZy8YA0ygmQj1X3zE5XbUH/7X6gPd2a7+3rl9/hVqQ9yOe8xOLc3kjbg/vJPNzWOL5RMgnntB6a5HKt/8xH96P/+mdGwtXQuvzrPatpAcmZXwqFfrdNTsd/BF8mBLHBaGw28qtdZFSUbAY2qneSEUwsnr0VEfixQkSMBHKtq08K4O4q+s/t6O8XZlzVbtJ9XpX2KYmOLmQSujmCS8Val78jELc/9wO6Rzd7klxn97nZOk4mUthec+bW6FE598OW5ZDKfeoEXAK/qtSallwGRKoWmfYqpn3DymmmyMgFgBBivpr17U/XCq6SrAkzMvo4oLvUrNO0RDM7sypKEXUBDhU7H/eXf1GK5WWB+/cAioNeMBN/EKOic08Nh6tKxM+DMr9V6OCk5kQW+AVgNyIRoK3YQEKkyU5Ss3BFOXgv9AqgIljRmheKO2zTQaiGGvvSETDhXMziz/238XWnFFe4vnwia5DVf/PqBnTdbBQHGcdqNnMvvE605+Rec+TVDsWLnwWMJeNDGim2L8v1ADZI7CahUKDQU61Q4eS30AaBCfbY333T3oO9iMunbOYylk5WfbyKI4e+ldC5rJA68BgqFum+TWz+w2E/OOTgtpmLnLqlAWekarS8zhsOBCa5MiUT6EV5nAauBGiT3dyBTrZP8KJy85lFpdzxQoQCH5vgS0Yudb9r/zLFsb2fk7LcqbTooOmoQh9VnlKXcp/EXrrDX9XPfM2P9JiKxrJ9jPzBh+LCW9+Ho/qzWFsado3Lx3ZpRZuhw4tfq4ppodAN4MwGuWrBi44DTwOkTQKY66RPEYUKcBxnxkRH9KLu0AwUdLgx6b2+W+qP4HRVXeXBYfbakpMTeqFlQ713cY57rVLlZYHb9wCv7J8fltw1Q23MZZcKvzckscEo/Ek782lLoGvg1wZXnymLF9D19B6wGLhP8FtCpSMjZSMLBa53xqO4LZPgnjYOa4s7dwtYhx9JTym2dcC5hkEGqaVXZ8jjuMa8Jin2G3HeJXT/wa+3aIe48yGg41uu5+J7VW9qVcOKb1NLOhocT4ICNpd8JnAZSl9DOZvAONYTEGQMnr7lDbT8GVPgng1NuGaNhL39WbW8Oe3NbEzTRH4y7zGM1KneTTIJZ9QMT2b2y3fc57pzFKRs+sDwzOOeIRVp7GU5805TbVGxXeDnBFPHd0He0CjgN6Nkp07cASpVkgtlF3LvKKp0CVPiIN9POMMqe7azS1qWlEzekz7E0/ATC3q4l8XcrcZd5qsubl5v7LSz3AxvOge0Gseh/ZxaE3j+X3jPR/yr24sKJb9SfnjSM9eHlBE9mVVSsS9/Pm8AoAkiQ1o9s3HkPTl7z7F3lNkCFj3gz3XuYYOlnMeFaqa2T7nAGdv6udd91YSKzC+4yT/VluYFZdv3AK8QAu/ZsISYm8yq7dy/OqSzw6lUzcOLFVGhLewYeTkBxmtJPBUYDfn7S2vFAqmQp1t0iOHgtdGFkePU6QIafJNiZx6SioEa9re2/MLD1I7jX1JTqojrJM53VmT2or/9rRrZoyKX3rDalnQgHfo3GzoCHE8BqhWFGKX0/C4HPgGeCLf0CoFWykHNzKJy8FisqpgEV/slgzR7CCE/nKifBCffZ8Fdu2OPa/92d73Cn+bO6RwIJZtUPTCXAl3Z+jp3nGdljSTQ6KmdW7NAgqPvgwK/tadwRXk4AMZrWHgQ+c2GyunYv0CrdSXYmw8lr5uzF3TOBCh/xFrdHMhqKtadSY1NFA32ORQxIcLLd7JnpzMSd5tne9M1lwZblfuBE5b54p5vbI7NLDhGMj+DAN+oi0XcKLydoQZro3sBmjgSR0vqLQKx8EvwynLzcfHxzkwS71zHB0jKZg4Taz6a52zKw86cd/f7UW3g77jRPgjkfycUtu37g5QXm6P5dZMaPwzqu4MmMYXoRnPe1e06fhocTLGka2vYesJkz+hVQK1GEky6cdTh6a3VxLpVh5aKQMzebSfnoTPUBLvtPDIbo3N4J1v6MO80DpUF2ku+I25hl2Wd0ZZOihLMlL9y5T+bCe1ZvxQ6E476mlFM/DR5O0LLA2tnAZm7pS4YxAMiV5STzmBzbE60FKvwTsf9R7IHkkclwLglAlcejoScQpnNMh2QK8w587bn2kQR/xIwEX9ilUSrsdUWvLCO7fN964nsgSUZavxCOe5PSlGx4OQEK0JQnNPpeFgObuTZhPbYl0CtJCuPOWXDyWjjU5wMVPpIy2v+IXZfSpA+DibKrCq2qTTsywOCUW4Z7zYs5CZVbyQItx37gvLjzu24GtV4F7oJGgrXn4bg36g9TIpF+8HIClQWeClzm4nA57VCgV16m6Ck4ec2cEcP+PVDhY9CF9j9y2flJU7AHqrQ1BwJIQbw3OjUC7WgW3wXutl6ujJOYkWPYD7yktHTiht3MkHMrEx8f5Pfsl0ikLzmtP8JxF1lgbSo8nABlgVP6IcBlzrYVnAoES5HqvqLkCE7er8NJiocduzFw4WvQpZ4Jll5Vbet8084w2MP8t25g7n3cbb0q639GKm757QfudgsOzRk4kZlt7g/ye9aQNiw47Wum2sZOgYcTDJk2rHhj+k7mAZc5G1C6DiiWIPwGbXSpLwEV/okYOCYGj7HIYMSdKwMQcLg3/CTYPaAbdngCd1vu7Lpmtx+4B/blN8PD/jzIb1ptKjYGTntTH2NSr4CXE5AscFq7GJjElHVI12Vn4+DgNZ+A6lwOVPgntPJiZzZlfDSQKQAk+NOwr6Dqaq1Mkx2wB11Cv6oXwnI/cNzZtbv2aRosyMo+xYmMFliyYWm3wGFv1G9FaTi8HPVSUx5N0vexDJjMaX0fSEamSL4azoFAha9Bl0lMsLRqU+P4QpW2LjbHxhjYuaFb91zccXG/5UZvO8N+4J8NY8L6yJR3uqP6uABn3N6Awy409ig8nMBg8gXgMed1GYbMySDBpjMPTt5aXSmi7ECFr0GXqUywNEd9wME5jsEe0epu4c6o3A33W9b6mmTccusHfj6Le/RRXjZybw5kxs2yNqHevRVw2KkfOKWdCA9HvdRa2kjgMRxak4xGgWgfJU+v2gIOXoveo9eBCj+lcQjbt0zK6q9XH3Bwbw7/wKbMLt2yRcreDPdb1j3XUgd0cMtyUovIGVmQ4HOZ4fDtYBIOfQ8469hrGhR5yTAG0HfxBfAYGt0TqPbTSY47R8HJa+GM/B2o8E+Kk3Y5o/3AIwOQdX839Gt7Kux1e2CPH3DPZbU3/RhZmOXYD1yUrNyx54EC9xBmdlLeXtKeUAnwGXDUG0uhv0Y/cACCMunYVTzWB2nT6M8l4Z8QHasEqn0UWntxDZy8ZiTYtEcAFT5meDis6/l1t+XmKm1dFBtbzMDOPdpJSf/+y7jnshhKRL3l8rLA7PqBF/UkkLM2oEiDotgFY4j4B48E64+BAFMWOKU9BA9HrcywoluxKM0Xv2NZbBj9uSD054omfAPZ/maKXoOT1ywiT8QBqPARb6Z7DxMsfaA8wEUBnfCXnNsn9fC+uwv3XI/1C6mBMnb9wO6TWZqqD8PKhsnBI8EoPW3sB7Zi4+DhqBPKwvehrOFMHruotVubzt774SfB+gNAt08ipn2KqZ9w8tbqu0CF3ySYxxA24cirz7q7V4XdzoNTblmPAgNx90zccz1e8/WgZBLMa+qx6Z7WiyB2LbOAwStBes/E0BoQ4NXakDYseDgKgzGp2FgmWFvUYG5RspoEx15lkPWeBXT7JEVJd284eS30JqDC16DLEEY7P48PQJXHqwwylH2QHfddT5aFWY79wFTiu20vAgZXM7PX8uJhx24cHOKhHwkC3Khf/tLDuxjinTyXTOaLnmwmWeDqZsS/hsPubSDct0yRcz4cvOaDjJyjgAofSRkNimJTVm/YOqo8fD+vd/c48GdmhuGuk0fSek7q2PUDfxeJjMh6D2Sh6Yzhh0cnMNNS6y3tShBglGwGIBhzExOszRcrydb+3kz68evLh2Btq0+Zohfg5DXqDzSw6QKxvgeo8JMEu9cxwdNnqm1NA+/2Q7a9rUSjozYQu8Bx53Vbf45YI9aTR4KZ9QObzr96dacmMxX8MNm9veBSyAeTHsxuTOrNwMNRIw2p6Pb0HazkgbPY2BbnL63dxaLVoEz7LZDutQyvXoce4J+YO3iLiCxcIrJmAIQUB3c2E1zdq54EuxeH3c5ix3mWOPwI5LbbWiv5juD23fSq1LwpqLOcmc2eC8J7Nsey1iMHdTFIsPZLTXk0CQ9HvkyJRPqx6Itd3Rs7W/y+zX//Wku7lkcJeOxwoN1zZ8PdlrFjt0QMDSpJ2AVAghwZWJ4ZzCUDJ9ZABaDKowFD7Dq0zVMgt93dm+5KW8/Acj9wwtnSg7P+JruVUhTED0AWeFsQYKH65/BwFGEwrU9gU3Jv6fu0/v3F+iAek9e1SUC7506yO5GhUyci5jcVmONLgADJeIvb+3PBWZ7hpFXaurR04ob0OZaGm5w512YdAIw7V4LgdlMN50B5gVle/cCE4a+9aMHhuPZLZp96R1Kb0k4EAW7cY3oPPBz5UmNFN6Xs6PdMyu2ntXsGiRzy+P11DO31WugBfojRo0kZSPtOkWnAN68Kb+Evz23SryKKp2QWGJW7MVjbc2jWZIsy9SC43dJV/ZPj8uWRYF79wPQGP+xNgNE5BRPL5YsgfyDBokw1VgkPR0UWWLubSRn0irqy2LB2z2BKq2Jyzp4H4j3PBDv/4+DEiR2X+fGqFL5x5Xirh2MrKeAQd84KuZ1XDIqOGpQ9CXb3AMHtlr4jE7fs9gMn7HFe2C0v7vyOITYfCQAJmQsSTP3Alm7Aw5EcgCkzhpPtVzFZiXRrx2cwdgyTc/YRUO+lk6xXGQweyacKDHtrfNvqpWl4y2Ie017tk5Sfb9OZFnI7v9Qr0mCMLQXB7ZbeIguzHPuB84xKyxPbGccXMpwQvUBlxU2dYRSCADfqp/Bw5Mqsiop1qRf4LSb4WtRgbtFh+2KtFTuISzZcfO9Av2eZIndUiFdO/IeIyO74lgOEt4S9M58eSsWBFzH1PeEsDHk/4IUeVCYsBMntoqqBdtDKywKz2w/8pZckjtp9PufXF2wrm0hcb8UOBAEWzrl+Jzwc2djTTueCL8oCV3cajEpGd0PFBSQbB/CWED6KH1Bv1FERxf2YkHYd3ElMHLPvI5ER/dTaunIbBtn23T24A2eB6HZl54wpD7fM9gMn7Ps8ftOf4IdRe6xCEnw+SHAjCR4FD0eeNFjaELL7Qib4ml9jWZt0Zo/atPEbPmctujdOgHcP5tthGkTUWIJaYaNUILh4m8rEMXtCva3tP4Xcxj8bxoT1e20n070HRLerycXyAors9gPHXcdb+7kXMsToHQqzcc+ABFN2KhmNwsORiLuU9hAbfKViXQa5ZpQZOh97aBmcAA9E7MYVA6PC4Aw3Pvzm6P74VoMs1X3pu/qWSXme8l1uYmBMyEt0p3lkp7NBdjttK/mXLMxy7Af2OsteaLqHM8TpByru2F8ikb5sVtNAhX4SiCxwWt+XT9ZTmz0lEumyqo5Xb75+OfiEF86fmTko1yfD5sftW4tiY4uztUGxOTZGfapnUPZh9q8rlBqJWqOKLEhjefVatec2lU82qfsK6bNrdPUgInfKr+rcT3rjWjWd6+nvvKSZXpRvOqevUdqheyr9e/avao8tNO0Ra7Qo7v6Rylz3Wqtium0yU7FGCw33N8WJjLZGhVM5sDwzeI0O1uyBqvBWnLTLGe0H3kHx8e7TWBkR5kCD6Z7mCWlIOEeA7HZmZ+d0eVlgdv3An/rwrps8gzXjS+STEcMCMeRU8q3dp9pvr4lGN6DP8j6b3dOWvk937PKkYazPxiZUBQAG68lj6VyW0xOfk5WJrJxeq2rTwrh9Ajm/L4YkEx4I56tLB5fLTlbT+SlijVhP5dkmEp7G4LFu3gfxyq1AdjvJuMedXSWWQjPrB3bu8qniZhHDkugjZN+ztanYGJBDPkoTiMep9tvFgChGZb89qvai/2YJE9u8BgbricPhzsjBARhz6bHbr6e/q8iCigmn9Hc8LzLI7LM7tDNZftCFTe+l8mXmNBjODX+fanVfT9pCSuyNGAfDutKlYq2ZRBLMqh/Yr6nbTQFeZiTY/rvse7Y+rd0AcshHZ1jRrZRmgWkqMH2OxVxWAdWVxYb1iARb2gImWPwRDLaX0rSvdWkOPXLfkcNwYk8m7q52bt0jqcT4Mfrvl8ChbaEnK6g8mMdkUuk56qs8Qh9weADYDP4e5p4Ix35g8Tv7dNdezxCr/5V9z4qMDMghG/2hO72pPmeBn2S0EunWLM4jmzLxmkSiAEy2V5HizC458rAtFxFeKmHepFu/GJWhFhjOgfTf3cuxJKy7WpSs3FEm3qgXeQif3jT1u6npc3wScjvbHmfOnsG90K5OlpcF5tUPLLLe/lWCuA5DrK6UOfNCrGxpzFaBHKI0V0bAxdL+yMjeixrMLXrc40//3X+42KghFd0eTLZ3DkcO7Gt1n8wzxpZ2qweKiAf9+zfTf/cNHNdglTiudsrskVxsW1o6cUOVZ1sMewu7ncXv6C0Jtv+Oe6GdYBkN4pNYCn0bMxJ8m1+2zDMy2/Nc51W5r7SsnKXvAXLIaijW2erKoCngQpOpGWWBq7MKFKRiNXz607WRYLK9yxQFeF8rTWCmScddOk1xezvqbb2S/pv5cFiDWeLYLDNxHRPbNqgPcLnHhtzGH/oQFByHe6EdUkFDBCWSYFb9wDR1+xjfAmHDjt24adMBt+FYF8nCK+0HPh3kkNNQLH0PhVngSxnZer4g/dm1J+iPscFjSj8LTDZraZweGcSM6c+FcXcUfcA+HUe4Ky2aMnxB08oiOKoBL3Fs5uDO5uGEuRcHIMB1U8jtfKPnmbO48zvcC+p2r3LsB+5elVOv7oF3GGK2Tl4mWHsY5JCNLp82rHhjNQTYSNPPX8an7Dw2NmtbpbW7GGHyH+CyWZdKVVoBnFZ8ZUdlpMJBErt8aVXHG3BMPZlIephMvInJ3FyyEmTbfVSfb/ocb2MVSs+EVc+60vU9HWbime0HtudKuAceYIjZxYYxYX0p5CStfQFyyCXrpv1bxVv+CyWE6ix9OqOS89m9GT5GgalrGeGyFmw2+9LU4AzNiDs17S25L0nYBdjlm5sZiLZ4s/dnYtsVecaEASrPdrHuFoV9+I24G3wwXR+x3xn3Q4u72ZVYKcJrP7Bp3yDBpn/m2Rds7+y3bWuS0SjIIR+l0vcrlWSB07FjeNlZ71USgVaWXczIXp+CzWYdIbbvDMJkTHI6f9v8c4lMcFM/I3b5+qfSD44oEWZi21mqz7YYZIQ1KFlnzv6L+6HZUKyEs6VEEvwRL/u6R/p/71buyxG3Yuin37atT8dGgBxyGooVO0z2W16zVXQQq2oDD6ZvUyZ4EiNcrnzSMNaPQLJy9j5U+Ej9UGjaIyJr+35H9Csy3Z3of38Eu3yllJ0/qABv9UxKHK9QfbbzTfeqcGfQnMt8DA7ehztirX4vZkfIwCzDfuBVMgaOiQorptidKqEUejLIIaf1SEM3k58F1v/OqAx6RV1ZbFivg1MprYpVmX7Z0BQYbe48jItp6NWZYo/v6si/uznphdjlK11Plok3sYpJfPdMMhAHByDA9Sp6rrO23bm4H9baWdpOTH79wM6b8u4DdwFD/H7ndwCHslYzQA65aOwD2e94bdr4Dacd1LQS6VaUj2eVPd8frLanJVKUhZX8IC0X01zFcCQxsIJ6fPej/3sOHE1FJY7Jyh3llkLbO3PJ7vRPjstXebZFP3LI2wiW+LmDmXpgj8IdsVal7cTk1g9Mb+A18u5f5xmW75yZGeaXTedY1nrkgC4GOeSSpdTvlPmO0zCsvvRzX2Jk40UN5hYlnrQpWLEDmZXpjwer7anDsXqvrhRSQKuM/ilIb7O1Rsj6qtWlIjMrFW/Un8XCsaXJ5eoDXM4+IbfzC75mzWg3Oe6INVUNlXtJJMGs+oFF3768yi/ncp74dar8sul0S9sG5JBRyWlad2S+4zQcyuZlX63aswqNZHQ3XiRY+xtYbc9L/mZJeIS+IPL7cFO58/1N2WA4l+ozEC8qwNtUHpN03euUk+CEc1HIp76e4av9rKpNcE+snnIubCEDswz7gVfKrBgpMN2jmWL4Xt9KVa3YOJBDPtqQNixZ57UmkSigkt6vGdl3vpf7lxvLyHkFEP4FVttzJ09GueRXpK9htVHgdLJcxFX3pZ/5LZMAwxGqz3fYB5Dlx+3tJNjwU9wTzqsSK0W49QO/JrdFotLCFgRvhZzPu0AO2eg3ojxZXhZYu4XX/uXYGC/tN6PM0FmtlEprb0QgPXE4KveCg8d62I3UMf/FSbucz97P8SUqz3bTALIwT1f/TkySl0CCn0fFiLyeVXb7geOO3PK14dXrcBlM2FpFlYFPJHguyCGbctOpso5qbZm+I/3MVYxsO3tKJOLpm15nGIXMMPoTmG2PHDz7HJBBvppnjC2VGnQx7QyT1UhzlZ9to3K3kNv5EUkl5deyvytoQJhEEsxrP7DhHBjSFqgA9gW7x3pOgPk52dz1z1LKoIcPX4dKW//LK8AQ3dtrO4q9uezK9T0aKsaEBLvPggyy1U+l48107+Gxe9m+VfXZpsFcZ4V8/dQ4OXa0T+B+V/iVQWstDPuBVwyKjhqkgATfwhTLN3pty4a0vi+IIaty3V2lZIFT2onMVvv4toKP/v4lzKaX7wR22y0Z0Y8ehYUgg0ynvcadB+WTYGcek/3A/6e81SHuPB1yGyelkODwT9gOTLCMYT/wvxUFyCYwxfIcHxzsc0EO2ejSmmjU920adamhm9HP+oFRGfSK2qRW7ps9LW0Bq77gVOzYCKQbhATrP7jryTLxNlizh3CxbbE5NhaAANePIGbITvZe3SkSS6GZ9QPblyohwYnMLkzxvKokYRd4aUsaXPQMyCGbHawzZZxPGm50D7OJxr5WznHr2fdyxVSoBWV+vLUoWbmj1KBL3B7JxLafKA9wmc5vQ77z8zZ51mycaL6Y6z1BmfATJZJgVv3AhYnKfVXcD3nGhAFcNzXkm84fvLKjmBJMWabvQRC5qH6572XQlr4HM7suEplvn0nwf5iVQ98Jhtu9vqAHQAbZ6lIxPVguCXavYzJE6G71Z9udGO7J2+7Rcu1pv862bSJRuQ0y7r7osgJzdH+F7/8HLDFtOp4RmQYzZoIYcupb1Q/280zOsaz1KAv8NrKWXpeXx2qYYbUBDLd7jt3nIINsszszZeONsjyzmdjXDkCA65EwlzTSfvNNJQcVpjAlDD+JlTpy7gde/cA0qXiG0kqwhPMw0/fvJc+ca0sfBXLISGkSuL9ZYG0SM5vOnzaseGPfSXBaf4ybXcFwuxDRswgyyFony8TbwPLMYPqZK3kMHKtKKT7efehzfBXaAE7ckb4MnlZ7XcB0NVKNxCDZbcxI8IWKA2VnM337lpWU2Bt5YUPK2t0AcshmeNM7fp7HBksbIna8Mpu0PUbGXUc/6y5ueJURXMhpob6YY0AEWWeCD5NbCm3vz8S2X6o+23mGkw45MfubdMJA5ddM96pKI2rc+oGpzHwvxT7AH9i+gaa9u0fO9WsgiBje5A2WYo8yCyrMpomL/WTcdZRhv5YbXmtSehmYbqdOnX0DyCBfzTPGlsotvXMv5jF0xf5nAEqh7XCTYPcA+aX8lduwDJYlnP1k2JdhP/CS0tKJG6q8Jwalxg1l/Aae3Vv7zaoo2UisdgFBZLJ2Jq2N9o0Ap7T9+WXWo3vLuuvou7uYXdDGih0EptsZKaGSQpBB7P2USMzqWZAG2r+pnATTYC4ME/I6u944TZfdOpkB1pg8OUEGdvuBawMRDE843zIN7jzT6+xSKrYryCEfFUPQ/DiDYu8wBVM+5DVgTJsm855j2GstMu0TwXQ7EOHYcOnPhLbXs+o8KBNvYgo1lxUzhfHKrdRXeTjzQmzjBoWEYT6zu+JNiaXQvPYDJ9zqQJBg6vlm+g4u7O3AN5oUfBrIIRtCscC/LHDsPGa2XFGb1Mpl3nP1Ka2K4Tqvv4PtdvjwsenPhLavJ8sthbZ3ZmLX78ROWZQ4hpM8UF/wdGZE7WaJJJjXfuC4s2sQfAEKiF7Jty/Y+W0vs0sPgyCy0Ud8yVCmtDj93UvQW+1zJjitHc0Qs0+A7XZISpyLQAT5alGyckepjlbCnsTEto8rd2oT7rHhLmPM7KIww349L6LmjpJhV4b9wD8bxoT1g9EW5Y5iPBzrpF5l8NL65yCHXIhb7BRfssBp/WlmtlxUlxq6mex7rt6KHciwh/1tsN2Oy/pqQQbZ6lJRniwZb1N5rJOxTw3A2b4pxDb+MVJhr6vOtu5EVndFsjIhKUjGrR/4ucAExKl9g+2GhITzULZ2qxlmlIIc8tHpSWMHz4lZOjaC4YRtJZVcdcnobgxxu+SXSKRvBNJKrBHrcenPhLa7GmmmXMBV9+UyfCXPyGwfABL8NjLtvlXQ7MeoFHqBLLty6wem9pAzAuYPLGP6Hma9zq7Oih0GcshGF8+xrPW8PHY1lrUJldN/xsyO81Xtrq1NG79hWcFQpm8B0ttKRCksyCBrnSwTb8VJu5yJXRf1dtBKr8tKjeMLxURflC/6hOVERmN0TzwqkQSz6geW3Y7SjcDZa2zfwyyrHcjBnAxyyKastM6HMujL2RGyVGyMqjtuRpmhs8QvZcDBels/eFSyCSLIOhN8mEy80d7cDJPM2bOqzzYNuTk0zDYenHIVL38f0U+0E/DYd+2eJiVww68feKHKkv4OKhzu4PseulntfiUHswEEkQ0JvtjTLHBKL6O/dxmzidCzp0Qi/VTdcXWGUcgUu8eD9baN+j4KMshX84yxpVLxZrr3MJn2epb6AJfztxDb+Av6FfsoJwxM9qsXme5OcrLA3PqB3ScD6BOczHZdIJXi95jEDB++DjmYP4EgMiESZdoBXp016tHsIzLL/FZMRfdWecc9aRjrsyyHtvQLwHpbSh+6+L8CGWSrn0p3sMK9s/ZXNSqVl52Qrf8T3qFjzt0ByZo9hOF5npZCs+oHlpVh71m1jrsH3zfRnttTe9Un9QqQQza6aqZVmufVWatP6cexs2FKmxaEe47bKqom298L2tsy6p4EEeSrVC77oEy8DdbsIUxsu0T2xO3WkmdMGECfY0WIM+2BKOvhsF6O1mzNkPcm8eoHzk9UbhM0v2CANSaP9duYsnu0sqXWio0DOWSjb3pWBr1VdBD9fV8yK4NeUZvUygNCgr9klwlO6y+C+TZ34ExnDMggaz1ZbnmuPZKJXesCcLb3CXUZv14ViCmHRNqOY1Cy+1cZtmTYD/yd6CsPaJvUJ3z7gu0RPXSm7wI5ZLMf+EavzhhNg76W4UqkW4Nyx9HnmcsQw1+B+TIuPYOqnUpaEHev41HiaF+g/my7F4bYxu8G5Q4Va7AYZIIPkVSZxKsf2HT+FVTfQHw2thVSpntVj5xpS3sHBJFJPzCVL3tSBi1K6Ckrysx+i+pSQzcLyh1Hn+c/HDH8kmEMAPtdS0qc90AG2epS2SW7FHSZzSO44O6t/GxTNjq8e1Wda4Nyhw6KjhoUejzHxhYjKOtLhn1iYAPkpnM+47fx1e7aSfSHij5REEQeKlbr9PZs0TCsvvR3vcIwC1wdpDuuLhWrYRnIsWJbgv2SCMcGRJBxP7DEPj8hA8szg+nnrmRg2+WFVtUmKs+2CG7Q51gcXuzaBwesdPRLDAryhATz2g+ccALrjIjVeYzfxxVipkJ37NSQ1vcFOWSjX3iUgXQZ2m7+tGHFGweKBKf1x1iW9Jdph4IBR8K/QxTapU6WW3Vg788ku/OKcgc2kdklzA6qyL4GjASHOet+hwwbcusHJrt+HYlU9w0sCdarDN6tQt2r5iGn8lyQQzba60GiTftpv2FHvFKxMUG749j28qf0U8GAVztuk0EE+aqI9MslZu7FTPr8LlfuwMbdM0Ns45cCeJfeFN5VVK4jJwvMqx9YrNYKuIsg1if+yLcvuHtzHerSsadADtmslznJA+L1D347gbXZUyKRwA0A5DiYrEmvBwNe7bi9DDLIV/OMsaWS8VbPgwRnDgpAlcfTIS7jvzBwd2ncOSWs9h6ccssklULz2g+csMflgI/QwPaNNN3pXdmHejv7cMzqcdXpltardWYNlrYzy/5xK7p3EO+3+rR2MU8s60+zJ8AlJfZGdNEvAxlkq5/KxFvYe1Sb6UqxY1Pt6R7RL9QZHNPePXgk2D0gpPb+XlbJLrd+4Dyj0gq6n0DZ6msYv5E/R6wR63VKasyYCXLIRn+qGT58nWzPkvhvKZP8OsPs+bSg3m+UCZ7EFMvvIwtMjiSIIOOhWHHnQbnOlL0zD9varys/28lMRZgdU8OYsH7gyELKiYe0v/1JGfZjuB/4f6LcOPiZYLcSKwQ7KW219FEgh2z0+V6VQVvaRIZl0Ctqk1p5UO83IugZplhe1puATiikMO6cBTLIWk+WWp6bsCfx6POz/x6AANdJIe5jD2ZUeXj1OqGsrDHtv0i6H3jtB07Y9+WCn0CtB9uyDhab7mldEJvrQA65ZDRj52V7jmYmEpvT3/EDw5VItwb5fqPPdzRXPNcko1HemeCE8xSIICLcEvE2lcewMffwAJQwPsTVKVV7p9pvhdDee0gqhea1H1jSsLHeSmnpxA3FNHbGb+XjXZDgWSCI6GvtRhb4PoY2W1SXGrpZkO832pd7IGNM78mYAlf3Fb1eIINsdYno0ZWMt29ZBBdo97biw00TXd0FobWxYW8d4MDio9h3nTUJZtUPXJCsTORQwHwO47fym4564mdVlGxEjuRyEEQeZb3PatrArIhWStuL5S7atFYd9LutLhndjSum6y3dZkuBixLOliCCjEu8Eu4MmXgrTtrlTGz7rvLyxXhVKsT2/SrQe1UTziUhs/csGXZj2A/8aS75C/R57+X8XnY0HZ32nu4KgshGX8vm7DxpGOsTgX6Hob3mTxtWvHHQ77batPEbtiSYJmOzJcFiNQPIIGudLBVvpp1hYtebAuCw2iG27/1BvldpzsLx4QqWOVdLeo+Y9QM7d+WUv0AtCLz7gu1Mu1mklH4qyCETwpDSrskq05iOncEyC5yKjcmFu21GmaHzJcH6A2xJMPfILnel4UKHScWb6d7DJMN+rPKzHXfuDrGNA12+U2S6O4VsMvSRkkqhb+N1/7qjc6pyLOnuzfrNpPerfYKjPQiCyKV0VDuqp+dGDB4Sa5UYlo7PnhKJ/H97d5PzuG2AAZhAL1AXKNpFf1B3gKDo0lfwFXyDwAHaA+gKvoKv4GW23hVdukcw0KB7X2E6X2tnFIWySP1bfh5ASDKY7zNNSQxfkSJ/8Qpt2z8+ffr1G1/X/3rfEPzNdz8Ig+97/OrTt79zvfV//PIvf//j9A+49v9eav3+5ptv/zTndvVjf+hFtRN//tvvRwrBb/U+8Mf071fqL3x5L/y37x2Cv/uhJgT/R0B8j+Off13/IX+q7fp7C4jN2/+mq7/vdX0LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwrtZfjuLLcSgdH/+9m0HZVk4PidfwrnINl69j1xEAAEzo9OX4XDk2E5TjIyBcI2WpHueJyncslaFYyLkv1/fVrdA5+B4Tr+GP47Kg6wgAAF7KLdJBP474+Zt7IPiccYwdHvaRMgjBfPgY1T1lXr+P46T6AABg+nA3ZiBahZ+PnH2E8o/R3vI00nMlrK9HrqciUkfrBZx/Ibj7/XML9SO9p8p1fK3U+V4VAgDAuE6VEFTuxG9H/vzHCPSqIXQcJqinVSXsHBdy/oXg9mIPRq73P29653c90XUMAABvrxzsdiMHvW14ramhq3vAWdLonRDcTmwGxVG1AADAa3XkP5xHDEWHMP7IM0JwV9VZAUtaKA0AABatPBX5fP+zYsRgeg7LW2hKCH6v+8YIMAAAvJDyaNZjJGs9Yge/GoKHWmhqF+L7Dm9b/J7HsZ2oDFOH4HIdVG0r37Ho+ZzW7bs7Zh1uwjQLyD3uzb6uoWfncV/5jH1mudqc91WlTKvE776aWbvQ1z2xrvzedeZ18qwuAQDeVnUqdHnf3ctInfzqdOg+p5R+dARPoX7l3vIKvql7DueGnyHKMHUILpd7VwqGl4bvtx74PN7COO9qH8P406D3oXkLsWtmWWIPn/ahfo/ja6R+m7aGOmUGsNi1lbL91DHjc4ZuF/q6J4rQfr2ES5h+z3cAgFk6VTpkzzpgQ420bSNBpq8OW1Mnt3qkBKjcEDxEGeYWgovE79bm3BaZdbgdub6G3iZrFQndTcclMRC2PY/7Usi79VieWJk2Gec/9UHL0O1Cn/fErfJ3U1RnKpz9rw4A4GvnOjYV+mHMKdGXSMewj9G1U6lzXISvUwof0y5Pkc9t6qznhuAhyjCnEFwOqbfw0z1xzzVBJVUs/F3vf16En05lvWSEhC7WYdyp0HX3Rnmq6yES7C6Z5/EQqePD/Z/XmuBWLlvTeU9tP6rh81YJc+Xzfm4ZuIduF/q8J9rMOihm8GANAGCWqh2l2GjEOeSPQrQNFrfQfXpn1SY0jzwWkTDQZwgeogxzCsG3hvARG8lr05FPeTAyxpTP3Yjn6pgR8NaRwHzMOI/PfmYV+d3X8HwkMzYSum55bT0bLd1Frq/jxO1Cn/dEm1Hdy0jtNgDAyzmH5pGIMUcUNqH+XcTbvRM61LTTnPefhxoFHOsd7L5DcMqoY5HZkY9tPzSXrbPGemARW3xr1aLeNhnn8ZRRnpTz0mYUs80U+m3k5zYTtgt93xM57/duglXLAQCi1omd03VovzBLG03vPz7CcN/ThauLc00RgnPKMLcQvMv8jM+ZdTGn/XerZRvqwdCpRR3HwtUx4zw2BcdzZnuwadF+fG557oe4Ztq2C33fE0XGdyuCBbEAAJI6SuvEju9YU+vW98573QI2fa+kfMjowI4VgncjXg9dQnBqHZwyrrlrmPYd6Tmcp1vL6yznneXcd4jbPAC4hW4PWFJnfwyxbdXQ7ULOPZFaj5fQ7v17AIDFKwfbpqmpUy+yUoT4NOlbyJ8eXd5n9Fo5xgrBfZThFUNwaqBoM3o4ZQgeYjp0dXrvscP5fBaucs/jPnQb7Rzq2ooFwM8v0C7khOzqDJltwr1TBAAAfuzwVTtsz47LTEJJbKucS8bPNu2xOnQI7rMMSw7Bu5l35PcjhOCui2+l1nXuedzNPASfM0Pw1O1CTghOede3/MBybjMoAAAmlbp/5bP3cqcSW1V12/D36zq5z4J+n53dIcqw5BA85bTwFNsw/BZJXevgXUPwIbFtmEO70OY8N636XN2yCgCAu3PHEDz1vpOpq/PGtl261JQ9p3Of09kdqgxC8LSq98PQIXjf8effNQTPtV1oe60/ezVl8wL3DQDAJGKrPe8SjiLM5z3N1IV/qqM4RU+d+5zO7lBlWHIIHmO6cd8Pkvqest21DlLeH11iCE5ZbXkO7UKXBz7lAH+uCcjXAABAtKOUO8JUXbF3Sk0dzm1miBiisztkGZYcgqv1cH6B+6jv0FG9dnIfOqUuELXkEDzXdqFrCK4+4FhHzrkFsQAASrpsd1TtfE3Z0WoKSUXoNs2wj87ukGVYcggO4aejXXNd4Ocahh2xvrW8V3O2ClpSCE5ZVXwO7ULXEBxbAbr6Z/YGBgC4W4duo0vbMI8RuiIhjOd2Lk8DdHaHLEM1mHQNiXMLwdW6OM7wfqpOWe77wdCp5e/OeVg19xCc872r9bWfabvQNQR/uFTa4SLMe+YEAMBk+tjvN3X/0dxwnRriVpEybBI6l8++a2zF6SFCcJ9luPR8HuYWgjcDBMzHHrCn0N/I8jFSzmNPv79aB7fQPMK3jfzM6sVD8DWhPneJ32UO7UIfIbi6FdIlzGPRQgCA2WnaXqNNp7+Pka/TvTzHhjC3jwTgY2IYuNR0pNchvlXKEO8ED1WGPkZ+5haC2wbMfeJnX3q6p1Y15+56/8ymhxO7+/W/TqyDy5MgvI+Etn3P53GKENzn955Du9BHCA6R7zyHtRoAAGYl5X25FENMib5FOnLX++8+3f/9VtMxTg39j45pce9o7kvh+3MYbj/QIcqwG+BBxBxDcAjP93I93I9jpfxN36/vbY1WNYE9tu9s3f6zRWYdnEvXUVHzd4oBzuMU7wRXV0M+lI5rzYOSubcLfYTg2DU3x5XUAQAm08dU6LpA0WUq7qYm4DYdKVNOU3/3Jfz8fel9T53dIcpwCP1PSZ9rCA4NATN27EYOwQ/7ms9JOU4dQnZsNDD1wcgrhOBdRhtx6LHNGbJd6CMEx14ZsCAWAEBJH1Oh6wJ115HIVagfzYqNgOV2FC9PwsKhpo4OPXZ2+y7DOfS/CM6cQ/AjfJ0Twt+pJgjsw3gLbRUJZS3X3SmxLnYN98jj++c8FHmV1aHXDXV6ecF2oes9EcJ89m4HAKCj3f14THnch+7bBa3vv+cQvk59HFtfZSiPYu3f9PooKvW4Taz/w8h1tiud88fxuL7bLp61qtwfU13PQ3kWJleV+tyHbjMh5tAudHnYMtWWagAAMJptaLeHKiwhBPNVeYT9ojoAAFiq8uhPoToQgt9S9R1xo8AAACzW4/3Epv1fQQhepuo0aO8CAwCwWOXVYG2FghD8fqoLaXkYBgDAounsIgS/p7qVwbeqBgAAQAhekiLEt3KyJgAAAIAQvDjrSJ1sVAsAAMAy7EqH6b7/d7mHX2sBAAAAsHjWAwAAAAAAAACAH/0XgZlJgyZYZHMAAAAASUVORK5CYII=';\n\n img.src = dataURL;\n img.crossOrigin = 'Anonymous';\n\n this.pdf.addImage(img.src, 'png', this.inchesToPoint(0.5), this.inchesToPoint(0.5),\n this.inchesToPoint(1), this.inchesToPoint(.45), 'saia-logo', 'NONE', 0);\n\n this.setPdfFont('Helvetica', 'bold', 16, '#212529');\n this.pdf.text(`Quote Reference # ${this.liveRateQuoteData?.quote?.id}`, this.inchesToPoint(1.75), this.inchesToPoint(.95));\n }\n\n private addQuoteAmountPreText() {\n const headerY = this.yMargin;\n this.setPdfFont('Helvetica', 'normal', 8, '#212529');\n this.pdf.text(`This quote is for Standard Truckload Van service. If you require expedited service or other equipment type, please email TLQuotes@linkex.us for quotes requiring special handling. Please read the following carefully and verify the information is correct. If you have questions or concerns please contact any member of the Freight Department. We thank you for the opportunity and look forward to serving you in the future.`, this.inchesToPoint(.57), this.inchesToPoint(headerY), { maxWidth: 525 });\n }\n\n private addQuoteAmount() {\n const headerY = this.yMargin + 0.10;\n this.setPdfFont('Helvetica', 'bold', 14, '#212529');\n this.pdf.text(`Quote Amount: $${this.numberWithCommas(this.liveRateQuoteData?.quote?.total)}`, this.inchesToPoint(.57), this.inchesToPoint(headerY), { maxWidth: 525 });\n }\n\n private addEndText() {\n const headerY = this.yMargin;\n this.setPdfFont('Helvetica', 'normal', 8, '#212529');\n this.pdf.text(`By accepting this quote, both the customer and LinkEx Inc. acknowledge that the information listed above is in agreement. This Rate Agreement is subject to LinkEx terms and conditions (www.linkex.us). Actual and Dimensional (DIM) weight or class information is subject to correction by the freight carrier. Customer agrees to take responsibility for any additional charges by the carrier if any of the above information provided to LinkEx Inc. is inaccurate. Customer will be charged for additional accessorial charges if necessary (i.e Waiting time, Appointments). Customer also agrees to be responsible for any charges not paid to LinkEx Inc. if charged to a 3rd party at the customer’s request.`, this.inchesToPoint(.57), this.inchesToPoint(headerY), { maxWidth: 525 });\n }\n\n private addQuoteAmountPostText() {\n const headerY = this.yMargin;\n this.setPdfFont('Helvetica', 'normal', 8, '#212529');\n this.pdf.text(`Terms: Net 15 Days. Payments received after 30 days are subject to list price.`, this.inchesToPoint(.55), this.inchesToPoint(headerY), { maxWidth: 525 });\n }\n\n private addTableInfoToPdf(id: string) {\n const headerY = this.yMargin;\n const tableY = headerY + .1;\n this.setPdfFont('Helvetica', 'normal', 12, '#212529');\n const shipmentDetailsTable = this.pdf.autoTableHtmlToJson(this.getById(id));\n this.pdf.autoTable(\n shipmentDetailsTable.columns,\n shipmentDetailsTable.rows,\n {\n startY: this.inchesToPoint(tableY),\n theme: 'plain',\n columnStyles: {\n 0: {\n halign: 'left',\n cellWidth: 125,\n fontStyle: 'bold',\n textColor: 100\n },\n 1: {\n halign: 'left',\n cellWidth: 125,\n textColor: 105\n },\n 2: {\n halign: 'left',\n cellWidth: 125,\n fontStyle: 'bold',\n textColor: 100\n },\n 3: {\n halign: 'left',\n cellWidth: 125,\n textColor: 105\n }\n },\n styles: {\n overflow: 'linebreak',\n cellWidth: 'wrap',\n lineColor: [219, 219, 219],\n lineWidth: 0,\n fontSize: 10,\n cellPadding: 1\n },\n bodyStyles: {\n fillColor: [255, 255, 255],\n textColor: 0\n },\n headStyles: {\n fontSize: 12\n },\n drawHeaderRow: ((row: any, data: any) => {\n row.cells[0].styles.halign = 'left';\n row.cells[1].styles.halign = 'left';\n row.cells[2].styles.halign = 'left';\n row.cells[3].styles.halign = 'left';\n })\n }\n );\n }\n private numberWithCommas(x: string) {\n return x.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n }\n private getById(id: string) {\n return document.getElementById(id);\n }\n private inchesToPoint(inches: number) {\n return Number(inches) * 72;\n }\n}\n","
\n
\n
\n
\n
\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n
  3. Get Quote
  4. \n
  5. Quote Details
  6. \n
\n
\n
\n
\n\n\n
\n
\n
\n SUCCESS | {{emailQuoteResponse?.message}}\n
\n
\n FAIL | {{emailQuoteResponse?.message}}\n
\n
\n
\n Truckload Quote\n
\n
\n\n This quote is for Standard Truckload Van service. If you require expedited service or other equipment type, please email TLQuotes@linkex.us for quotes requiring special handling. Please read the following carefully and verify the information is correct. If you have questions or concerns please contact any member of the Freight Department. We thank you for the opportunity and look forward to serving you in the future.\n\n
\n
\n\n
{{liveRateQuoteData?.quote?.total | currency:'USD':'symbol':'1.2-2'}}

\n
\n Terms: Net 15 Days
\n Payments received after 30 days are subject to list price.
\n 0\"> Miles: {{distance}} \n
\n\n
\n
\n
\n Quote Reference # {{liveRateQuoteData?.quote?.id}}\n
\n\n
\n\n
\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Quote Details\n \n\n \n\n \n\n
\n Customer Name:\n \n {{liveRateQuoteData?.saiaAccountData?.CMNAME}}\n
\n Phone:\n \n {{liveRateQuoteData?.userData?.phone}}\n
\n Email:\n \n {{liveRateQuoteData?.userData?.email}}\n
\n Quote Reference #:\n \n {{liveRateQuoteData?.quote?.id}}\n
\n Quote Date:\n \n {{liveRateQuoteData?.quoteDate | date: 'MM/dd/yyyy hh:mm a z'}}\n
\n Quote Expiration Date:\n \n {{liveRateQuoteData?.quoteExpirationDate | date: 'MM/dd/yyyy hh:mm a z'}}\n
\n Saia Account #:\n \n {{liveRateQuoteData?.saiaAccountNumber}}\n
\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Ship From\n \n\n \n\n \n\n
\n Origin City:\n \n {{liveRateQuoteData?.requestData.pickup.location.city}}\n \n Origin State:\n \n {{liveRateQuoteData?.requestData.pickup.location.state}}\n
\n Origin Zip:\n \n {{liveRateQuoteData?.requestData.pickup.location.zip}}\n \n Pickup Date:\n \n {{liveRateQuoteData?.requestData.pickup.date | date: 'MM/dd/yyyy'}}\n
\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Ship To\n \n\n \n\n \n\n
\n Destination City:\n \n {{liveRateQuoteData?.requestData.dropoff.location.city}}\n \n Destination State:\n \n {{liveRateQuoteData?.requestData.dropoff.location.state}}\n
\n Destination Zip:\n \n {{liveRateQuoteData?.requestData.dropoff.location.zip}}\n \n Expected Delivery Date:\n \n {{liveRateQuoteData?.quote.expectedDeliveryDate | date: 'MM/dd/yyyy'}}\n
\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Freight Information\n \n\n \n\n \n\n
\n Weight:\n \n {{liveRateQuoteData?.requestData.items[0]?.weight | number:'1.0-0'}} lbs\n \n Hazmat:\n \n {{liveRateQuoteData?.requestData.items[0]?.isHazmat ? 'Yes': 'No'}}\n
\n
\n
\n
\n
\n By accepting this quote, both the customer and LinkEx Inc. acknowledge that the information listed above is in agreement. This Rate Agreement is subject to LinkEx terms and conditions (www.linkex.us). Actual and Dimensional (DIM) weight or class information is subject to correction by the freight carrier. Customer agrees to take responsibility for any additional charges by the carrier if any of the above information provided to LinkEx Inc. is inaccurate. Customer will be charged for additional accessorial charges if necessary (i.e Waiting time, Appointments). Customer also agrees to be responsible for any charges not paid to LinkEx Inc. if charged to a 3rd party at the customer’s request.\n
\n\n \n \n \n \n \n \n\n
\n\n\n\n
\n
","import { DatePipe } from '@angular/common';\nimport { Component, OnInit, AfterViewChecked, OnChanges, ChangeDetectorRef, Output, EventEmitter, Input, SimpleChanges, ViewChild, QueryList, ViewChildren } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { LinkexService } from 'src/app/services/linkex.service.service';\nimport moment from 'moment';\nimport { TimePickerComponent } from 'src/app/shared/time-picker/time-picker.component';\n\n\ninterface packageType {\n value: string;\n viewValue: string;\n}\n\n@Component({\n selector: 'app-tl-tender-quote',\n templateUrl: './tl-tender-quote.component.html',\n styleUrls: ['./tl-tender-quote.component.scss']\n})\n\nexport class TlTenderQuoteComponent implements OnInit, OnChanges {\n\n loader: boolean = false;\n tlTenderQuote: FormGroup;\n tenderResponse: any = null;\n isFormSubmittedTruckloadApiError = '';\n tenderFormStatusError: boolean = false;\n isChangedEarlistTime: boolean = false;\n liveRateQuoteData: any = null;\n itemArray: number[] = [];\n totalItem: number = 0;\n totalWeight: number = 0;\n originalTotalWeight: number = 0;\n weightArray: number[] = [];\n timeDiff: number = 0;\n\n // TimePicker Variable Declarations \n eptAM: boolean = true;\n lptAM: boolean = false;\n edtAM: boolean = true;\n ldtAM: boolean = false;\n eptValue: string = '08:00';\n lptValue: string = '05:00';\n edtValue: string = '08:00';\n ldtValue: string = '05:00';\n\n eptError: boolean = false;\n lptError: boolean = false;\n edtError: boolean = false;\n ldtError: boolean = false;\n billTo: any = {};\n\n // Added to prevent form from submitting when there are time errors\n timeError: boolean = false;\n timeErrorMessage: boolean = false;\n\n @ViewChildren(TimePickerComponent) timeComponentRef!: QueryList;\n\n\n earlistPickupTimeSelected: string = '';\n earlistPickupTimeofDay: string = '';\n latestPickupTimeSelected: string = '';\n latestPickupTimeofDay: string = '';\n\n earlistDeliveryTimeSelected: string = '';\n earlistDeliveryTimeofDay: string = '';\n latestDeliveryTimeSelected: string = '';\n latestDeliveryTimeofDay: string = '';\n\n validationMessages: { [key: string]: string } = {};\n\n constructor(private formBuilder: FormBuilder, private router: Router, private service: LinkexService, private datePipe: DatePipe, private cdr: ChangeDetectorRef) {\n\n //Session Storage\n const storedData = localStorage.getItem('liveRateQuoteTenderData');\n if (storedData) {\n this.liveRateQuoteData = JSON.parse(storedData);\n this.originalTotalWeight = Number(this.liveRateQuoteData.requestData.items[0].weight)\n } else {\n if (this.router.getCurrentNavigation()?.extras.state) {\n this.liveRateQuoteData = this.router.getCurrentNavigation()?.extras.state;\n if (this.liveRateQuoteData) {\n this.liveRateQuoteData = this.liveRateQuoteData.liveRateQuoteData ? JSON.parse(this.liveRateQuoteData.liveRateQuoteData) : '';\n // Store the data in localStorage for future use\n localStorage.setItem('liveRateQuoteTenderData', JSON.stringify(this.liveRateQuoteData));\n this.originalTotalWeight = Number(this.liveRateQuoteData.requestData.items[0].weight)\n }\n\n }\n }\n const cmbtpSaiaAccountData = this.liveRateQuoteData.cmbtpSaiaAccountData || {};\n const saiaAccountData = this.liveRateQuoteData.saiaAccountData;\n Object.keys(saiaAccountData).forEach((key) => {\n saiaAccountData[key] = saiaAccountData[key].trim()\n })\n Object.keys(cmbtpSaiaAccountData).forEach((key) => {\n cmbtpSaiaAccountData[key] = cmbtpSaiaAccountData[key].trim()\n })\n if (cmbtpSaiaAccountData?.CMNAME && cmbtpSaiaAccountData?.CMMAD1 && cmbtpSaiaAccountData?.CMMCIT && cmbtpSaiaAccountData?.CMMST && cmbtpSaiaAccountData?.CMMZIP) {\n this.billTo = {\n name: cmbtpSaiaAccountData?.CMNAME,\n address1: cmbtpSaiaAccountData?.CMMAD1,\n address2: cmbtpSaiaAccountData?.CMMAD2,\n city: cmbtpSaiaAccountData?.CMMCIT,\n state: cmbtpSaiaAccountData?.CMMST,\n country: 'US',\n zip: cmbtpSaiaAccountData?.CMMZIP,\n zp4: cmbtpSaiaAccountData?.CMMZP4\n }\n } else if (cmbtpSaiaAccountData?.CMNAME && cmbtpSaiaAccountData?.CMADR1 && cmbtpSaiaAccountData?.CMCITY && cmbtpSaiaAccountData?.CMST && cmbtpSaiaAccountData?.CMZIP) {\n this.billTo = {\n name: cmbtpSaiaAccountData?.CMNAME,\n address1: cmbtpSaiaAccountData?.CMADR1,\n address2: cmbtpSaiaAccountData?.CMADR2,\n city: cmbtpSaiaAccountData?.CMCITY,\n state: cmbtpSaiaAccountData?.CMST,\n country: 'US',\n zip: cmbtpSaiaAccountData?.CMZIP,\n zp4: cmbtpSaiaAccountData?.CMZIP4\n }\n } else if (saiaAccountData?.CMNAME && saiaAccountData?.CMMAD1 && saiaAccountData?.CMMCIT && saiaAccountData?.CMMST && saiaAccountData?.CMMZIP) {\n this.billTo = {\n name: saiaAccountData?.CMNAME,\n address1: saiaAccountData?.CMMAD1,\n address2: saiaAccountData?.CMMAD2,\n city: saiaAccountData?.CMMCIT,\n state: saiaAccountData?.CMMST,\n country: 'US',\n zip: saiaAccountData?.CMMZIP,\n zp4: saiaAccountData?.CMMZP4\n }\n } else {\n this.billTo = {\n name: saiaAccountData?.CMNAME,\n address1: saiaAccountData?.CMADR1,\n address2: saiaAccountData?.CMADR2,\n city: saiaAccountData?.CMCITY,\n state: saiaAccountData?.CMST,\n country: 'US',\n zip: saiaAccountData?.CMZIP,\n zp4: saiaAccountData?.CMZIP4\n }\n }\n this.billTo.locationCode = saiaAccountData?.CMBTP ? saiaAccountData?.CMBTP : this.liveRateQuoteData.saiaAccountNumber;\n this.totalWeight = Number(this.liveRateQuoteData.requestData.items[0].weight);\n\n //Pickup Date formatting\n const pickupDateValue = this.liveRateQuoteData.requestData.pickup.date;\n const dateParts = pickupDateValue.split(' '); // Split by space to separate date and time\n const formattedPickupDate = dateParts[0]; // Get the date part\n\n //Delivery Date formatting\n const deliveryDateValue = this.liveRateQuoteData.quote.expectedDeliveryDate;\n const datePartsDelivery = deliveryDateValue.split(' '); // Split by space to separate date and time\n const formattedDeliveryDate = datePartsDelivery[0]; // Get the date part\n\n const today = new Date()\n let earliestPickupDate = moment(`${formattedPickupDate} ${today.getHours()}:${today.getMinutes()}`, 'MM/DD/YYYY HH:mm').toDate();\n this.timeDiff = (((earliestPickupDate.getTime() - today.getTime()) / 1000) / 60) / 60;\n\n // Form Builder Group\n this.tlTenderQuote = this.formBuilder.group({\n pickupDate: [formattedPickupDate],\n earliestPickupSI: [this.eptValue, [Validators.required]],\n latestPickupSI: [this.lptValue, [Validators.required]],\n pickupCompanyName: ['', [Validators.required]],\n pickupAddressline1: ['', [Validators.required]],\n pickupAddressline2: [''],\n pickupShipperCity: [this.liveRateQuoteData.requestData.pickup.location.city],\n pickupShipperState: [this.liveRateQuoteData.requestData.pickup.location.state],\n pickupShipperZip: [this.liveRateQuoteData.requestData.pickup.location.zip],\n pickupContactName: [''],\n pickupPhone: [''],\n pickupEmail: ['', [Validators.email]],\n deliveryDate: [formattedDeliveryDate],\n earliestDeliveryCI: [this.edtValue, [Validators.required]],\n latestDeliveryCI: [this.ldtValue, [Validators.required]],\n deliveryCompanyName: ['', [Validators.required]],\n deliveryAddress1: ['', [Validators.required]],\n deliveryAddress2: [''],\n deliveryCity: [this.liveRateQuoteData.requestData.dropoff.location.city],\n deliveryState: [this.liveRateQuoteData.requestData.dropoff.location.state],\n deliveryZip: [this.liveRateQuoteData.requestData.dropoff.location.zip],\n deliveryContact: [''],\n deliveryPhone: [''],\n deliveryEmail: ['', [Validators.email]],\n specialInstruction: [''],\n freightDetails: this.formBuilder.array([this.createFreightFormGroup(true)]),\n billingReference: ['', [Validators.required]],\n shipperReference: [''],\n consigneeReference: ['']\n });\n\n const freightDetailsArray = this.tlTenderQuote.get('freightDetails') as FormArray;\n freightDetailsArray.controls.forEach((control, index) => {\n this.characterCount[index] = 0;\n });\n\n }\n\n //Freight Details Form Array\n get freightDetailsAsFormArray(): any {\n return this.tlTenderQuote.get('freightDetails') as FormArray;\n }\n\n\n createFreightFormGroup(isInitials?: boolean): FormGroup {\n this.weightArray.push(isInitials ? Number(this.liveRateQuoteData.requestData.items[0].weight) : 0);\n this.itemArray.push(0);\n\n return this.formBuilder.group({\n freightDescription: ['', [Validators.required]],\n packageType: ['', [Validators.required]],\n weight: [isInitials ? this.liveRateQuoteData.requestData.items[0].weight : '', [Validators.required, Validators.max(48000), this.weightLimitValidator.bind(this)]],\n pieces: ['', [Validators.required]],\n dimensions: ['', [this.inputValidator]],\n hazmat: [this.liveRateQuoteData.requestData.items[0].isHazmat ? 'YES' : 'NO']\n });\n }\n\n //Add Form Array \n addControl(): void {\n const freightDetailsArray = this.tlTenderQuote.get('freightDetails') as FormArray;\n freightDetailsArray.push(this.createFreightFormGroup());\n\n const newIndex = freightDetailsArray.length - 1;\n this.characterCount[newIndex] = 0;\n\n // Commenting out because adding an item stops validation of this entire section\n for (let i = 0; i < freightDetailsArray.length; i++) {\n const freightDescriptionControl = freightDetailsArray.at(i).get('freightDescription');\n const packageTypeControl = freightDetailsArray.at(i).get('packageType');\n const weightControl = freightDetailsArray.at(i).get('weight');\n const piecesControl = freightDetailsArray.at(i).get('pieces');\n // const dimensionsControl = freightDetailsArray.at(i).get('dimensions');\n\n freightDescriptionControl?.clearValidators();\n packageTypeControl?.clearValidators();\n weightControl?.clearValidators();\n piecesControl?.clearValidators();\n // dimensionsControl?.clearValidators();\n\n freightDescriptionControl?.markAsUntouched({ onlySelf: true })\n packageTypeControl?.markAsUntouched({ onlySelf: true })\n weightControl?.markAsUntouched({ onlySelf: true })\n piecesControl?.markAsUntouched({ onlySelf: true })\n // dimensionsControl?.markAsUntouched({ onlySelf: true })\n }\n }\n\n //Remove Form Array\n removeControl(): void {\n if (this.freightDetailsAsFormArray.length > 1) {\n this.weightArray.pop();\n this.totalWeight = this.weightArray.reduce((accu, i) => accu + i);\n this.itemArray.pop();\n this.totalItem = this.itemArray.reduce((accu, i) => accu + i);\n this.freightDetailsAsFormArray.removeAt(this.freightDetailsAsFormArray.length - 1);\n } else {\n console.log('At least one shipping detail is required.');\n }\n }\n\n //Time-Picker 12hours validation message\n handleValidationMessage(instanceId: string, message: string): void {\n this.validationMessages[instanceId] = message;\n }\n\n onTimeChange(instanceId: string) {\n this.isFormSubmittedTruckloadApiError = '';\n this.timeError = false;\n\n // this.tlTenderQuote.controls['earliestPickupSI'].setValue(this.eptValue + this.eptAM ? ' AM' : ' PM')\n console.log(`InstanceId: ${instanceId}`)\n if ((instanceId === 'ept' || instanceId === 'lpt') && (!this.eptError && !this.lptError)) {\n //logic for comparing time format\n const startTime = '01/01/0001 ' + this.eptValue + (this.eptAM ? ' AM' : ' PM');\n const endTime = '01/01/0001 ' + this.lptValue + (this.lptAM ? ' AM' : ' PM');\n\n let hourDiff = (((Date.parse(endTime) - Date.parse(startTime)) / 1000) / 60) / 60;\n if (Date.parse(startTime) > Date.parse(endTime)) {\n this.isFormSubmittedTruckloadApiError = 'error';\n this.timeError = true\n window.scrollTo(0, 0);\n this.tenderResponse = {\n message: 'Latest pickup may not occur before earliest pickup time'\n }\n return;\n }\n // Separated from the above to throw specific message when both times are equal\n if (Date.parse(startTime) === Date.parse(endTime)) {\n this.isFormSubmittedTruckloadApiError = 'error';\n this.timeError = true\n window.scrollTo(0, 0);\n this.tenderResponse = {\n message: 'Latest pickup time may not be the same time as the earliest pickup time'\n }\n return;\n }\n if ((hourDiff < 4)) {\n this.isFormSubmittedTruckloadApiError = 'error';\n this.timeError = true\n window.scrollTo(0, 0);\n this.tenderResponse = {\n message: 'A 4 hour minimum window is required between the earliest pickup time and latest pickup time'\n }\n return;\n }\n }\n\n // Thien added to validate when lpt has an error but does not revalidate since it does not meet the primary conditionals\n if ((instanceId === 'ept' || instanceId === 'lpt') && (!this.eptError && this.lptError)) {\n const startTime = '01/01/0001 ' + this.eptValue + (this.eptAM ? ' AM' : ' PM');\n const endTime = '01/01/0001 ' + this.lptValue + (this.lptAM ? ' AM' : ' PM');\n\n let hourDiff = (((Date.parse(endTime) - Date.parse(startTime)) / 1000) / 60) / 60;\n if ((hourDiff < 4) && (hourDiff > 0)) {\n this.isFormSubmittedTruckloadApiError = 'error';\n this.timeError = true\n window.scrollTo(0, 0);\n this.tenderResponse = {\n message: 'A 4 hour minimum window is required between the earliest pickup time and latest pickup time'\n }\n return;\n }\n if ((hourDiff < 0)) {\n this.isFormSubmittedTruckloadApiError = 'error';\n this.timeError = true\n window.scrollTo(0, 0);\n this.tenderResponse = {\n message: 'Latest pickup may not occur before earliest pickup time'\n }\n return;\n }\n if ((hourDiff === 0)) {\n this.isFormSubmittedTruckloadApiError = 'error';\n this.timeError = true\n window.scrollTo(0, 0);\n this.tenderResponse = {\n message: 'Latest pickup time may not be the same time as the earliest pickup time'\n }\n return;\n }\n }\n\n // Thien added to validate when ept has an error but does not revalidate since it does not meet the primary conditionals\n if ((instanceId === 'ept' || instanceId === 'lpt') && (this.eptError && !this.lptError)) {\n const startTime = '01/01/0001 ' + this.eptValue + (this.eptAM ? ' AM' : ' PM');\n const endTime = '01/01/0001 ' + this.lptValue + (this.lptAM ? ' AM' : ' PM');\n\n let hourDiff = (((Date.parse(endTime) - Date.parse(startTime)) / 1000) / 60) / 60;\n if ((hourDiff < 4) && (hourDiff > 0)) {\n this.isFormSubmittedTruckloadApiError = 'error';\n this.timeError = true\n window.scrollTo(0, 0);\n this.tenderResponse = {\n message: 'A 4 hour minimum window is required between the earliest pickup time and latest pickup time'\n }\n return;\n }\n if ((hourDiff < 0)) {\n this.isFormSubmittedTruckloadApiError = 'error';\n this.timeError = true\n window.scrollTo(0, 0);\n this.tenderResponse = {\n message: 'Latest pickup may not occur before earliest pickup time'\n }\n return;\n }\n if ((hourDiff === 0)) {\n this.isFormSubmittedTruckloadApiError = 'error';\n this.timeError = true\n window.scrollTo(0, 0);\n this.tenderResponse = {\n message: 'Latest pickup time may not be the same time as the earliest pickup time'\n }\n return;\n }\n }\n\n if ((instanceId === 'edt' || instanceId === 'ldt') && (!this.edtError && !this.ldtError)) {\n //logic for comparing time format\n const startTime = '01/01/0001 ' + this.edtValue + (this.edtAM ? ' AM' : ' PM');\n const endTime = '01/01/0001 ' + this.ldtValue + (this.ldtAM ? ' AM' : ' PM');\n\n let hourDiff = (((Date.parse(endTime) - Date.parse(startTime)) / 1000) / 60) / 60;\n if (Date.parse(startTime) > Date.parse(endTime)) {\n this.isFormSubmittedTruckloadApiError = 'error';\n this.timeError = true\n window.scrollTo(0, 0);\n this.tenderResponse = {\n message: 'Latest delivery may not occur before earliest delivery time'\n }\n return;\n }\n if (Date.parse(startTime) === Date.parse(endTime)) {\n this.isFormSubmittedTruckloadApiError = 'error';\n this.timeError = true\n window.scrollTo(0, 0);\n this.tenderResponse = {\n message: 'Latest delivery time may not be the same time as the earliest delivery time'\n }\n return;\n }\n if ((hourDiff < 4)) {\n this.isFormSubmittedTruckloadApiError = 'error';\n this.timeError = true\n window.scrollTo(0, 0);\n this.tenderResponse = {\n message: 'A 4 hour minimum window is required between the earliest delivery time and the latest delivery time'\n }\n return;\n }\n }\n\n // Thien added to validate when ldt has an error but does not revalidate since it does not meet the primary conditionals\n if ((instanceId === 'edt' || instanceId === 'ldt') && (!this.edtError && this.ldtError)) {\n const startTime = '01/01/0001 ' + this.edtValue + (this.edtAM ? ' AM' : ' PM');\n const endTime = '01/01/0001 ' + this.ldtValue + (this.ldtAM ? ' AM' : ' PM');\n\n let hourDiff = (((Date.parse(endTime) - Date.parse(startTime)) / 1000) / 60) / 60;\n if ((hourDiff < 4) && (hourDiff > 0)) {\n this.isFormSubmittedTruckloadApiError = 'error';\n this.timeError = true\n window.scrollTo(0, 0);\n this.tenderResponse = {\n message: 'A 4 hour minimum window is required between the earliest delivery time and the latest delivery time'\n }\n return;\n }\n if ((hourDiff < 0)) {\n this.isFormSubmittedTruckloadApiError = 'error';\n this.timeError = true\n window.scrollTo(0, 0);\n this.tenderResponse = {\n message: 'Latest delivery may not occur before earliest delivery time'\n }\n return;\n }\n if ((hourDiff === 0)) {\n this.isFormSubmittedTruckloadApiError = 'error';\n this.timeError = true\n window.scrollTo(0, 0);\n this.tenderResponse = {\n message: 'Latest delivery time may not be the same time as the earliest delivery time'\n }\n return;\n }\n }\n\n // Thien added to validate when edt has an error but does not revalidate since it does not meet the primary conditionals\n if ((instanceId === 'edt' || instanceId === 'ldt') && (this.edtError && !this.ldtError)) {\n const startTime = '01/01/0001 ' + this.edtValue + (this.edtAM ? ' AM' : ' PM');\n const endTime = '01/01/0001 ' + this.ldtValue + (this.ldtAM ? ' AM' : ' PM');\n\n let hourDiff = (((Date.parse(endTime) - Date.parse(startTime)) / 1000) / 60) / 60;\n if ((hourDiff < 4) && (hourDiff > 0)) {\n this.isFormSubmittedTruckloadApiError = 'error';\n this.timeError = true\n window.scrollTo(0, 0);\n this.tenderResponse = {\n message: 'A 4 hour minimum window is required between the earliest delivery time and the latest delivery time'\n }\n return;\n }\n if ((hourDiff < 0)) {\n this.isFormSubmittedTruckloadApiError = 'error';\n this.timeError = true\n window.scrollTo(0, 0);\n this.tenderResponse = {\n message: 'Latest delivery may not occur before earliest delivery time'\n }\n return;\n }\n if ((hourDiff === 0)) {\n this.isFormSubmittedTruckloadApiError = 'error';\n this.timeError = true\n window.scrollTo(0, 0);\n this.tenderResponse = {\n message: 'Latest delivery time may not be the same time as the earliest delivery time'\n }\n return;\n }\n }\n\n\n }\n\n\n\n submitTenderRequest() {\n const formValues = this.tlTenderQuote.value;\n this.cdr.detectChanges();\n this.isFormSubmittedTruckloadApiError = '';\n let datePipe = new DatePipe('en-US');\n let pickupDate = datePipe.transform(formValues.pickupDate, 'MM/dd/yyyy');\n this.tenderFormStatusError = false\n\n // Check time errors again independently. Primarily for when an error occurs and resubmission is attempted without fixing errors.\n if (!this.timeError) {\n this.onTimeChange('edt')\n }\n if (!this.timeError) {\n this.onTimeChange('ept')\n }\n\n let deliveryDate = datePipe.transform(formValues.deliveryDate, 'MM/dd/yyyy');\n const formArray = this.tlTenderQuote.get('freightDetails') as FormArray;\n if (this.hasEmptyFieldsInFormArray(formArray)) {\n // Handle the case where there are empty fields in the form array\n\n const freightDescriptionArray = this.tlTenderQuote.get('freightDetails') as FormArray;\n\n for (let i = 0; i < freightDescriptionArray.length; i++) {\n const freightDescriptionControl = freightDescriptionArray.at(i).get('freightDescription');\n const packageTypeControl = freightDescriptionArray.at(i).get('packageType');\n const weightControl = freightDescriptionArray.at(i).get('weight');\n const piecesControl = freightDescriptionArray.at(i).get('pieces');\n // const dimensionsControl = freightDescriptionArray.at(i).get('dimensions');\n\n freightDescriptionControl?.markAsUntouched({ onlySelf: true })\n packageTypeControl?.markAsUntouched({ onlySelf: true })\n weightControl?.markAsUntouched({ onlySelf: true })\n piecesControl?.markAsUntouched({ onlySelf: true })\n // dimensionsControl?.markAsUntouched({ onlySelf: true })\n\n freightDescriptionControl?.setValidators([Validators.required]);\n freightDescriptionControl?.updateValueAndValidity();\n\n packageTypeControl?.setValidators([Validators.required]);\n packageTypeControl?.updateValueAndValidity();\n\n weightControl?.setValidators([Validators.required]);\n weightControl?.updateValueAndValidity();\n\n piecesControl?.setValidators([Validators.required]);\n piecesControl?.updateValueAndValidity();\n\n // dimensionsControl?.setValidators([Validators.required, this.inputValidator]);\n // dimensionsControl?.updateValueAndValidity();\n }\n }\n\n if (this.totalWeight >= 44000) return;\n if (this.tlTenderQuote.invalid || this.hasEmptyFields() || this.eptError || this.lptError || this.edtError || this.ldtError || this.timeError) {\n // Check for time error to throw appropriate message\n // Prevents user from submitting if a timeErrorMessage has not been cleared\n if (this.timeError || (this.timeError && this.timeErrorMessage)) {\n this.timeErrorMessage = true\n window.scrollTo(0, 0);\n return\n }\n this.timeErrorMessage = false;\n this.tenderFormStatusError = true;\n window.scrollTo(0, 0);\n this.tlTenderQuote.controls['pickupCompanyName'].updateValueAndValidity();\n this.tlTenderQuote.controls['pickupAddressline1'].updateValueAndValidity();\n this.tlTenderQuote.controls['pickupAddressline2'].updateValueAndValidity();\n this.tlTenderQuote.controls['pickupContactName'].updateValueAndValidity();\n this.tlTenderQuote.controls['pickupPhone'].updateValueAndValidity();\n this.tlTenderQuote.controls['pickupEmail'].updateValueAndValidity();\n this.tlTenderQuote.controls['deliveryCompanyName'].updateValueAndValidity();\n this.tlTenderQuote.controls['deliveryAddress1'].updateValueAndValidity();\n this.tlTenderQuote.controls['deliveryAddress2'].updateValueAndValidity();\n this.tlTenderQuote.controls['deliveryContact'].updateValueAndValidity();\n this.tlTenderQuote.controls['deliveryPhone'].updateValueAndValidity();\n this.tlTenderQuote.controls['deliveryEmail'].updateValueAndValidity();\n this.tlTenderQuote.controls['specialInstruction'].updateValueAndValidity();\n this.tlTenderQuote.controls['billingReference'].updateValueAndValidity();\n this.tlTenderQuote.controls['shipperReference'].updateValueAndValidity();\n this.tlTenderQuote.controls['consigneeReference'].updateValueAndValidity();\n\n return;\n\n } else {\n this.tenderFormStatusError = false;\n this.timeErrorMessage = false;\n window.scrollTo(0, 0);\n }\n\n if (this.tlTenderQuote.status != 'VALID') return;\n let references = [];\n if (formValues.billingReference) {\n references.push({\n type: 'Billing Ref Num',\n refNum: formValues.billingReference,\n isPrimary: false\n })\n }\n if (formValues.shipperReference) {\n references.push({\n type: 'Shipper Ref Num',\n refNum: formValues.shipperReference,\n isPrimary: false\n })\n }\n if (formValues.consigneeReference) {\n references.push({\n type: 'Consignee Ref Num',\n refNum: formValues.consigneeReference,\n isPrimary: false\n })\n }\n references.push({\n type: 'Saia Customer ACCT Number',\n refNum: this.liveRateQuoteData.saiaAccountNumber,\n isPrimary: false\n });\n references.push({\n type: 'Quote Number',\n refNum: this.liveRateQuoteData.quote.id,\n isPrimary: false\n });\n const items: any = [];\n formValues.freightDetails.forEach((item: any, index: number) => {\n let dimension = item.dimensions.toLowerCase().split('x');\n let [length, width, height] = dimension\n items.push({\n sequence: index + 1,\n freightClass: 0,\n name: item.freightDescription,\n weight: item.weight?.replace(/,/g, ''),\n weightUnits: \"lb\",\n quantityType: this.mgPackageTypes[item.packageType] || 'PLT',\n quantity: item.pieces,\n isHazmat: false,\n isStackable: false,\n dimension: {\n length: length ? length.trim() : '',\n width: width ? width.trim() : '',\n height: height ? height.trim() : '',\n units: \"in\"\n }\n });\n });\n\n let earliestPickup = datePipe.transform(`${pickupDate} ${this.tlTenderQuote.controls['earliestPickupSI']?.value}`, 'MM/dd/yyyy HH:mm');\n let latestPickup = datePipe.transform(`${pickupDate} ${this.tlTenderQuote.controls['latestPickupSI']?.value}`, 'MM/dd/yyyy HH:mm');\n let earliestDelivery = datePipe.transform(`${deliveryDate} ${this.tlTenderQuote.controls['earliestDeliveryCI']?.value}`, 'MM/dd/yyyy HH:mm');\n let latestDelivery = datePipe.transform(`${deliveryDate} ${this.tlTenderQuote.controls['latestDeliveryCI']?.value}`, 'MM/dd/yyyy HH:mm');\n this.loader = true;\n let payload = {\n companyAccountNumber: this.liveRateQuoteData.requestData.companyAccountNumber,\n source: this.liveRateQuoteData.requestData.source,\n mode: \"Truckload\",\n quoteID: this.liveRateQuoteData.dbDocumentId,\n saiaAccountNumber: this.liveRateQuoteData.saiaAccountNumber,\n references: references,\n payment: {\n method: \"Third Party\",\n billTo: {\n address: {\n customerAcctNum: \"LXCO001\",\n locationCode: this.billTo.locationCode,\n name: this.billTo.name,\n addrLine1: this.billTo.address1,\n addrLine2: this.billTo.address2,\n city: this.billTo.city,\n stateProvince: this.billTo.state,\n postalCode: this.billTo.zip,\n countryCode: \"US\"\n },\n contacts: [\n {\n name: this.liveRateQuoteData.requestData.yourName,\n type: \"Billing Contact\",\n contactMethods: [\n {\n sequenceNum: 1,\n type: \"email\",\n text: this.liveRateQuoteData.requestData.yourEmail\n },\n {\n sequenceNum: 2,\n type: \"phone\",\n text: this.liveRateQuoteData.requestData.yourPhone\n }\n ]\n }\n ]\n }\n },\n pickup: {\n earliest: earliestPickup,\n latest: latestPickup,\n location: {\n name: formValues.pickupCompanyName,\n address1: formValues.pickupAddressline1,\n address2: formValues.pickupAddressline2,\n city: formValues.pickupShipperCity,\n state: formValues.pickupShipperState,\n zip: formValues.pickupShipperZip,\n country: \"US\"\n },\n contacts: [\n {\n name: formValues.pickupContactName,\n contactMethods: [\n {\n \"sequenceNum\": 1,\n \"type\": \"phone\",\n \"text\": formValues.pickupPhone\n },\n {\n \"sequenceNum\": 2,\n \"type\": \"email\",\n \"text\": formValues.pickupEmail\n }\n ]\n }\n ],\n comment: formValues.specialInstruction\n },\n dropoff: {\n earliest: earliestDelivery,\n latest: latestDelivery,\n location: {\n name: formValues.deliveryCompanyName,\n address1: formValues.deliveryAddress1,\n address2: formValues.deliveryAddress2,\n city: formValues.deliveryCity,\n state: formValues.deliveryState,\n zip: formValues.deliveryZip,\n country: \"US\"\n },\n contacts: [\n {\n name: formValues.deliveryContact,\n contactMethods: [\n {\n sequenceNum: 1,\n type: \"phone\",\n text: formValues.deliveryPhone\n },\n {\n sequenceNum: 2,\n type: \"email\",\n text: formValues.deliveryEmail\n }\n ]\n }\n ],\n comment: formValues.specialInstruction\n },\n items: items,\n quoteDbItem: this.liveRateQuoteData.quoteDbItem,\n billTo: this.billTo\n }\n this.service.submitTenderRequest(payload).subscribe((result: any) => {\n this.loader = false;\n if (result.error || result?.resp?.statusCode === 'Fail') {\n this.isFormSubmittedTruckloadApiError = 'error';\n this.addGA4Event({ 'event': 'submit-billoflading-error', errorMessage: JSON.stringify(result) })\n this.tenderResponse = {\n message: 'Error in submitting your request, Please Call LinkEx 972-481-9900.'\n }\n } else if (result.resp.statusCode === 'SUCCESS') {\n this.isFormSubmittedTruckloadApiError = 'success'\n this.addGA4Event({ 'event': 'submit-billoflading-success' })\n let bolData = {\n liveRateQuoteData: this.liveRateQuoteData,\n bolInfo: result,\n tenderPayload: payload,\n tenderFormValue: formValues\n };\n this.router.navigate(['/bol'], {\n state: {\n bolData: JSON.stringify(bolData),\n },\n });\n }\n }, (error: any) => {\n this.loader = false;\n this.addGA4Event({ 'event': 'submit-billoflading-error', errorMessage: JSON.stringify(error) })\n this.isFormSubmittedTruckloadApiError = 'error'\n this.tenderResponse = {\n message: 'Error in submitting your request, Please Call LinkEx 972-481-9900.'\n }\n })\n }\n addGA4Event(event: any): void {\n (window as { [key: string]: any })['dataLayer'].push(event);\n }\n hasEmptyFields() {\n for (const controlName in this.tlTenderQuote.controls) {\n if (this.tlTenderQuote.controls.hasOwnProperty(controlName)) {\n const control = this.tlTenderQuote.get(controlName);\n if (control && control.value === '' && this.tlTenderQuote.get(controlName)?.hasValidator(Validators.required)) {\n return true; // Return true if any control has an empty value\n }\n }\n }\n return false; // Return false if no control has an empty value\n }\n\n async skipWeekendHoliday(date: string): Promise {\n return new Promise((resolve, reject) => {\n this.service.skipWeekendHoliday({ date: date }).subscribe((result: any) => {\n if (result.nextDate) {\n resolve(result.nextDate)\n } else {\n resolve(date)\n }\n }, (error) => {\n resolve(date)\n })\n })\n }\n\n validateTime(time: string): boolean {\n const pattern = /^(0?[1-9]|1[0-2]):[0-5][0-9]$/;\n return !pattern.test(time);\n }\n\n resetForm(): void {\n window.scrollTo(0, 0);\n this.totalItem = 0;\n this.isFormSubmittedTruckloadApiError = '';\n this.weightArray = [this.originalTotalWeight];\n this.totalWeight = this.weightArray[0];\n this.tenderFormStatusError = false;\n this.timeError = false;\n this.timeErrorMessage = false;\n // Needing to explicitly set booleans\n this.timeComponentRef.forEach(element => {\n if (element.instance == 'ept') {\n this.eptAM = true\n element.reset('08:00', true);\n } else if (element.instance == 'lpt') {\n this.lptAM = false\n element.reset('05:00', false);\n } else if (element.instance == 'edt') {\n // Having to force reset this. Otherwise, it is setting the boolean value to false. Bhushan check.\n this.edtAM = true\n element.reset('08:00', true);\n } else if (element.instance == 'ldt') {\n this.ldtAM = false\n element.reset('05:00', false);\n }\n });\n\n this.tlTenderQuote.controls['pickupCompanyName'].setValue('');\n this.tlTenderQuote.controls['pickupCompanyName'].setErrors(null);\n\n this.tlTenderQuote.get('pickupAddressline1')?.setValue('');\n this.tlTenderQuote.get('pickupAddressline1')?.setErrors(null);\n\n this.tlTenderQuote.get('pickupAddressline2')?.setValue('');\n this.tlTenderQuote.get('pickupAddressline2')?.setErrors(null);\n\n this.tlTenderQuote.get('pickupContactName')?.setValue('');\n this.tlTenderQuote.get('pickupContactName')?.setErrors(null);\n\n this.tlTenderQuote.get('pickupPhone')?.setValue('');\n this.tlTenderQuote.get('pickupPhone')?.setErrors(null);\n\n this.tlTenderQuote.get('pickupEmail')?.setValue('');\n this.tlTenderQuote.get('pickupEmail')?.setErrors(null);\n\n this.tlTenderQuote.get('deliveryCompanyName')?.setValue('');\n this.tlTenderQuote.get('deliveryCompanyName')?.setErrors(null);\n\n this.tlTenderQuote.get('deliveryAddress1')?.setValue('');\n this.tlTenderQuote.get('deliveryAddress1')?.setErrors(null);\n\n this.tlTenderQuote.get('deliveryAddress2')?.setValue('');\n this.tlTenderQuote.get('deliveryAddress2')?.setErrors(null);\n\n this.tlTenderQuote.get('deliveryContact')?.setValue('');\n this.tlTenderQuote.get('deliveryContact')?.setErrors(null);\n\n this.tlTenderQuote.get('deliveryPhone')?.setValue('');\n this.tlTenderQuote.get('deliveryPhone')?.setErrors(null);\n\n this.tlTenderQuote.get('deliveryEmail')?.setValue('');\n this.tlTenderQuote.get('deliveryEmail')?.setErrors(null);\n\n this.tlTenderQuote.get('specialInstruction')?.setValue('');\n this.tlTenderQuote.get('specialInstruction')?.setErrors(null);\n\n this.tlTenderQuote.get('earliestPickupSI')?.setValue('08:00');\n this.tlTenderQuote.get('earliestPickupSI')?.setErrors(null);\n\n this.tlTenderQuote.get('latestPickupSI')?.setValue('05:00');\n this.tlTenderQuote.get('latestPickupSI')?.setErrors(null);\n\n this.tlTenderQuote.get('earliestDeliveryCI')?.setValue('08:00');\n this.tlTenderQuote.get('earliestDeliveryCI')?.setErrors(null);\n\n this.tlTenderQuote.get('latestDeliveryCI')?.setValue('05:00');\n this.tlTenderQuote.get('latestDeliveryCI')?.setErrors(null);\n\n const freightDetailsArray = this.tlTenderQuote.get('freightDetails') as FormArray;\n\n for (let i = 0; i < freightDetailsArray.length; i++) {\n const freightDescriptionControl = freightDetailsArray.at(i).get('freightDescription');\n const packageTypeControl = freightDetailsArray.at(i).get('packageType');\n const weightControl = freightDetailsArray.at(i).get('weight');\n const piecesControl = freightDetailsArray.at(i).get('pieces');\n const dimensionsControl = freightDetailsArray.at(i).get('dimensions');\n\n freightDescriptionControl?.clearValidators();\n packageTypeControl?.clearValidators();\n weightControl?.clearValidators();\n piecesControl?.clearValidators();\n // dimensionsControl?.clearValidators();\n\n freightDescriptionControl?.markAsUntouched({ onlySelf: true })\n packageTypeControl?.markAsUntouched({ onlySelf: true })\n weightControl?.markAsUntouched({ onlySelf: true })\n piecesControl?.markAsUntouched({ onlySelf: true })\n // dimensionsControl?.markAsUntouched({ onlySelf: true })\n\n weightControl?.setValidators([Validators.max(48000), this.weightLimitValidator.bind(this)])\n dimensionsControl?.setValidators([this.inputValidator])\n\n }\n\n this.tlTenderQuote.get('billingReference')?.setValue('');\n this.tlTenderQuote.get('billingReference')?.setErrors(null);\n\n this.tlTenderQuote.get('shipperReference')?.setValue('');\n this.tlTenderQuote.get('shipperReference')?.setErrors(null);\n\n this.tlTenderQuote.get('consigneeReference')?.setValue('');\n this.tlTenderQuote.get('consigneeReference')?.setErrors(null);\n\n const formArray = [{\n freightDescription: '',\n packageType: '',\n weight: this.liveRateQuoteData.requestData.items[0].weight,\n pieces: '',\n dimensions: '',\n hazmat: this.liveRateQuoteData.requestData.items[0].isHazmat ? 'YES' : 'NO'\n }];\n this.itemArray[0] = 0;\n for (let i = 1; i < this.itemArray.length; i++) {\n this.itemArray[i] = 0;\n this.weightArray[i] = 0;\n formArray.push({\n freightDescription: '',\n packageType: '',\n weight: '',\n dimensions: '',\n pieces: '',\n hazmat: ''\n })\n }\n this.tlTenderQuote.controls['freightDetails'].setValue(formArray);\n\n }\n\n hasEmptyFieldsInFormArray(formArray: FormArray): boolean {\n for (let i = 0; i < formArray.length; i++) {\n const group = formArray.at(i) as FormGroup;\n\n // Check if any control value in the form group is empty\n if (Object.values(group.value).some(value => value === '')) {\n return true; // Return true if any control in the form group has an empty value\n }\n }\n\n return false; // Return false if no control in any form group has an empty value\n }\n\n inputValidator(control: AbstractControl) {\n // Check if the input is empty or null, in which case it's considered valid\n if (!control.value) {\n return null;\n }\n // const dimensionsPattern = /^(\\d+(\\.\\d+)?\\s?x\\s?\\d+(\\.\\d+)?\\s?x\\s?\\d+(\\.\\d+)?)?$/;\n const dimensionsPattern = /^(\\d+(\\.\\d+)?\\s?[xX]\\s?)\\d+(\\.\\d+)?\\s?[xX]\\s?\\d+(\\.\\d+)?$/;\n\n if (dimensionsPattern.test(control.value)) {\n return null; // Input is valid\n } else {\n return { invalidDimensions: true }; // Input is invalid\n }\n // Split the input by 'x' and remove spaces to get individual dimensions\n // const dimensionsArray = control.value.split('x').map((dimension: string) => dimension.trim());\n // // Check if there are exactly three dimensions (L x W x H)\n // if (dimensionsArray.length === 3) {\n // // Check if all three dimensions are valid numbers or valid decimals\n // const isValid = dimensionsArray.every((dimension: string) => {\n // const parsedDimension = parseFloat(dimension);\n // return !isNaN(parsedDimension) && parsedDimension >= 0; // Check if it's a non-negative number\n // });\n // return isValid ? null : { invalidDimensions: true };\n // }\n // return { invalidDimensions: true };\n }\n\n\n\n weightLimitValidator(control: AbstractControl): { [key: string]: any } | null {\n const maxWeight = 44000;\n const enteredValue = control.value ? parseInt(control.value.replace(/,/g, '')) : null;\n if (enteredValue !== null && (isNaN(enteredValue) || enteredValue > maxWeight)) {\n return { maxWeight: true };\n }\n return null;\n }\n\n addWeight(event: any, index: any): void {\n if (index === 0) {\n this.weightArray[0] = Number(event.target.value.replace(/,/g, ''));\n this.totalWeight = this.weightArray.reduce((accu, i) => accu + i);\n } else {\n this.weightArray[index] = Number(event.target.value.replace(/,/g, ''));\n this.totalWeight = this.weightArray.reduce((accu, i) => accu + i);\n }\n }\n\n addPieces(event: any, index: any): void {\n this.itemArray[index] = Number(event.target.value.replace(/,/g, ''));\n this.totalItem = this.itemArray.reduce((accu, i) => accu + i);\n }\n\n alphaOnly(event: any) {\n const input = event.target as HTMLInputElement;\n const inputValue = input.value;\n input.value = inputValue.replace(/[^0-9a-zA-Z ]/g, '');\n }\n\n numberOnly(event: any) {\n const input = event.target as HTMLInputElement;\n const inputValue = input.value;\n input.value = inputValue.replace(/[^0-9 ]/g, '');\n }\n\n commaNumberOnly(event: any) {\n const input = event.target as HTMLInputElement;\n let inputValue = input.value.replace(/[^0-9]/g, ''); // Remove non-numeric characters\n if (inputValue !== '') {\n const parsedValue = parseInt(inputValue);\n if (!isNaN(parsedValue)) {\n inputValue = parsedValue.toLocaleString(); // Format with commas\n }\n }\n input.value = inputValue;\n }\n\n packagetype: packageType[] = [\n { value: 'Boxes', viewValue: 'Boxes' },\n { value: 'Bundle', viewValue: 'Bundle' },\n { value: 'Carton', viewValue: 'Carton' },\n { value: 'Cases', viewValue: 'Cases' },\n { value: 'Crates', viewValue: 'Crates' },\n { value: 'Drums', viewValue: 'Drums' },\n { value: 'Packages', viewValue: 'Packages' },\n { value: 'Pallets', viewValue: 'Pallets' },\n { value: 'Reels', viewValue: 'Reels' },\n { value: 'Skids', viewValue: 'Skids' },\n { value: 'Tote Bins', viewValue: 'Tote Bins' },\n ]\n\n mgPackageTypes: any = {\n Bundle: 'BDL',\n Boxes: 'BOX',\n Cases: 'CAS',\n Crates: 'CRT',\n Carton: 'CTN',\n Drums: 'DRM',\n Pieces: 'PCS',\n Pallets: 'PLT',\n 'Tote Bins': 'TOT'\n // TOT = Totes\n }\n\n ngOnInit(): void {\n\n }\n\n ngOnChanges(changes: SimpleChanges) {\n // create header using child_id \n }\n\n characterCount: { [key: string]: number } = {\n pickupCompanyName: 0,\n pickupAddressline1: 0,\n pickupAddressline2: 0,\n pickupContactName: 0,\n pickupPhone: 0,\n pickupEmail: 0,\n deliveryCompanyName: 0,\n deliveryAddress1: 0,\n deliveryAddress2: 0,\n deliveryContact: 0,\n deliveryPhone: 0,\n deliveryEmail: 0,\n specialInstruction: 0,\n billingReference: 0,\n\n };\n\n updateCharacterCount(event: Event, controlName: string): void {\n const value = (event.target as HTMLInputElement)?.value || '';\n this.characterCount[controlName] = value.length;\n }\n\n updateCharacterCountDescription(event: Event, controlIndex: number): void {\n const value = (event.target as HTMLInputElement)?.value || '';\n this.characterCount[controlIndex] = value.length;\n }\n\n}\n","
\n
\n
\n
\n
\n\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n
  3. Get Quote
  4. \n
  5. Quote Details
  6. \n
  7. Accept Quote
  8. \n
\n
\n
\n
\n\n\n
\n
\n\n
\n
\n
\n

Quote Reference Number # {{liveRateQuoteData.quote.id}}

\n
\n
\n Error | Please fill out all highlighted form fields correctly and then try submitting again\n
\n
\n Error | Please check and fix pickup and delivery times for errors\n
\n
\n Thank you for your business. A member of our Truckload Team will contact you shortly.\n
\n
\n {{tenderResponse.message}}\n
\n
\n\n
\n
\n

\n Shipper Information\n

\n
\n
\n\n
\n
\n \n \n \n \n
\n\n
\n \n
\n\n
\n \n
\n\n \n\n
\n \n \n \n Enter Company Name\n \n {{ characterCount['pickupCompanyName'] }}/50\n
\n
\n\n
\n
\n \n \n \n Enter Address Line 1\n \n {{ characterCount['pickupAddressline1'] }}/50\n
\n\n
\n \n \n \n \n {{ characterCount['pickupAddressline2'] }}/50\n
\n
\n\n
\n
\n \n \n \n \n
\n\n
\n \n \n \n \n
\n\n
\n \n \n \n \n
\n
\n\n
\n
\n \n \n \n \n {{ characterCount['pickupContactName'] }}/50\n
\n\n
\n \n \n \n \n {{ characterCount['pickupPhone'] }}/10\n
\n\n
\n \n \n \n Enter Valid Email\n \n {{ characterCount['pickupEmail'] }}/50\n
\n
\n\n\n
\n
\n

\n CONSIGNEE INFORMATION\n

\n
\n
\n\n
\n
\n \n \n \n \n
\n\n
\n \n\n
\n\n
\n \n\n
\n \n\n
\n \n \n \n Enter Company Name\n \n {{ characterCount['deliveryCompanyName'] }}/50\n
\n
\n\n
\n
\n \n \n \n Enter Address Line 1\n \n {{ characterCount['deliveryAddress1'] }}/50\n
\n\n
\n \n \n \n \n {{ characterCount['deliveryAddress2'] }}/50\n
\n
\n\n
\n
\n \n \n \n \n
\n\n
\n \n \n \n \n
\n\n
\n \n \n \n \n
\n
\n\n
\n
\n \n \n \n \n {{ characterCount['deliveryContact'] }}/50\n
\n\n
\n \n \n \n \n {{ characterCount['deliveryPhone'] }}/10\n
\n\n
\n \n \n \n Enter Valid Email\n \n {{ characterCount['deliveryEmail'] }}/50\n
\n
\n\n
\n
\n

\n Additional Information\n

\n
\n
\n\n
\n
\n \n \n \n \n {{ characterCount['specialInstruction'] }}/100\n
\n
\n\n
\n
\n

\n Bill To\n

\n
\n
\n\n
\n
\n
\n \n
\n {{billTo.name}}
\n {{billTo.address1}} {{billTo.address2}}
\n {{billTo.city}}, {{billTo.state\n }}, {{billTo.zip}}\n
\n
\n
\n
\n\n
\n\n
\n
\n

\n Freight Information\n

\n
\n
\n\n\n \n
\n
\n

\n Item: {{i+1}}\n

\n
\n\n
\n \n \n \n Enter Freight Description\n \n {{ characterCount[i] }}/100 \n
\n\n\n
\n \n \n \n \n {{ packagetype.viewValue }}\n \n \n Select Package Type\n \n
\n\n
\n \n \n \n Enter Valid Weight\n Maximum weight is 44,000 lbs\n \n
\n\n
\n \n \n \n Enter Pieces\n \n
\n\n
\n \n \n \n Invalid Dimensions\n \n
\n\n\n
\n \n \n \n \n
\n
\n
\n\n\n
\n
\n   \n \n
\n
\n\n
\n
\n\n
\n
\n

\n Total Items: {{totalItem}}\n

\n
\n\n
\n

\n Total Weight: {{totalWeight}} lbs\n\n

\n
\n
=44000\">\n Total Weight cannot exceed 44,000 lbs\n
\n\n
\n\n\n
\n
\n

\n REFERENCE INFORMATION\n

\n
\n
\n\n
\n\n
\n \n \n \n Enter Billing Reference #\n \n {{ characterCount['billingReference'] }}/50\n
\n\n
\n \n \n \n \n {{ characterCount['shipperReference'] }}/50\n
\n\n
\n \n \n \n \n {{ characterCount['consigneeReference'] }}/50\n
\n\n
\n\n
\n\n
\n
\n
\n \n
\n
\n \n
\n
\n\n\n
\n
\n\n
\n
\n\n\n
\n
","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AbstractControl, FormArray, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { MatTabChangeEvent, MatTabGroup } from '@angular/material/tabs';\nimport { Subject } from 'rxjs';\nimport { LinkexService } from '../services/linkex.service.service';\nimport { DatePipe } from '@angular/common';\nimport { DateFilterFn } from '@angular/material/datepicker';\nimport moment from 'moment';\n\ninterface Each {\n value: string;\n viewValue: string;\n}\n\ninterface Class {\n value: string;\n viewValue: string;\n}\n\ninterface Incoterms {\n value: string;\n viewValue: string;\n}\n\ninterface HuType {\n value: string;\n viewValue: string;\n}\n\n@Component({\n selector: 'app-quote',\n templateUrl: './quote.component.html',\n styleUrls: ['./quote.component.scss']\n})\nexport class QuoteComponent implements OnInit {\n [x: string]: any;\n @ViewChild(MatTabGroup) tabGroup!: MatTabGroup;\n @ViewChild('ngTruckload') ngTruckload: any;\n @ViewChild('ngExpedited') ngExpedited: any;\n @ViewChild('ngFinalCartage') ngFinalCartage: any;\n @ViewChild('ngWarehousing') ngWarehousing: any;\n @ViewChild('ngInternational') ngInternational: any;\n @ViewChild('ngTransloading') ngTransloading: any;\n\n loader: boolean = false;\n isFormSubmittedTruckload = false;\n isFormSubmittedExpeditedload = false;\n isFormSubmittedLtlcartage = false;\n isFormSubmittedWarehousing = false;\n isFormSubmittedInternational = false;\n isFormSubmittedTransloading = false;\n isFormSubmittedTruckloadApiError = false;\n isFormSubmittedLtlcartageApiError = false;\n isFormSubmittedInternationalApiError = false;\n isFormSubmittedTransloadingApiError = false;\n isFormSubmittedWarehouseApiError = false;\n isFormSubmittedExpeditedApiError = false;\n isValidSaiaAccount: string | null = null;\n isTruckloadAccessorialChecked: string | null = null;\n dateValue: any;\n apiResponse: any = {};\n saiaAccountData: any = null;\n cmbtpSaiaAccountData: any = null;\n minDate = new Date();\n minDateToFinish = new Subject();\n shipDate = new Date();\n rDate = new Date();\n\n email = 'tlquotes@linkex.us';\n subject = 'Request for Quote';\n\n warehouseStatusError: boolean = false;\n warehouseStatus: boolean = false;\n today = new Date();\n activeTabIndex: number | undefined;\n previousQuoteStatus: string = \"\";\n previousQuoteMsg: string = \"\";\n inputText: string = '';\n showButton: boolean = false;\n isLoading: boolean = false;\n isLoadingPreviousQuote: boolean = false;\n isValidSaiaInput: boolean = false;\n showForm = false;\n\n captcha: string = '';\n showCaptchaError: boolean = false;\n\n // dateChange(e: { value: { toString: () => string; }; }) {\n // this.minDateToFinish.next(e.value.toString());\n // }\n\n blockedDates: Date[] = [\n new Date(2023, 0, 2),\n new Date(2023, 3, 7),\n new Date(2023, 4, 29),\n new Date(2023, 6, 4),\n new Date(2023, 8, 4),\n new Date(2023, 10, 23),\n new Date(2023, 10, 24),\n new Date(2023, 11, 25),\n new Date(2023, 11, 26),\n new Date(2024, 0, 1)\n ];\n\n dateFilter: DateFilterFn = (date: Date | null) => {\n // Block weekends (Saturday and Sunday)\n if (!date) {\n return true; // Allow null date values\n }\n\n // Block weekends (Saturday and Sunday)\n const day = date.getDay();\n if (day === 0 || day === 6) {\n return false;\n }\n\n // Block specific dates\n return !this.blockedDates.some(blockedDate => this.isSameDay(date, blockedDate));\n };\n\n isSameDay(date1: Date, date2: Date): boolean {\n return (\n date1.getFullYear() === date2.getFullYear() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getDate() === date2.getDate()\n );\n }\n\n dateChange(e: { value: { toString: () => string } | null }) {\n const datePipe = new DatePipe('en-US');\n const formattedDate = e.value ? datePipe.transform(e.value.toString()) : null;\n if (formattedDate !== null) {\n this.minDateToFinish.next(formattedDate);\n }\n }\n\n constructor(private fb: FormBuilder, private service: LinkexService, private route: ActivatedRoute, private router: Router, private datePipe: DatePipe) {\n this.minDateToFinish.subscribe(r => {\n this.shipDate = new Date(r);\n this.rDate = new Date(r);\n })\n\n const tomorrow = new Date();\n tomorrow.setDate(tomorrow.getDate() + 1);\n this.minDate = tomorrow;\n }\n\n each: Each[] = [\n { value: 'Each', viewValue: 'Each' },\n { value: 'Total', viewValue: 'Total' },\n ];\n\n class: Class[] = [\n { value: '50', viewValue: '50' },\n { value: '55', viewValue: '55' },\n { value: '60', viewValue: '60' },\n { value: '65', viewValue: '65' },\n { value: '70', viewValue: '70' },\n { value: '77.5', viewValue: '77.5' },\n { value: '85', viewValue: '85' },\n { value: '92.5', viewValue: '92.5' },\n { value: '100', viewValue: '100' },\n { value: '110', viewValue: '110' },\n { value: '125', viewValue: '125' },\n { value: '150', viewValue: '150' },\n { value: '175', viewValue: '175' },\n { value: '200', viewValue: '200' },\n { value: '250', viewValue: '250' },\n { value: '300', viewValue: '300' },\n { value: '400', viewValue: '400' },\n { value: '500', viewValue: '500' },\n ];\n truckLoadStatusError: boolean = false;\n expeditedLoadStatusError: boolean = false;\n ltlCatageStatusError: boolean = false;\n warehousingStatusError: boolean = false;\n internationalStatusError: boolean = false;\n transloadingError: boolean = false;\n truckLoadStatus: boolean = false;\n expeditedLoadStatus: boolean = false;\n ltlCatageStatus: boolean = false;\n warehousingStatus: boolean = false;\n internationalStatus: boolean = false;\n transloadingStatus: boolean = false;\n incoterms: Incoterms[] = [\n { value: 'EXW', viewValue: 'EXW' },\n { value: 'FCA', viewValue: 'FCA' },\n { value: 'CPT', viewValue: 'CPT' },\n { value: 'CIP', viewValue: 'CIP' },\n { value: 'DAT', viewValue: 'DAT' },\n { value: 'DAP', viewValue: 'DAP' },\n { value: 'DDP', viewValue: 'DDP' },\n { value: 'FAS', viewValue: 'FAS' },\n { value: 'FOB', viewValue: 'FOB' },\n { value: 'CFR', viewValue: 'CFR' },\n { value: 'CIF', viewValue: 'CIF' },\n { value: 'DPU', viewValue: 'DPU' },\n ];\n\n ngOnInit(): void {\n const tab = this.route.snapshot.queryParamMap.get('tab');\n this.activeTabIndex = this.getTabIndex(tab);\n }\n\n getTabIndex(tabLabel: string | null): number {\n if (tabLabel) {\n const decodedTabLabel = this.decodeTabLabel(tabLabel);\n switch (decodedTabLabel) {\n case 'Truckload':\n return 0;\n case 'Expedited':\n return 1;\n case 'Final-Mile-and-Cartage':\n return 2;\n case 'Warehousing':\n return 3;\n case 'International':\n return 4;\n case 'Drayage / Transloading':\n return 5;\n default:\n return 0;\n }\n } else {\n return 0;\n }\n }\n\n decodeTabLabel(tabLabel: string): string {\n return tabLabel.replace('Drayage-and-Transloading', 'Drayage / Transloading');\n }\n\n encodeTabLabel(tabLabel: string): string {\n let encodedTabLabel = tabLabel.replace('Drayage / Transloading', 'Drayage-and-Transloading');\n encodedTabLabel = encodedTabLabel.replace(/ /g, '-');\n return encodedTabLabel;\n }\n\n onTabChanged(event: MatTabChangeEvent) {\n const selectedTabLabel = event.tab.textLabel;\n const encodedTabLabel = this.encodeTabLabel(selectedTabLabel);\n\n this.router.navigate(['/quote'], {\n relativeTo: this.route,\n queryParams: { tab: encodedTabLabel },\n queryParamsHandling: 'merge'\n });\n }\n\n\n serviceOfferings: any = {\n serviceOffering1: 'Expedited/Ground, Air',\n serviceOffering2: 'Dry Van Truckload',\n serviceOffering3: 'Reefer Truckload',\n serviceOffering4: 'Step Deck',\n serviceOffering5: 'Power Only',\n serviceOffering6: 'Specialized',\n serviceOffering7: 'Rail/Intermodal',\n serviceOffering8: 'International/Ocean, Air, Import and Export',\n serviceOffering9: 'Contract Logistics',\n serviceOffering10: 'Trans Management',\n serviceOffering11: 'DFW Local Cartage',\n serviceOffering12: 'Other',\n };\n accessorial: any = {\n accessorial1: 'Will Pallets/Units Stack',\n accessorial2: 'Origin Driver Assistance Required',\n accessorial3: 'Destination Driver Assistance Required',\n accessorial4: 'Lift Gate Required at Origin',\n accessorial5: 'Lift Gate Required at Destination',\n accessorial6: 'Hazmat UN',\n };\n replyBy: any = {\n replyBy1: 'Phone',\n replyBy2: 'Fax',\n replyBy3: 'Email'\n };\n stdServices: any = {\n stdServices1: 'Appointment Pickup',\n stdServices2: 'Appointment Delivery',\n stdServices3: 'Lift Gate Pickup',\n stdServices4: 'Lift Gate Delivery',\n stdServices5: 'Pallet Jack Pickup',\n stdServices6: 'Pallet Jack Delivery',\n stdServices7: 'Tilt Dolly Pickup',\n stdServices8: 'Tilt Dolly Delivery',\n stdServices9: 'Inside Pickup',\n stdServices10: 'Inside Delivery',\n stdServices11: 'Debris Removal',\n stdServices12: 'Residential Pickup',\n stdServices13: 'Residential Delivery',\n stdServices14: 'Trade Show/Convention Hall/Hotel Pickup',\n stdServices15: 'Trade Show/Convention Hall/Hotel Delivery',\n stdServices16: 'Military Base/School Pickup',\n stdServices17: 'Military Base/School Delivery',\n stdServices18: 'Sorting and Segregating',\n stdServices19: 'Hazardous Materials'\n };\n typeOfServices: any = {\n typeOfService1: 'Short Term',\n typeOfService2: 'Pick and Pack',\n typeOfService3: 'Long Term',\n typeOfService4: 'Cross Dock',\n };\n loadTypes: any = {\n loadType1: 'Less that Container Load (LCL)',\n loadType2: 'Full Container Load (FCL)'\n };\n equipmentTypes: any = {\n ETStandard: 'Standard',\n ETHighCube: 'High Cube',\n ETRefrigerated: 'Refrigerated(Reefer)',\n ETOpenTop: 'Open Top',\n ETFlatRack: 'Flat Rack',\n ETOutofGauge: 'Out of Gauge',\n ETVanTrailer: 'Van Trailer',\n ETBonded: 'Bonded'\n }\n\n\n truckload = this.fb.group({\n previousQuoteNumber: [''],\n yourCompany: [''],\n yourName: ['', [Validators.required]],\n yourPhone: ['', [Validators.required]],\n yourEmail: ['', [Validators.required, Validators.pattern('^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\\.[A-Za-z]{2,4}$')]],\n saiaAccountNumber: ['', [this.saiaAccountNumberValidator()]],\n accountNumber: [''],\n // additionalDetails: [''],\n pickDate: ['', [Validators.required]],\n originCity: ['', [Validators.required]],\n originState: ['', [Validators.required]],\n originZip: ['', [Validators.required]],\n // dockHours: ['', [Validators.required]],\n destinationCity: ['', [Validators.required]],\n destinationState: ['', [Validators.required]],\n destinationZip: ['', [Validators.required]],\n // destiDockHours: ['', [Validators.required]],\n\n // truckloadShippingDetails: this.fb.array([this.shippingDetailsArray()]),\n // freightDetails: this.fb.array([this.freightDetailsArray()]),\n weight: ['', [Validators.required, Validators.max(48000), this.weightLimitValidator]],\n hazmat: [],\n\n standarDryVan: [{ value: true, disabled: true }],\n // specialInstructions: [''],\n accessorialServicesFb: this.fb.group({\n insideDelivery: false,\n insidePickup: false,\n liftgateDelivery: false,\n liftgatePickup: false,\n limitedAccessOnDelivery: false,\n limitedAccessOnPickup: false,\n residentialDelivery: false,\n residentialPickup: false,\n sortAtDestination: false,\n sortAtOrigin: false,\n hazardousMaterials: false,\n tankerEndorsement: false\n }),\n\n replyBy1: [''],\n replyBy3: [''],\n // recaptchaReactive: ['', Validators.required],\n\n\n // saiaSalesRep: [''],\n // saiaSalesRepEmail: ['']\n\n });\n\n saiaAccountNumberValidator(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const value = control.value;\n\n if (value && value.length !== 7) {\n return { invalidSaiaAccountNumber: true };\n }\n\n return null;\n };\n }\n\n sendEmail(): void {\n\n const mailtoLink = `mailto:${this.email}?subject=${encodeURIComponent(this.subject)}`;\n\n // Open the user's default browser email client\n window.location.href = mailtoLink;\n }\n\n weightLimitValidator(control: AbstractControl): { [key: string]: any } | null {\n const maxWeight = 44000;\n const enteredValue = control.value ? parseInt(control.value.replace(/,/g, '')) : null;\n if (enteredValue !== null && (isNaN(enteredValue) || enteredValue > maxWeight)) {\n return { maxWeight: true };\n }\n return null;\n }\n\n equipmentReq(group: FormGroup) {\n const checkboxes = [\n 'dryVanTruckload',\n 'reeferTruckload',\n 'flatbedTruckload',\n 'other'\n ];\n const checkedBoxes = checkboxes.map(controlName => group.controls[controlName].value);\n const atLeastOneChecked = checkedBoxes.some(Boolean);\n return atLeastOneChecked ? null : { required: true };\n }\n\n otherAdditionalDetails = false;\n otherAdditionalFn(event: any) {\n if (event.value === 'Other') {\n this.otherAdditionalDetails = true;\n // this.truckload.controls['additionalDetails'].setValidators(Validators.required);\n } else {\n this.otherAdditionalDetails = false;\n // this.truckload.controls['additionalDetails'].clearValidators();\n // this.truckload.controls['additionalDetails'].updateValueAndValidity();\n }\n }\n\n // get truckloadShippingDetailsAsFormArray(): any {\n // return this.truckload.get('truckloadShippingDetails') as FormArray;\n // }\n\n // get truckloadFreightDetailsAsFormArray(): any {\n // return this.truckload.get('freightDetails') as FormArray;\n // }\n\n shippingDetailsArray(): any {\n return this.fb.group({\n weight: ['', [Validators.required]],\n units: ['', [Validators.required]],\n descriptionCommodity: ['', [Validators.required]],\n declaredValue: ['', [Validators.required]],\n });\n }\n\n // freightDetailsArray(): any {\n // return this.fb.group({\n // length: [''],\n // width: [''],\n // height: [''],\n // units: [''],\n // ofUnits: [''],\n // });\n // }\n\n // addShippingControl(): void {\n // this.truckloadShippingDetailsAsFormArray.push(this.shippingDetailsArray());\n // }\n\n // addFreightControl(): void {\n // this.truckloadFreightDetailsAsFormArray.push(this.freightDetailsArray());\n // }\n\n // removeShippingControl(): void {\n // if (this.truckloadShippingDetailsAsFormArray.length > 1) {\n // this.truckloadShippingDetailsAsFormArray.removeAt(this.truckloadShippingDetailsAsFormArray.length - 1);\n // } else {\n // console.log('At least one shipping detail is required.');\n // }\n // }\n\n // removeFreightControl(): void {\n // if (this.truckloadFreightDetailsAsFormArray.length > 1) {\n // this.truckloadFreightDetailsAsFormArray.removeAt(this.truckloadFreightDetailsAsFormArray.length - 1);\n // } else {\n // console.log('At least one shipping detail is required.');\n // }\n // }\n\n expedited = this.fb.group({\n yourCompany: [''],\n yourName: ['', [Validators.required]],\n yourPhone: ['', [Validators.required]],\n yourEmail: ['', [Validators.required, Validators.pattern('^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\\.[A-Za-z]{2,4}$')]],\n shipDate: [''],\n originAddress: [''],\n originCity: ['', [Validators.required]],\n originState: ['', [Validators.required]],\n originZip: ['', [Validators.required]],\n deliveryDate: [''],\n destinationAddress: [''],\n destinationCity: ['', [Validators.required]],\n destinationState: ['', [Validators.required]],\n destinationZip: ['', [Validators.required]],\n pieceCount: ['', [Validators.required]],\n hutype: ['', [Validators.required]],\n weight: ['', [Validators.required]],\n dimensions: ['', [Validators.required]],\n commodity: [''],\n hazmatType: ['', [Validators.required]],\n hazmatUn: [''],\n billAccount: [''],\n saiaPro: [''],\n equipmentType: ['', [Validators.required]],\n addDetails: [''],\n\n accessorialServicesFb: this.fb.group({\n insideDelivery: false,\n insidePickup: false,\n liftgateDelivery: false,\n liftgatePickup: false,\n limitedAccessOnDelivery: false,\n limitedAccessOnPickup: false,\n residentialDelivery: false,\n residentialPickup: false,\n sortAtDestination: false,\n sortAtOrigin: false,\n hazardousMaterials: false,\n tankerEndorsement: false,\n whiteGloveService: false\n }),\n\n replyBy1: [''],\n replyBy3: [''],\n\n saiaAccountNumber: [''],\n // saiaSalesRep: [''],\n // saiaSalesRepEmail: ['']\n });\n\n additionalDetailsType = false;\n equipmentType(event: any) {\n if (event.value === 'Other') {\n this.additionalDetailsType = true;\n this.expedited.controls['addDetails'].setValidators(Validators.required);\n } else {\n this.additionalDetailsType = false;\n this.expedited.controls['addDetails'].clearValidators();\n this.expedited.controls['addDetails'].updateValueAndValidity();\n }\n }\n\n hazmatUn = false;\n hazmatUnFn(event: any) {\n if (event.value === 'Yes') {\n this.hazmatUn = true;\n this.expedited.controls['hazmatUn'].setValidators(Validators.required);\n } else {\n this.hazmatUn = false;\n this.expedited.controls['hazmatUn'].clearValidators();\n this.expedited.controls['hazmatUn'].updateValueAndValidity();\n }\n }\n\n hutype: HuType[] = [\n { value: 'Bags', viewValue: 'Bags' },\n { value: 'Bales', viewValue: 'Bales' },\n { value: 'Barrels', viewValue: 'Barrels' },\n { value: 'Baskets', viewValue: 'Baskets' },\n { value: 'Boxes', viewValue: 'Boxes' },\n { value: 'Buckets', viewValue: 'Buckets' },\n { value: 'Bundle', viewValue: 'Bundle' },\n { value: 'Cans', viewValue: 'Cans' },\n { value: 'Carton', viewValue: 'Carton' },\n { value: 'Cases', viewValue: 'Cases' },\n { value: 'Coils', viewValue: 'Coils' },\n { value: 'Crates', viewValue: 'Crates' },\n { value: 'Cylinders', viewValue: 'Cylinders' },\n { value: 'Drums', viewValue: 'Drums' },\n { value: 'Each', viewValue: 'Each' },\n { value: 'Envelopes', viewValue: 'Envelopes' },\n { value: 'Joints', viewValue: 'Joints' },\n { value: 'Kits', viewValue: 'Kits' },\n { value: 'Loose', viewValue: 'Loose' },\n { value: 'No Package Code', viewValue: 'No Package Code' },\n { value: 'Packages', viewValue: 'Packages' },\n { value: 'Pails', viewValue: 'Pails' },\n { value: 'Pallets', viewValue: 'Pallets' },\n { value: 'Pieces', viewValue: 'Pieces' },\n { value: 'Reels', viewValue: 'Reels' },\n { value: 'Rolls', viewValue: 'Rolls' },\n { value: 'Shrink Wrapped Pallet', viewValue: 'Shrink Wrapped Pallet' },\n { value: 'Skids', viewValue: 'Skids' },\n { value: 'Spools', viewValue: 'Spools' },\n { value: 'Tanks', viewValue: 'Tanks' },\n { value: 'Tote Bins', viewValue: 'Tote Bins' },\n { value: 'Tubes', viewValue: 'Tubes' },\n { value: 'Units', viewValue: 'Units' },\n ];\n\n finalCartage = this.fb.group({\n\n companyName: ['', [Validators.required]],\n contactName: ['', [Validators.required]],\n yourPhone: ['', [Validators.required]],\n custEmail: ['', [Validators.required, Validators.pattern('^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\\.[A-Za-z]{2,4}$')]],\n orginZip: ['', [Validators.required]],\n destZip: ['', [Validators.required]],\n RequestPickupDate: ['', [Validators.required]],\n requestDeliveryDate: ['', [Validators.required]],\n\n shippingDetails: this.fb.array([this.shippingArray()]),\n\n pickupServiceFb: this.fb.group({\n appointmentPickupPS: false,\n callBeforePickupPS: false,\n liftgatePickupPS: false,\n limitedAccessPickupPS: false,\n residentialPickupPS: false\n }),\n\n deliveryServiceFb: this.fb.group({\n appointmentDeliveryDS: false,\n callBeforeDeliveryDS: false,\n liftgateDeliveryDS: false,\n limitedAccessDeliveryDS: false,\n residentialDeliveryDS: false,\n unattendedDeliveryDS: false,\n curbsideDeliveryDS: false,\n thresholdGarageDeliveryDS: false\n }),\n\n whiteGloveServiceFb: this.fb.group({\n additionalLaborWS: false,\n debrisRemovalWS: false,\n insidePickupDeliveryWS: false,\n lightAssemblyWS: false,\n roomOfChoiceWS: false,\n flightOfStairsWS: false,\n unpackagingWS: false,\n inRoomPlacementWS: false,\n hookupWS: false,\n haulAwayWS: false,\n disposalReturnsWS: false,\n repairsWS: false\n }),\n\n additionalSpecialInstructions: [''],\n warehouseQuesPhoneFM: false,\n warehouseQuesEmailFM: false,\n saiaAccountNumberFM: [''],\n // saiaSalesRepFM: [''],\n // saiaSalesRepEmail: ['']\n\n });\n\n get shippingDetailsAsFormArray(): any {\n return this.finalCartage.get('shippingDetails') as FormArray;\n }\n\n shippingArray(): any {\n return this.fb.group({\n shipCommodity: ['', [Validators.required]],\n shipQuantity: ['', [Validators.required]],\n hutype: ['', [Validators.required]],\n hazmatType: ['', [Validators.required]],\n weight: ['', [Validators.required]],\n dimensions: ['', [Validators.required]],\n per: ['', [Validators.required]],\n });\n }\n\n addControl(): void {\n this.shippingDetailsAsFormArray.push(this.shippingArray());\n }\n\n removeControl(): void {\n if (this.shippingDetailsAsFormArray.length > 1) {\n this.shippingDetailsAsFormArray.removeAt(this.shippingDetailsAsFormArray.length - 1);\n } else {\n console.log('At least one shipping detail is required.');\n }\n }\n\n warehouseQuestionnaire = this.fb.group({\n yourCompany: ['', [Validators.required]],\n yourName: ['', [Validators.required]],\n accountNumber: [''],\n yourEmail: ['', [Validators.required, Validators.pattern('^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\\.[A-Za-z]{2,4}$')]],\n phoneNumber: [''],\n faxNumber: [''],\n city: ['', [Validators.required]],\n state: ['', [Validators.required]],\n zip: ['', [Validators.required]],\n commodity: ['', [Validators.required]],\n\n packagedFB: this.fb.group({\n packagedCase: false,\n packagedDrum: false,\n packagedTote: false,\n packagedCrate: false,\n packagedPallet: false,\n packagedOther: false,\n }, { validators: this.generalQuestions }),\n packagingType: [''],\n\n productDetails: ['', [Validators.required]],\n ongoingOpportunity: ['', [Validators.required]],\n otherDetails: [''],\n lengthRequired: ['', [Validators.required]],\n\n inboundProductFB: this.fb.group({\n receivingContainer: false,\n receivingFTL: false,\n receivingLTL: false,\n receivingParcel: false,\n receivingOther: false,\n }, { validators: this.inboundProduct }),\n inboundOtherDetails: [''],\n\n inbound: ['', [Validators.required]],\n peakSeason: ['', [Validators.required]],\n peakSeasonDetails: [''],\n\n productIs: this.fb.group({\n productPalletized: false,\n productFloorLoaded: false,\n }, { validators: this.inboundProductIs }),\n\n palletInbound: ['', [Validators.required]],\n caseInbound: ['', [Validators.required]],\n sku: ['', [Validators.required]],\n\n specialHandling: ['', [Validators.required]],\n sortingAdditionalDetails: [''],\n handleReturns: ['', [Validators.required]],\n handlesortingAdditionalDetails: [''],\n\n palletAvg: ['', [Validators.required]],\n maxPallets: ['', [Validators.required]],\n palletsStandard: ['', [Validators.required]],\n dimensions: [''],\n palletsStackable: ['', [Validators.required]],\n maxHeight: [''],\n avgWeight: ['', [Validators.required]],\n\n inventoryRequiredFB: this.fb.group({\n storageRequiredFloor: false,\n storageRequiredRacking: false,\n storageRequiredOther: false,\n }, { validators: this.inventoryRequiredvalidator }),\n storageAdditionalDetails: [''],\n\n inventoryPeak: ['', [Validators.required]],\n inventoryPeakSeason: [''],\n\n avgCase: ['', [Validators.required]],\n inventoryAvgSit: ['', [Validators.required]],\n turnsYear: ['', [Validators.required]],\n skuInventory: ['', [Validators.required]],\n\n requimentCertificateFB: this.fb.group({\n rcClimateControl: false,\n rcHazmat: false,\n rcFoodGrade: false,\n rcOther: false,\n }, { validators: this.certificateRequirement }),\n certificationAdditionalDetails: [''],\n\n obLeavingFacilityFB: this.fb.group({\n leavingFacilityContainer: false,\n leavingFacilityFTL: false,\n leavingFacilityLTL: false,\n leavingFacilityParcel: false,\n leavingFacilityOther: false,\n }, { validators: this.obLeavingFacility }),\n facilityAdditionalDetails: [''],\n\n orderPerMonth: ['', [Validators.required]],\n outboundPeakSeason: ['', [Validators.required]],\n outboundPeak: [''],\n\n pickingRequired: ['', [Validators.required]],\n perOrderAvg: [''],\n caseOrderAvg: [''],\n pieceOrderAvg: [''],\n\n linePerOrderAvg: ['', [Validators.required]],\n\n outboundPeakSeasonTransportInbound: [''],\n outboundPeakSeasonTransportInboundReason: [''],\n inboundZip: [''],\n legalOverweightInbound: [''],\n\n outboundPeakSeasonTransportOutbound: [''],\n outboundPeakSeasonTransportOutboundReason: [''],\n OutboundZip: [''],\n legalOverweightOutbound: [''],\n\n warehouseQuesPhone: [''],\n warehouseQuesFax: [''],\n warehouseQuesEmail: [''],\n saiaAccountNumber: [''],\n // saiaSalesRep: [''],\n // saiaSalesRepEmail: ['']\n\n });\n\n typeOfService(group: FormGroup) {\n const checkboxes = [\n 'delivery',\n 'pickup',\n ];\n const checkedBoxes = checkboxes.map(controlName => group.controls[controlName].value);\n const atLeastOneChecked = checkedBoxes.some(Boolean);\n return atLeastOneChecked ? null : { required: true };\n }\n\n typeOfSite(group: FormGroup) {\n const checkboxes = [\n 'residential',\n 'commercial',\n ];\n const checkedBoxes = checkboxes.map(controlName => group.controls[controlName].value);\n const atLeastOneChecked = checkedBoxes.some(Boolean);\n return atLeastOneChecked ? null : { required: true };\n }\n\n\n generalQuestions(group: FormGroup) {\n const checkboxes = [\n 'packagedCase',\n 'packagedDrum',\n 'packagedTote',\n 'packagedCrate',\n 'packagedOther',\n 'packagedPallet'\n ];\n const checkedBoxes = checkboxes.map(controlName => group.controls[controlName].value);\n const atLeastOneChecked = checkedBoxes.some(Boolean);\n return atLeastOneChecked ? null : { required: true };\n }\n\n inboundProduct(group: FormGroup) {\n const checkboxes = [\n 'receivingContainer',\n 'receivingFTL',\n 'receivingLTL',\n 'receivingParcel',\n 'receivingOther'\n ];\n const checkedBoxes = checkboxes.map(controlName => group.controls[controlName].value);\n const atLeastOneChecked = checkedBoxes.some(Boolean);\n return atLeastOneChecked ? null : { required: true };\n }\n\n\n inboundProductIs(group: FormGroup) {\n const checkboxes = [\n 'productPalletized',\n 'productFloorLoaded',\n ];\n const checkedBoxes = checkboxes.map(controlName => group.controls[controlName].value);\n const atLeastOneChecked = checkedBoxes.some(Boolean);\n return atLeastOneChecked ? null : { required: true };\n }\n\n inventoryRequiredvalidator(group: FormGroup) {\n const checkboxes = [\n 'storageRequiredFloor',\n 'storageRequiredRacking',\n 'storageRequiredOther',\n ];\n const checkedBoxes = checkboxes.map(controlName => group.controls[controlName].value);\n const atLeastOneChecked = checkedBoxes.some(Boolean);\n return atLeastOneChecked ? null : { required: true };\n }\n\n\n certificateRequirement(group: FormGroup) {\n const checkboxes = [\n 'rcClimateControl',\n 'rcHazmat',\n 'rcFoodGrade',\n 'rcOther'\n ];\n const checkedBoxes = checkboxes.map(controlName => group.controls[controlName].value);\n const atLeastOneChecked = checkedBoxes.some(Boolean);\n return atLeastOneChecked ? null : { required: true };\n }\n\n obLeavingFacility(group: FormGroup) {\n const checkboxes = [\n 'leavingFacilityContainer',\n 'leavingFacilityFTL',\n 'leavingFacilityLTL',\n 'leavingFacilityOther',\n 'leavingFacilityParcel'\n ];\n const checkedBoxes = checkboxes.map(controlName => group.controls[controlName].value);\n const atLeastOneChecked = checkedBoxes.some(Boolean);\n return atLeastOneChecked ? null : { required: true };\n }\n\n saiaAccount = false;\n currentSaia(event: any) {\n if (event.value == 'Yes') {\n this.saiaAccount = true;\n } else {\n this.saiaAccount = false;\n }\n }\n\n otherPackaging = false;\n OtherPackage(event: any) {\n if (event.checked == true) {\n this.otherPackaging = true;\n this.warehouseQuestionnaire.controls['packagingType'].setValidators(Validators.required);\n } else {\n this.otherPackaging = false;\n this.warehouseQuestionnaire.controls['packagingType'].clearValidators();\n this.warehouseQuestionnaire.controls['packagingType'].updateValueAndValidity();\n\n }\n }\n\n otherDetails = false;\n additionalDetails(event: any) {\n if (event.value === 'Yes') {\n this.otherDetails = true;\n this.warehouseQuestionnaire.controls['otherDetails'].setValidators(Validators.required);\n } else {\n this.otherDetails = false;\n this.warehouseQuestionnaire.controls['otherDetails'].clearValidators();\n this.warehouseQuestionnaire.controls['otherDetails'].updateValueAndValidity();\n }\n }\n\n inboundOtherDetails = false;\n inboundOtherDetail(event: any) {\n if (event.checked == true) {\n this.inboundOtherDetails = true;\n this.warehouseQuestionnaire.controls['inboundOtherDetails'].setValidators(Validators.required);\n } else {\n this.inboundOtherDetails = false;\n this.warehouseQuestionnaire.controls['inboundOtherDetails'].clearValidators();\n this.warehouseQuestionnaire.controls['inboundOtherDetails'].updateValueAndValidity();\n }\n }\n\n peakSeasonDetails = false;\n peakSeason(event: any) {\n if (event.value === 'Yes') {\n this.peakSeasonDetails = true;\n this.warehouseQuestionnaire.controls['peakSeasonDetails'].setValidators(Validators.required);\n } else {\n this.peakSeasonDetails = false;\n this.warehouseQuestionnaire.controls['peakSeasonDetails'].clearValidators();\n this.warehouseQuestionnaire.controls['peakSeasonDetails'].updateValueAndValidity();\n }\n }\n\n handlingDetails = false;\n sortingDetails(event: any) {\n if (event.value === 'Yes') {\n this.handlingDetails = true;\n this.warehouseQuestionnaire.controls['sortingAdditionalDetails'].setValidators(Validators.required);\n } else {\n this.handlingDetails = false;\n this.warehouseQuestionnaire.controls['sortingAdditionalDetails'].clearValidators();\n this.warehouseQuestionnaire.controls['sortingAdditionalDetails'].updateValueAndValidity();\n }\n }\n\n returnHandlingDetails = false;\n kindHandlingDetails(event: any) {\n if (event.value === 'Yes') {\n this.returnHandlingDetails = true;\n this.warehouseQuestionnaire.controls['handlesortingAdditionalDetails'].setValidators(Validators.required);\n } else {\n this.returnHandlingDetails = false;\n this.warehouseQuestionnaire.controls['handlesortingAdditionalDetails'].clearValidators();\n this.warehouseQuestionnaire.controls['handlesortingAdditionalDetails'].updateValueAndValidity();\n }\n }\n\n dimensions = false;\n togglePallet(event: any) {\n if (event.value === 'No') {\n this.dimensions = true;\n this.warehouseQuestionnaire.controls['dimensions'].setValidators(Validators.required);\n } else {\n this.dimensions = false;\n this.warehouseQuestionnaire.controls['dimensions'].clearValidators();\n this.warehouseQuestionnaire.controls['dimensions'].updateValueAndValidity();\n }\n }\n\n palletHeight = false;\n stackablePallets(event: any) {\n if (event.value === 'Yes') {\n this.palletHeight = true;\n this.warehouseQuestionnaire.controls['maxHeight'].setValidators(Validators.required);\n } else {\n this.palletHeight = false;\n this.warehouseQuestionnaire.controls['maxHeight'].clearValidators();\n this.warehouseQuestionnaire.controls['maxHeight'].updateValueAndValidity();\n }\n }\n\n storageRequired = false;\n typeOfStorage(event: any) {\n if (event.checked == true) {\n this.storageRequired = true;\n this.warehouseQuestionnaire.controls['storageAdditionalDetails'].setValidators(Validators.required);\n } else {\n this.storageRequired = false;\n this.warehouseQuestionnaire.controls['storageAdditionalDetails'].clearValidators();\n this.warehouseQuestionnaire.controls['storageAdditionalDetails'].updateValueAndValidity();\n }\n }\n\n peakSeasonInventory = false;\n InventoryPeak(event: any) {\n if (event.value === 'Yes') {\n this.peakSeasonInventory = true;\n this.warehouseQuestionnaire.controls['inventoryPeakSeason'].setValidators(Validators.required);\n } else {\n this.peakSeasonInventory = false;\n this.warehouseQuestionnaire.controls['inventoryPeakSeason'].clearValidators();\n this.warehouseQuestionnaire.controls['inventoryPeakSeason'].updateValueAndValidity();\n }\n }\n\n certificationDetails = false;\n requirementCertification(event: any) {\n if (event.checked == true) {\n this.certificationDetails = true;\n this.warehouseQuestionnaire.controls['certificationAdditionalDetails'].setValidators(Validators.required);\n } else {\n this.certificationDetails = false;\n this.warehouseQuestionnaire.controls['certificationAdditionalDetails'].clearValidators();\n this.warehouseQuestionnaire.controls['certificationAdditionalDetails'].updateValueAndValidity();\n }\n }\n\n leavingFacility = false;\n otherFacility(event: any) {\n if (event.checked == true) {\n this.leavingFacility = true;\n this.warehouseQuestionnaire.controls['facilityAdditionalDetails'].setValidators(Validators.required);\n } else {\n this.leavingFacility = false;\n this.warehouseQuestionnaire.controls['facilityAdditionalDetails'].clearValidators();\n this.warehouseQuestionnaire.controls['facilityAdditionalDetails'].updateValueAndValidity();\n }\n }\n\n outboundPeak = false;\n outboundPeakSeason(event: any) {\n if (event.value === 'Yes') {\n this.outboundPeak = true;\n this.warehouseQuestionnaire.controls['outboundPeak'].setValidators(Validators.required);\n } else {\n this.outboundPeak = false;\n this.warehouseQuestionnaire.controls['outboundPeak'].clearValidators();\n this.warehouseQuestionnaire.controls['outboundPeak'].updateValueAndValidity();\n }\n }\n\n palletOrder = false;\n caseOrder = false;\n pieceOrder = false;\n\n pickingType(event: any) {\n if (event.value === 'Pallet') {\n this.palletOrder = true;\n this.caseOrder = false;\n this.pieceOrder = false;\n this.warehouseQuestionnaire.controls['perOrderAvg'].setValidators(Validators.required);\n this.warehouseQuestionnaire.controls['caseOrderAvg'].clearValidators();\n this.warehouseQuestionnaire.controls['caseOrderAvg'].updateValueAndValidity();\n this.warehouseQuestionnaire.controls['pieceOrderAvg'].clearValidators();\n this.warehouseQuestionnaire.controls['pieceOrderAvg'].updateValueAndValidity();\n } else if (event.value === 'Case/Carton') {\n this.palletOrder = false;\n this.caseOrder = true;\n this.pieceOrder = false;\n this.warehouseQuestionnaire.controls['caseOrderAvg'].setValidators(Validators.required);\n this.warehouseQuestionnaire.controls['perOrderAvg'].clearValidators();\n this.warehouseQuestionnaire.controls['perOrderAvg'].updateValueAndValidity();\n this.warehouseQuestionnaire.controls['pieceOrderAvg'].clearValidators();\n this.warehouseQuestionnaire.controls['pieceOrderAvg'].updateValueAndValidity();\n } else if (event.value === 'Each/Pieces') {\n this.palletOrder = false;\n this.caseOrder = false;\n this.pieceOrder = true;\n this.warehouseQuestionnaire.controls['pieceOrderAvg'].setValidators(Validators.required);\n this.warehouseQuestionnaire.controls['perOrderAvg'].clearValidators();\n this.warehouseQuestionnaire.controls['perOrderAvg'].updateValueAndValidity();\n this.warehouseQuestionnaire.controls['caseOrderAvg'].clearValidators();\n this.warehouseQuestionnaire.controls['caseOrderAvg'].updateValueAndValidity();\n }\n }\n\n inbound = false;\n inboundTransport(event: any) {\n if (event.value === 'Yes') {\n this.inbound = true;\n this.warehouseQuestionnaire.controls['outboundPeakSeasonTransportInboundReason'].setValidators(Validators.required);\n this.warehouseQuestionnaire.controls['inboundZip'].setValidators(Validators.required);\n } else {\n this.inbound = false;\n this.warehouseQuestionnaire.controls['outboundPeakSeasonTransportInboundReason'].clearValidators();\n this.warehouseQuestionnaire.controls['outboundPeakSeasonTransportInboundReason'].updateValueAndValidity();\n this.warehouseQuestionnaire.controls['inboundZip'].clearValidators();\n this.warehouseQuestionnaire.controls['inboundZip'].updateValueAndValidity();\n }\n }\n\n outbound = false;\n outboundTransport(event: any) {\n if (event.value === 'Yes') {\n this.outbound = true;\n this.warehouseQuestionnaire.controls['outboundPeakSeasonTransportOutboundReason'].setValidators(Validators.required);\n this.warehouseQuestionnaire.controls['OutboundZip'].setValidators(Validators.required);\n } else {\n this.outbound = false;\n this.warehouseQuestionnaire.controls['outboundPeakSeasonTransportOutboundReason'].clearValidators();\n this.warehouseQuestionnaire.controls['outboundPeakSeasonTransportOutboundReason'].updateValueAndValidity();\n this.warehouseQuestionnaire.controls['OutboundZip'].clearValidators();\n this.warehouseQuestionnaire.controls['OutboundZip'].updateValueAndValidity();\n }\n }\n\n\n international = this.fb.group({\n yourCompany: ['', [Validators.required]],\n yourName: ['', [Validators.required]],\n yourEmail: ['', [Validators.required, Validators.pattern('^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\\.[A-Za-z]{2,4}$')]],\n yourPhone: ['', [Validators.required]],\n yourAddress: ['', [Validators.required]],\n yourCity: ['', [Validators.required]],\n yourState: ['', [Validators.required]],\n yourZip: ['', [Validators.required]],\n // cargoType: ['', [Validators.required]],\n cargoTypeFB: this.fb.group({\n air: false,\n ocean: false,\n }, { validators: this.cargoTypeCheck }),\n loadType: ['', [Validators.required]],\n containerSizeFB: this.fb.group({\n twentyContainer: false,\n fortyContainerStd: false,\n fortyContainerHigh: false,\n }),\n description: ['', [Validators.required]],\n originName: ['', [Validators.required]],\n destinationName: ['', [Validators.required]],\n pieceCount: ['', [Validators.required]],\n weight: ['', [Validators.required]],\n dimensions: ['', [Validators.required]],\n hazmatType: ['', [Validators.required]],\n value: ['', [Validators.required]],\n incoterms: ['', [Validators.required]],\n handling: ['', [Validators.required]],\n\n replyBy1: [''],\n replyBy3: [''],\n\n saiaAccountNumber: [''],\n // saiaSalesRep: [''],\n // saiaSalesRepEmail: ['']\n })\n\n cargoTypeCheck(group: FormGroup) {\n const checkboxes = [\n 'air',\n 'ocean',\n ];\n const checkedBoxes = checkboxes.map(controlName => group.controls[controlName].value);\n const atLeastOneChecked = checkedBoxes.some(Boolean);\n return atLeastOneChecked ? null : { required: true };\n }\n\n fclQuestion = false;\n fclQuestionFn(event: any) {\n if (event.value === 'FCL') {\n this.fclQuestion = true;\n this.international.controls['containerSizeFB'].setValidators(this.specifyContainerSizeCheck);\n } else {\n this.fclQuestion = false;\n this.international.controls['containerSizeFB'].clearValidators();\n this.international.controls['containerSizeFB'].updateValueAndValidity();\n }\n }\n\n specifyContainerSizeCheck(control: AbstractControl): ValidationErrors | null {\n const checkboxes = [\n 'twentyContainer',\n 'fortyContainerStd',\n 'fortyContainerHigh'\n ];\n const checkedBoxes = checkboxes.map(controlName => control.get(controlName)?.value);\n const atLeastOneChecked = checkedBoxes.some(Boolean);\n return atLeastOneChecked ? null : { required: true };\n }\n\n transloading = this.fb.group({\n yourCompany: ['', [Validators.required]],\n yourName: ['', [Validators.required]],\n yourEmail: ['', [Validators.required, Validators.pattern('^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\\.[A-Za-z]{2,4}$')]],\n yourPhone: ['', [Validators.required]],\n companyStreetAdd: ['', [Validators.required]],\n city: ['', [Validators.required]],\n state: ['', [Validators.required]],\n zip: ['', [Validators.required]],\n description: ['', [Validators.required]],\n originPort: ['', [Validators.required]],\n destinationCity: ['', [Validators.required]],\n destinationState: ['', [Validators.required]],\n destinationZip: ['', [Validators.required]],\n containerSizeFB: this.fb.group({\n twenty: false,\n forty: false,\n fortyfive: false,\n fortyeight: false,\n fiftythree: false,\n unsure: false,\n }, { validators: this.containerSizeCheck }),\n containerWeight: ['', [Validators.required]],\n hazmatLoad: ['', [Validators.required]],\n equipmentTypeFB: this.fb.group({\n standard: false,\n highCube: false,\n refrigerated: false,\n openTop: false,\n flatRack: false,\n outOfGauge: false,\n vanTrailer: false,\n bonded: false,\n }, { validators: this.equipmentTypeCheck }),\n dimension: [''],\n DTspecialInstruction: ['', [Validators.required]],\n cargoReadyDate: ['', [Validators.required]],\n replyBy1: [''],\n replyBy3: [''],\n saiaAccountNumber: [''],\n // saiaSalesRep: [''],\n // saiaSalesRepEmail: ['']\n\n });\n\n outOfGauge = false;\n outOfGaugeFn(event: any) {\n if (event.checked == true) {\n this.outOfGauge = true;\n this.transloading.controls['dimension'].setValidators(Validators.required);\n } else {\n this.outOfGauge = false;\n this.transloading.controls['dimension'].clearValidators();\n this.transloading.controls['dimension'].updateValueAndValidity();\n }\n }\n\n equipmentTypeCheck(group: FormGroup) {\n const checkboxes = [\n 'standard',\n 'highCube',\n 'refrigerated',\n 'openTop',\n 'flatRack',\n 'outOfGauge',\n 'vanTrailer',\n 'bonded',\n ];\n const checkedBoxes = checkboxes.map(controlName => group.controls[controlName].value);\n const atLeastOneChecked = checkedBoxes.some(Boolean);\n return atLeastOneChecked ? null : { required: true };\n }\n\n containerSizeCheck(group: FormGroup) {\n const checkboxes = [\n 'twenty',\n 'forty',\n 'fortyfive',\n 'fortyeight',\n 'fiftythree',\n 'unsure',\n ];\n const checkedBoxes = checkboxes.map(controlName => group.controls[controlName].value);\n const atLeastOneChecked = checkedBoxes.some(Boolean);\n return atLeastOneChecked ? null : { required: true };\n }\n\n submitTruckLoadQuotes(): any {\n this.isFormSubmittedTruckload = true;\n if (this.truckload.invalid) {\n window.scrollTo(0, 0);\n this.truckLoadStatusError = true;\n } else {\n window.scrollTo(0, 0);\n this.truckLoadStatusError = false;\n // this.truckLoadStatus = true;\n }\n if (this.truckload.status != 'VALID') return;\n if (this.isValidSaiaAccount == 'no') {\n this.truckload.controls['saiaAccountNumber'].setValue('');\n }\n this.isValidSaiaAccount = null;\n const formValues = this.truckload.value;\n const replyBy = [];\n if (formValues.replyBy1) replyBy.push('Phone');\n if (formValues.replyBy3) replyBy.push('Email');\n\n const accessorial = [];\n if (formValues.accessorialServicesFb?.insideDelivery) accessorial.push('Inside Delivery');\n if (formValues.accessorialServicesFb?.insidePickup) accessorial.push('Inside Pickup');\n if (formValues.accessorialServicesFb?.liftgateDelivery) accessorial.push('Liftgate Delivery');\n if (formValues.accessorialServicesFb?.liftgatePickup) accessorial.push('Liftgate Pickup');\n if (formValues.accessorialServicesFb?.limitedAccessOnDelivery) accessorial.push('Limited Access On Delivery');\n if (formValues.accessorialServicesFb?.limitedAccessOnPickup) accessorial.push('Limited Access On Pickup');\n if (formValues.accessorialServicesFb?.residentialDelivery) accessorial.push('Residential Delivery');\n if (formValues.accessorialServicesFb?.residentialPickup) accessorial.push('Residential Pickup');\n if (formValues.accessorialServicesFb?.sortAtDestination) accessorial.push('Sort/Segregate At Destination');\n if (formValues.accessorialServicesFb?.sortAtOrigin) accessorial.push('Sort/Segregate At Origin');\n if (formValues.accessorialServicesFb?.hazardousMaterials) accessorial.push('Hazardous Materials');\n if (formValues.accessorialServicesFb?.tankerEndorsement) accessorial.push('Tanker Endorsement');\n\n let selectedDate = new Date(formValues['pickDate'] ?? '');\n let currentTime = new Date();\n selectedDate.setHours(currentTime.getHours());\n selectedDate.setMinutes(currentTime.getMinutes());\n\n let currentOffset = currentTime.getTimezoneOffset();\n let targetOffset = selectedDate.getTimezoneOffset();\n let offsetDiff = currentOffset - targetOffset;\n selectedDate = new Date(selectedDate.getTime() + (offsetDiff * 60 * 1000));\n\n let datePipe = new DatePipe('en-US');\n let formattedDate = datePipe.transform(selectedDate, 'MM/dd/yyyy hh:mm a z');\n\n let payload = {\n yourCompany: formValues.yourCompany,\n yourName: formValues.yourName,\n yourPhone: formValues.yourPhone,\n yourEmail: formValues.yourEmail,\n shipmentDetails: {\n shippingDate: formattedDate,\n originCity: formValues.originCity,\n originState: formValues.originState,\n originZip: formValues.originZip,\n destinationCity: formValues.destinationCity,\n destinationState: formValues.destinationState,\n destinationZip: formValues.destinationZip,\n },\n freightInformation: {\n weight: `${this.numberWithCommas(formValues.weight?.replace(/,/g, '') as string)} lbs`,\n isHazmat: formValues.hazmat\n },\n accessorials: accessorial,\n replyBy: replyBy,\n saiaAccountNumber: formValues.saiaAccountNumber,\n }\n this.loader = true;\n this.truckLoadStatus = false;\n this.isFormSubmittedTruckloadApiError = false;\n this.service.submitTruckloadRateQuotes(payload).subscribe((result: any) => {\n this.loader = false;\n this.apiResponse = result;\n if (result.status === 'mail_sent') {\n this.truckLoadStatus = true;\n this.isFormSubmittedTruckload = false;\n this.truckload.reset();\n this.ngTruckload.resetForm();\n this.otherAdditionalDetails = false;\n this.addGA4Event({ 'event': 'submit-truckload-success', errorMessage: 'this is test' })\n // this.truckload.controls['paymentType'].patchValue('Third Party');\n } else {\n this.isFormSubmittedTruckloadApiError = true;\n this.addGA4Event({ 'event': 'submit-truckload-error', errorMessage: JSON.stringify(result) })\n }\n }, error => {\n this.loader = false;\n this.isFormSubmittedTruckloadApiError = true;\n this.addGA4Event({ 'event': 'submit-truckload-error', errorMessage: JSON.stringify(error) })\n this.apiResponse = {\n message: 'Error in submitting your request, Please Call LinkEx 972-481-9900.'\n }\n })\n }\n private numberWithCommas(x: string) {\n return x.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n }\n submitExpeditedLoadQuotes(): any {\n this.isFormSubmittedExpeditedload = true;\n if (this.expedited.invalid) {\n window.scrollTo(0, 0);\n this.expeditedLoadStatusError = true;\n } else {\n window.scrollTo(0, 0);\n this.expeditedLoadStatusError = false;\n // this.truckLoadStatus = true;\n }\n if (this.expedited.status != 'VALID') return;\n const formValues = this.expedited.value;\n const accessorialService = [];\n const accessorialServicesFb = formValues.accessorialServicesFb;\n if (accessorialServicesFb?.insideDelivery) accessorialService.push('Inside Delivery');\n if (accessorialServicesFb?.insidePickup) accessorialService.push('Inside Pickup');\n if (accessorialServicesFb?.liftgateDelivery) accessorialService.push('Liftgate Delivery');\n if (accessorialServicesFb?.liftgatePickup) accessorialService.push('Liftgate Pickup');\n if (accessorialServicesFb?.limitedAccessOnDelivery) accessorialService.push('Limited Access On Delivery');\n if (accessorialServicesFb?.limitedAccessOnPickup) accessorialService.push('Limited Access On Pickup');\n if (accessorialServicesFb?.residentialDelivery) accessorialService.push('Residential Delivery');\n if (accessorialServicesFb?.residentialPickup) accessorialService.push('Residential Pickup');\n if (accessorialServicesFb?.sortAtDestination) accessorialService.push('Sort/Segregate At Destination');\n if (accessorialServicesFb?.sortAtOrigin) accessorialService.push('Sort/Segregate At Origin');\n if (accessorialServicesFb?.hazardousMaterials) accessorialService.push('Hazardous Materials');\n if (accessorialServicesFb?.tankerEndorsement) accessorialService.push('Tanker Endorsement');\n if (accessorialServicesFb?.whiteGloveService) accessorialService.push('White Glove Service');\n const replyBy = [];\n if (formValues.replyBy1) replyBy.push('Phone');\n if (formValues.replyBy3) replyBy.push('Email');\n\n //shippingDate\n // let selectedDate = new Date(formValues['shipDate'] ?? '');\n\n let selectedDate: Date | null = formValues['shipDate'] ? new Date(formValues['shipDate']) : null;\n let formattedDate: string | null = null;\n\n if (selectedDate) {\n let currentTime = new Date();\n selectedDate.setHours(currentTime.getHours());\n selectedDate.setMinutes(currentTime.getMinutes());\n\n let currentOffset = currentTime.getTimezoneOffset();\n let targetOffset = selectedDate.getTimezoneOffset();\n let offsetDiff = currentOffset - targetOffset;\n selectedDate = new Date(selectedDate.getTime() + (offsetDiff * 60 * 1000));\n\n // Now you can safely use the modified selectedDate\n let formattedDate = this.datePipe.transform(selectedDate, 'MM/dd/yyyy hh:mm a z');\n console.log('Formatted Date:', formattedDate);\n\n // Continue with other logic using formattedDate\n } else {\n // Handle the case where selectedDate is null\n console.error('No date selected.');\n }\n\n\n //expectedDeliveryDate\n // let expectedDate = new Date(formValues['deliveryDate'] ?? '');\n\n let expectedDate: Date | null = formValues['deliveryDate'] ? new Date(formValues['deliveryDate']) : null;\n let exFormattedDate: string | null = null;\n\n if (expectedDate) {\n let expectedTime = new Date();\n expectedDate.setHours(expectedTime.getHours());\n expectedDate.setMinutes(expectedTime.getMinutes());\n\n let expectedOffset = expectedTime.getTimezoneOffset();\n let exTargetOffset = expectedDate.getTimezoneOffset();\n let exOffsetDiff = expectedOffset - exTargetOffset;\n expectedDate = new Date(expectedDate.getTime() + (exOffsetDiff * 60 * 1000));\n\n let exDatePipe = new DatePipe('en-US');\n let exFormattedDate = exDatePipe.transform(expectedDate, 'MM/dd/yyyy hh:mm a z');\n console.log('Formatted Date:', exFormattedDate);\n\n // Continue with other logic using formattedDate\n } else {\n // Handle the case where selectedDate is null\n console.error('No date selected.');\n }\n\n let payload = {\n yourCompany: formValues.yourCompany,\n yourName: formValues.yourName,\n yourPhone: formValues.yourPhone,\n yourEmail: formValues.yourEmail,\n shipmentDetails: {\n shippingDate: formattedDate,\n originAddress: formValues.originAddress,\n originCity: formValues.originCity,\n originState: formValues.originState,\n originZip: formValues.originZip,\n expectedDeliveryDate: exFormattedDate,\n destinationAddress: formValues.destinationAddress,\n destinationCity: formValues.destinationCity,\n destinationState: formValues.destinationState,\n destinationZip: formValues.destinationZip,\n pieceCount: formValues.pieceCount,\n huTypes: formValues.hutype,\n weight: formValues.weight,\n dimensions: formValues.dimensions,\n },\n commodityDesc: formValues.commodity,\n hazmat: formValues.hazmatType,\n hazmatUn: formValues.hazmatUn,\n billToAccount: formValues.billAccount,\n saiaPro: formValues.saiaPro,\n equipmentType: formValues.equipmentType,\n equipmentTypeText: formValues.addDetails,\n accessorialService: accessorialService,\n replyBy: replyBy,\n saiaAccountNumber: formValues.saiaAccountNumber,\n // saiaSalesRep: formValues.saiaSalesRep,\n // saiaSalesRepEmail: formValues.saiaSalesRepEmail\n }\n this.loader = true;\n this.expeditedLoadStatus = false;\n this.isFormSubmittedExpeditedApiError = false;\n this.service.submitExpeditedRateQuotes(payload).subscribe((result: any) => {\n this.loader = false;\n this.apiResponse = result;\n if (result.status === 'mail_sent') {\n this.expeditedLoadStatus = true;\n this.isFormSubmittedExpeditedload = false;\n this.expedited.reset();\n this.ngExpedited.resetForm();\n this.hazmatUn = false;\n this.additionalDetailsType = false;\n this.addGA4Event({ 'event': 'submit-expedited-success' })\n } else {\n this.isFormSubmittedExpeditedApiError = true;\n this.addGA4Event({ 'event': 'submit-expedited-error', errorMessage: JSON.stringify(result) })\n }\n }, error => {\n this.loader = false;\n this.isFormSubmittedExpeditedApiError = true;\n this.addGA4Event({ 'event': 'submit-expedited-error', errorMessage: JSON.stringify(error) })\n this.apiResponse = {\n message: 'Error in submitting your request, Please Call LinkEx 972-481-9900.'\n }\n })\n }\n submitLtlCartageQuotes(): any {\n this.isFormSubmittedLtlcartage = true;\n if (this.finalCartage.invalid) {\n window.scrollTo(0, 0);\n this.ltlCatageStatusError = true;\n } else {\n window.scrollTo(0, 0);\n this.ltlCatageStatusError = false;\n // this.ltlCatageStatus = true;\n }\n if (this.finalCartage.status != 'VALID') return;\n\n let formValues = this.finalCartage.value;\n const pickupServces = [], deliveryServices = [], whiteGloveService = [];\n const { pickupServiceFb, deliveryServiceFb, whiteGloveServiceFb } = formValues\n if (pickupServiceFb?.appointmentPickupPS) pickupServces.push('Appointment Pickup');\n if (pickupServiceFb?.callBeforePickupPS) pickupServces.push('Call Before Pickup');\n if (pickupServiceFb?.liftgatePickupPS) pickupServces.push('Liftgate Pickup');\n if (pickupServiceFb?.limitedAccessPickupPS) pickupServces.push('Limited Access Pickup');\n if (pickupServiceFb?.residentialPickupPS) pickupServces.push('Residential Pickup');\n\n if (deliveryServiceFb?.appointmentDeliveryDS) deliveryServices.push('Appointment Delivery');\n if (deliveryServiceFb?.callBeforeDeliveryDS) deliveryServices.push('Call Before Delivery');\n if (deliveryServiceFb?.liftgateDeliveryDS) deliveryServices.push('Liftgate Delivery');\n if (deliveryServiceFb?.limitedAccessDeliveryDS) deliveryServices.push('Limited Access Delivery');\n if (deliveryServiceFb?.residentialDeliveryDS) deliveryServices.push('Residential Delivery');\n if (deliveryServiceFb?.unattendedDeliveryDS) deliveryServices.push('Unattended Delivery');\n if (deliveryServiceFb?.curbsideDeliveryDS) deliveryServices.push('Curbside Delivery');\n if (deliveryServiceFb?.thresholdGarageDeliveryDS) deliveryServices.push('Threshold/Garage Delivery');\n\n if (whiteGloveServiceFb?.additionalLaborWS) whiteGloveService.push('Additional Labor');\n if (whiteGloveServiceFb?.debrisRemovalWS) whiteGloveService.push('Debris Removal');\n if (whiteGloveServiceFb?.insidePickupDeliveryWS) whiteGloveService.push('Inside Pickup Delivery');\n if (whiteGloveServiceFb?.lightAssemblyWS) whiteGloveService.push('Light Assembly');\n if (whiteGloveServiceFb?.roomOfChoiceWS) whiteGloveService.push('Room Of Choice');\n if (whiteGloveServiceFb?.flightOfStairsWS) whiteGloveService.push('Flight(s) Of Stairs');\n if (whiteGloveServiceFb?.unpackagingWS) whiteGloveService.push('Unpackaging');\n if (whiteGloveServiceFb?.inRoomPlacementWS) whiteGloveService.push('In Room Placement');\n if (whiteGloveServiceFb?.hookupWS) whiteGloveService.push('Hookup');\n if (whiteGloveServiceFb?.haulAwayWS) whiteGloveService.push('Haul Away');\n if (whiteGloveServiceFb?.disposalReturnsWS) whiteGloveService.push('Disposal/Returns');\n if (whiteGloveServiceFb?.repairsWS) whiteGloveService.push('Repairs');\n const replyBy = [];\n if (formValues.warehouseQuesPhoneFM) replyBy.push(\"Phone\");\n if (formValues.warehouseQuesEmailFM) replyBy.push(\"Email\");\n\n //requestedPickupDate\n let selectedDate = new Date(formValues['RequestPickupDate'] ?? '');\n let currentTime = new Date();\n selectedDate.setHours(currentTime.getHours());\n selectedDate.setMinutes(currentTime.getMinutes());\n\n let currentOffset = currentTime.getTimezoneOffset();\n let targetOffset = selectedDate.getTimezoneOffset();\n let offsetDiff = currentOffset - targetOffset;\n selectedDate = new Date(selectedDate.getTime() + (offsetDiff * 60 * 1000));\n\n let datePipe = new DatePipe('en-US');\n let formattedDate = datePipe.transform(selectedDate, 'MM/dd/yyyy hh:mm a z');\n\n //requestedDeliveryDate\n let expectedDate = new Date(formValues['requestDeliveryDate'] ?? '');\n let expectedTime = new Date();\n expectedDate.setHours(expectedTime.getHours());\n expectedDate.setMinutes(expectedTime.getMinutes());\n\n let expectedOffset = expectedTime.getTimezoneOffset();\n let exTargetOffset = expectedDate.getTimezoneOffset();\n let exOffsetDiff = expectedOffset - exTargetOffset;\n expectedDate = new Date(expectedDate.getTime() + (exOffsetDiff * 60 * 1000));\n\n let exDatePipe = new DatePipe('en-US');\n let exFormattedDate = exDatePipe.transform(expectedDate, 'MM/dd/yyyy hh:mm a z');\n\n let payload = {\n yourCompany: formValues.companyName,\n yourName: formValues.contactName,\n yourPhone: formValues.yourPhone,\n yourEmail: formValues.custEmail,\n shipmentDetails: {\n originZip: formValues.orginZip,\n destinationZip: formValues.destZip,\n requestedPickupDate: formattedDate,\n requestedDeliveryDate: exFormattedDate,\n shipmentItems: formValues.shippingDetails\n },\n finalMileService: {\n pickupServices: pickupServces,\n deliveryServices: deliveryServices,\n whiteGloveService: whiteGloveService\n },\n additionalComments: formValues.additionalSpecialInstructions,\n replyBy: replyBy,\n saiaAccountNumber: formValues.saiaAccountNumberFM,\n // saiaSalesRep: formValues.saiaSalesRepFM,\n // saiaSalesRepEmail: formValues.saiaSalesRepEmail\n };\n\n this.loader = true;\n this.ltlCatageStatus = false;\n this.isFormSubmittedLtlcartageApiError = false;\n this.service.submitFinalMileCartageRateQuotes(payload).subscribe((response: any) => {\n this.loader = false;\n this.apiResponse = response;\n if (response.status === 'mail_sent') {\n this.ltlCatageStatus = true;\n this.isFormSubmittedLtlcartage = false;\n this.finalCartage.reset();\n this.ngFinalCartage.resetForm();\n this.addGA4Event({ 'event': 'submit-finalmilecartage-success' })\n } else {\n this.isFormSubmittedLtlcartageApiError = true;\n this.addGA4Event({ 'event': 'submit-finalmilecartage-error', errorMessage: JSON.stringify(response) })\n }\n }, (error) => {\n this.loader = false;\n this.isFormSubmittedLtlcartageApiError = true;\n this.addGA4Event({ 'event': 'submit-finalmilecartage-error', errorMessage: JSON.stringify(error) })\n this.apiResponse = {\n message: 'Error in submitting your request, Please Call LinkEx 972-481-9900.'\n }\n });\n }\n submitWarehousingQuotes(): any {\n this.isFormSubmittedWarehousing = true;\n if (this.warehouseQuestionnaire.invalid) {\n window.scrollTo(0, 0);\n //console.log(this.warehouseQuestionnaire.controls['packaged'].value);\n this.warehousingStatusError = true;\n } else {\n window.scrollTo(0, 0);\n this.warehousingStatusError = false;\n // this.warehousingStatus = true;\n }\n if (this.warehouseQuestionnaire.status != 'VALID') return;\n\n let formValue = this.warehouseQuestionnaire.value\n const { inboundProductFB, productIs, inventoryRequiredFB, requimentCertificateFB, obLeavingFacilityFB, packagedFB } = formValue;\n let productIsArray: string[] = [];\n\n if (productIs.productPalletized) productIsArray.push(\"Palletized\");\n if (productIs.productFloorLoaded) productIsArray.push(\"Floor-loaded\");\n\n let storageRequiredArray: string[] = [];\n\n if (inventoryRequiredFB.storageRequiredFloor) storageRequiredArray.push(\"Floor\");\n if (inventoryRequiredFB.storageRequiredRacking) storageRequiredArray.push(\"Racking\");\n if (inventoryRequiredFB.storageRequiredOther) storageRequiredArray.push(\"Other\");\n\n let requirementCertificationArray: string[] = [];\n\n if (requimentCertificateFB.rcClimateControl) requirementCertificationArray.push(\"Climate Control\");\n if (requimentCertificateFB.rcHazmat) requirementCertificationArray.push(\"Hazmat\");\n if (requimentCertificateFB.rcFoodGrade) requirementCertificationArray.push(\"Food Grade\");\n if (requimentCertificateFB.rcOther) requirementCertificationArray.push(\"Other\");\n\n let leavingFacilityArray: string[] = [];\n\n if (obLeavingFacilityFB.leavingFacilityContainer) leavingFacilityArray.push(\"Container\");\n if (obLeavingFacilityFB.leavingFacilityFTL) leavingFacilityArray.push(\"FTL\");\n if (obLeavingFacilityFB.leavingFacilityLTL) leavingFacilityArray.push(\"LTL\");\n if (obLeavingFacilityFB.leavingFacilityParcel) leavingFacilityArray.push(\"Parcel\");\n if (obLeavingFacilityFB.leavingFacilityOther) leavingFacilityArray.push(\"Other\");\n\n let packagedTypesArray: string[] = [];\n\n if (packagedFB.packagedCase) packagedTypesArray.push(\"Case\");\n if (packagedFB.packagedDrum) packagedTypesArray.push(\"Drum\");\n if (packagedFB.packagedTote) packagedTypesArray.push(\"Tote\");\n if (packagedFB.packagedCrate) packagedTypesArray.push(\"Crate\");\n if (packagedFB.packagedPallet) packagedTypesArray.push(\"Pallet\");\n if (packagedFB.packagedOther) packagedTypesArray.push(\"Other\");\n\n let receivingProductArray: string[] = [];\n\n if (inboundProductFB.receivingContainer) receivingProductArray.push(\"Container\");\n if (inboundProductFB.receivingFTL) receivingProductArray.push(\"FTL\");\n if (inboundProductFB.receivingLTL) receivingProductArray.push(\"LTL\");\n if (inboundProductFB.receivingParcel) receivingProductArray.push(\"Parcel\");\n if (inboundProductFB.receivingOther) receivingProductArray.push(\"Other\");\n\n let replyBy = [];\n if (formValue.warehouseQuesPhone) {\n replyBy.push('Phone')\n } else if (formValue.warehouseQuesEmail) {\n replyBy.push('Email')\n } else if (formValue.warehouseQuesFax) {\n replyBy.push('Fax')\n }\n\n //receiveProductDate\n let selectedDate = new Date(formValue['productDetails'] ?? '');\n let currentTime = new Date();\n selectedDate.setHours(currentTime.getHours());\n selectedDate.setMinutes(currentTime.getMinutes());\n\n let currentOffset = currentTime.getTimezoneOffset();\n let targetOffset = selectedDate.getTimezoneOffset();\n let offsetDiff = currentOffset - targetOffset;\n selectedDate = new Date(selectedDate.getTime() + (offsetDiff * 60 * 1000));\n\n let datePipe = new DatePipe('en-US');\n let formattedDate = datePipe.transform(selectedDate, 'MM/dd/yyyy hh:mm a z');\n\n let payload = {\n companyName: formValue.yourCompany,\n contactName: formValue.yourName,\n contactNumber: formValue.phoneNumber,\n email: formValue.yourEmail,\n fax: formValue.faxNumber,\n saiaAccountNumber: formValue.saiaAccountNumber,\n // saiaSalesRep: formValue.saiaSalesRep,\n // saiaSalesRepEmail: formValue.saiaSalesRepEmail,\n replyBy: replyBy,\n requestedWarehouseLoaction: {\n city: formValue.city,\n state: formValue.state,\n zip: formValue.zip,\n },\n general: {\n commodity: formValue.commodity,\n packagedTypes: packagedTypesArray,\n packagedTypesText: formValue.packagingType,\n receiveProductDate: formattedDate,\n isOngoingOpportunity: formValue.ongoingOpportunity,\n ongoingOpportunityText: formValue.otherDetails,\n lengthOfTermRequired: formValue.lengthRequired,\n },\n inbound: {\n receiveProductBy: receivingProductArray,\n receiveProductByText: formValue.inboundOtherDetails,\n inboundExpectedPerMonth: formValue.inbound,\n isPeakSeason: formValue.peakSeason,\n peakSeasonText: formValue.peakSeasonDetails,\n product: productIsArray,\n palletsPerInbound: formValue.palletInbound,\n casePerInbound: formValue.caseInbound,\n skuPerInbound: formValue.sku,\n isSortingSpecialHandling: formValue.specialHandling,\n sortingSpecialHandlingText: formValue.sortingAdditionalDetails,\n handleReturnsKind: formValue.handleReturns,\n handleReturnsText: formValue.handlesortingAdditionalDetails,\n },\n inventory: {\n palletsInventoryAverage: formValue.palletAvg,\n maxPalletsPerMonth: formValue.maxPallets,\n isPalletsStandard40x48: formValue.palletsStandard,\n palletsStandard40x48Text: formValue.dimensions,\n isPalletsStackable: formValue.palletsStackable,\n palletsStackableHeight: formValue.maxHeight,\n averageWeightPerPallet: formValue.avgWeight,\n typeOfStorage: storageRequiredArray,\n typeOfStorageText: formValue.storageAdditionalDetails,\n isPeakSeason: formValue.inventoryPeak,\n peakSeasonText: formValue.inventoryPeakSeason,\n averageCasePerPallet: formValue.avgCase,\n expectInventorySitOnAverage: formValue.inventoryAvgSit,\n numberOfTurnsPerYear: formValue.turnsYear,\n diffSkuInInventory: formValue.skuInventory,\n specialRequirementsCertification: requirementCertificationArray,\n specialRequirementsCertificationText:\n formValue.certificationAdditionalDetails,\n },\n outbound: {\n productLeaveBy: leavingFacilityArray,\n productLeaveByText: formValue.facilityAdditionalDetails,\n ordersExpectPerMonth: formValue.orderPerMonth,\n isPeakSeason: formValue.outboundPeakSeason,\n peakSeasonText: formValue.outboundPeak,\n typeOfPickingRequired: [formValue.pickingRequired],\n palletsAverage: formValue.perOrderAvg,\n casesAverage: formValue.caseOrderAvg,\n eachPieceAverage: formValue.pieceOrderAvg,\n linesPerOrderAverage: formValue.linePerOrderAvg,\n },\n transportation: {\n needInboundTransportation: formValue.outboundPeakSeasonTransportInbound,\n inboundTransport: [formValue.outboundPeakSeasonTransportInboundReason],\n inboundOriginZip: formValue.inboundZip,\n inboundLegalOverweight: formValue.legalOverweightInbound,\n needOutboundTransportation: formValue.outboundPeakSeasonTransportOutbound,\n outboundTransport: [formValue.outboundPeakSeasonTransportOutboundReason],\n outboundOriginZip: formValue.OutboundZip,\n outboundLegalOverweight: formValue.legalOverweightOutbound,\n }\n }\n this.loader = true;\n this.warehousingStatus = false;\n this.isFormSubmittedWarehouseApiError = false;\n this.service.submitWarehouseQuestionnaire(payload).subscribe((response: any) => {\n this.loader = false;\n this.apiResponse = response;\n if (response.status === 'mail_sent') {\n this.warehousingStatus = true;\n this.isFormSubmittedWarehousing = false;\n this.warehouseQuestionnaire.reset();\n this.ngWarehousing.resetForm();\n this.otherPackaging = false;\n this.otherDetails = false;\n this.inboundOtherDetails = false;\n this.peakSeasonDetails = false;\n this.returnHandlingDetails = false;\n this.dimensions = false;\n this.palletHeight = false;\n this.storageRequired = false;\n this.peakSeasonInventory = false;\n this.certificationDetails = false;\n this.leavingFacility = false;\n this.outboundPeak = false;\n this.palletOrder = false;\n this.caseOrder = false;\n this.pieceOrder = false;\n this.inbound = false;\n this.outbound = false;\n this.addGA4Event({ 'event': 'submit-warehousequestionnaire-success' })\n } else {\n this.addGA4Event({ 'event': 'submit-warehousequestionnaire-error', errorMessage: JSON.stringify(response) })\n this.isFormSubmittedWarehouseApiError = true;\n }\n }, (error) => {\n this.loader = false;\n this.isFormSubmittedWarehouseApiError = true;\n this.addGA4Event({ 'event': 'submit-warehousequestionnaire-error', errorMessage: JSON.stringify(error) });\n this.apiResponse = {\n message: 'Error in submitting your request, Please Call LinkEx 972-481-9900.'\n };\n });\n }\n submitInternationalQuotes(): any {\n this.isFormSubmittedInternational = true;\n if (this.international.invalid) {\n window.scrollTo(0, 0);\n this.internationalStatusError = true;\n } else {\n window.scrollTo(0, 0);\n this.internationalStatusError = false;\n // this.internationalStatus = true;\n }\n\n if (this.international.status != 'VALID') return;\n const formValues = this.international.value;\n const { cargoTypeFB, containerSizeFB } = formValues;\n const cargoType = [], containerSize = [];\n if (cargoTypeFB?.air) cargoType.push('Air');\n if (cargoTypeFB?.ocean) cargoType.push('Ocean');\n if (containerSizeFB?.twentyContainer) containerSize.push(\"20' Container\");\n if (containerSizeFB?.fortyContainerStd) containerSize.push(\"40' Standard Container\");\n if (containerSizeFB?.fortyContainerHigh) containerSize.push(\"40' High Cube Container\");\n let replyBy = [];\n if (formValues.replyBy1) {\n replyBy.push('Phone')\n }\n if (formValues.replyBy3) {\n replyBy.push('Email')\n }\n let payload = {\n yourCompany: formValues.yourCompany,\n yourName: formValues.yourName,\n yourEmail: formValues.yourEmail,\n yourPhone: formValues.yourPhone,\n companyStreetAddress: formValues.yourAddress,\n companyCity: formValues.yourCity,\n companyState: formValues.yourState,\n companyZip: formValues.yourZip,\n cargoType: cargoType,\n loadType: formValues.loadType,\n specifyContainerSize: containerSize,\n commodityDescription: formValues.description,\n shipmentDetails: {\n originAddress: formValues.originName,\n destinationAddress: formValues.destinationName,\n shipmentItems: [{\n pieceCount: formValues.pieceCount,\n weight: formValues.weight,\n dimensions: formValues.dimensions,\n hazmat: formValues.hazmatType,\n }],\n cargoInsuranceValue: formValues.value,\n },\n incoterms: formValues.incoterms,\n specialHandlingRequirements: formValues.handling,\n replyBy: replyBy,\n saiaAccountNumber: formValues.saiaAccountNumber,\n // saiaSalesRep: formValues.saiaSalesRep,\n // saiaSalesRepEmail: formValues.saiaSalesRepEmail\n };\n this.loader = true;\n this.internationalStatus = false;\n this.isFormSubmittedInternationalApiError = false;\n this.service.submitInternationalRateQuotes(payload).subscribe((response: any) => {\n this.loader = false;\n this.apiResponse = response;\n if (response.status === 'mail_sent') {\n this.internationalStatus = true;\n this.isFormSubmittedInternational = false;\n this.international.reset();\n this.ngInternational.resetForm();\n this.fclQuestion = false;\n this.addGA4Event({ 'event': 'submit-international-success' });\n } else {\n this.addGA4Event({ 'event': 'submit-international-error', errorMessage: JSON.stringify(response) });\n this.isFormSubmittedInternationalApiError = true;\n }\n }, (error) => {\n this.loader = false;\n this.isFormSubmittedInternationalApiError = true;\n this.addGA4Event({ 'event': 'submit-international-error', errorMessage: JSON.stringify(error) });\n this.apiResponse = {\n message: 'Error in submitting your request, Please Call LinkEx 972-481-9900.'\n }\n });\n }\n submitTransloadingQuotes(event: Event): any {\n this.isFormSubmittedTransloading = true;\n if (this.transloading.invalid) {\n window.scrollTo(0, 0);\n this.transloadingError = true;\n } else {\n window.scrollTo(0, 0);\n this.transloadingError = false;\n // this.transloadingStatus = true;\n }\n if (this.transloading.status != 'VALID') return;\n\n const formValues = this.transloading.value;\n const { containerSizeFB, equipmentTypeFB } = formValues;\n const containerSize = [], equipmentType = [];\n if (containerSizeFB.twenty) containerSize.push(\"20'\");\n if (containerSizeFB.forty) containerSize.push(\"40'\");\n if (containerSizeFB.fortyfive) containerSize.push(\"45'\");\n if (containerSizeFB.fortyeight) containerSize.push(\"48'\");\n if (containerSizeFB.fiftythree) containerSize.push(\"53'\");\n if (containerSizeFB.unsure) containerSize.push(\"Unsure\");\n\n if (equipmentTypeFB.standard) equipmentType.push(\"Standard\");\n if (equipmentTypeFB.highCube) equipmentType.push(\"High Cube\");\n if (equipmentTypeFB.refrigerated) equipmentType.push(\"Refrigerated(Reefer)\");\n if (equipmentTypeFB.openTop) equipmentType.push(\"Open Top\");\n if (equipmentTypeFB.flatRack) equipmentType.push(\"Flat Rack\");\n if (equipmentTypeFB.outOfGauge) equipmentType.push(\"Out Of Gauge\");\n if (equipmentTypeFB.vanTrailer) equipmentType.push(\"Van Trailer\");\n if (equipmentTypeFB.bonded) equipmentType.push(\"Bonded\");\n\n let replyBy = [];\n if (formValues.replyBy1) {\n replyBy.push('Phone')\n }\n if (formValues.replyBy3) {\n replyBy.push('Email')\n }\n\n //cargoReadyDate\n let selectedDate = new Date(formValues['cargoReadyDate'] ?? '');\n let currentTime = new Date();\n selectedDate.setHours(currentTime.getHours());\n selectedDate.setMinutes(currentTime.getMinutes());\n\n let currentOffset = currentTime.getTimezoneOffset();\n let targetOffset = selectedDate.getTimezoneOffset();\n let offsetDiff = currentOffset - targetOffset;\n selectedDate = new Date(selectedDate.getTime() + (offsetDiff * 60 * 1000));\n\n let datePipe = new DatePipe('en-US');\n let formattedDate = datePipe.transform(selectedDate, 'MM/dd/yyyy hh:mm a z');\n\n let payload = {\n yourCompany: formValues.yourCompany,\n yourName: formValues.yourName,\n yourEmail: formValues.yourEmail,\n yourPhone: formValues.yourPhone,\n companyStreetAddress: formValues.companyStreetAdd,\n companyCity: formValues.city,\n companyState: formValues.state,\n companyZip: formValues.zip,\n commodityDescription: formValues.description,\n originPortRailYard: formValues.originPort,\n destinationCity: formValues.destinationCity,\n destinationState: formValues.destinationState,\n destinationZip: formValues.destinationZip,\n containerSize: containerSize,\n containerWeight: formValues.containerWeight,\n hazmatLoad: formValues.hazmatLoad,\n equipmentType: equipmentType,\n dimensions: formValues.dimension,\n specialInstructions: formValues.DTspecialInstruction,\n cargoReadyDate: formattedDate,\n replyBy: replyBy,\n saiaAccountNumber: formValues.saiaAccountNumber,\n // saiaSalesRep: formValues.saiaSalesRep,\n // saiaSalesRepEmail: formValues.saiaSalesRepEmail\n };\n this.loader = true;\n this.transloadingStatus = false;\n this.isFormSubmittedTransloadingApiError = false;\n this.service.submitDrayageTransloadingRateQuotes(payload).subscribe((response: any) => {\n this.loader = false;\n this.apiResponse = response\n if (response.status === 'mail_sent') {\n this.transloadingStatus = true;\n this.isFormSubmittedTransloading = false;\n this.transloading.reset();\n this.ngTransloading.resetForm();\n this.outOfGauge = false;\n this.addGA4Event({ 'event': 'submit-drayagetransloading-success' });\n } else {\n this.isFormSubmittedTransloadingApiError = true;\n this.addGA4Event({ 'event': 'submit-drayagetransloading-error', errorMessage: JSON.stringify(response) });\n }\n }, (error) => {\n this.loader = false;\n this.isFormSubmittedTransloadingApiError = true;\n this.addGA4Event({ 'event': 'submit-drayagetransloading-error', errorMessage: JSON.stringify(error) });\n this.apiResponse = {\n message: 'Error in submitting your request, Please Call LinkEx 972-481-9900.'\n }\n });\n }\n validateSaiaAccount(): void {\n if (this.truckload.value.saiaAccountNumber) {\n\n this.isLoading = true;\n this.service.validateSaiaAccount({ accountNumber: this.truckload.value.saiaAccountNumber }).subscribe((result: any) => {\n // isValidSaiaAccount\n if (result.isValidCustomer) {\n this.isValidSaiaAccount = 'yes';\n this.saiaAccountData = result.customerInfo;\n this.cmbtpSaiaAccountData = result.cmbtpCustomerInfo;\n this.showForm = true;\n this.isLoading = false;\n this.captcha = '';\n } else {\n this.isValidSaiaAccount = 'no';\n this.isLoading = false;\n this.showForm = false;\n }\n }, (error) => {\n this.isValidSaiaAccount = 'no';\n this.isLoading = false;\n })\n }\n }\n\n getLiveRateQuotes(): void {\n this.isFormSubmittedTruckload = true;\n if (this.truckload.invalid) {\n window.scrollTo(0, 0);\n this.truckLoadStatusError = true;\n } else {\n window.scrollTo(0, 0);\n this.truckLoadStatusError = false;\n // this.truckLoadStatus = true;\n }\n localStorage.clear()\n if (this.truckload.status != 'VALID') return;\n const formValues = this.truckload.value;\n const replyBy = [];\n if (formValues.replyBy1) replyBy.push('Phone');\n if (formValues.replyBy3) replyBy.push('Email');\n let selectedDate = new Date(formValues['pickDate'] ?? '');\n let currentTime = new Date();\n selectedDate.setHours(currentTime.getHours());\n selectedDate.setMinutes(currentTime.getMinutes());\n\n let currentOffset = currentTime.getTimezoneOffset();\n let targetOffset = selectedDate.getTimezoneOffset();\n let offsetDiff = currentOffset - targetOffset;\n selectedDate = new Date(selectedDate.getTime() + (offsetDiff * 60 * 1000));\n\n let datePipe = new DatePipe('en-US');\n let formattedDate = datePipe.transform(selectedDate, 'MM/dd/yyyy');\n let accessorialsCode = []\n if (formValues.hazmat && formValues.hazmat == 'Yes') {\n accessorialsCode.push({ \"code\": \"HAZ:F\" })\n }\n\n let payload = {\n yourCompany: formValues.yourCompany,\n yourName: formValues.yourName,\n yourPhone: formValues.yourPhone,\n yourEmail: formValues.yourEmail,\n saiaAccountNumber: formValues.saiaAccountNumber,\n saiaAccountData: this.saiaAccountData,\n cmbtpSaiaAccountData: this.cmbtpSaiaAccountData,\n equipment: [\n {\n code: \"TV\"\n }\n ],\n accessorials: accessorialsCode,\n items: [\n {\n sequence: 1,\n freightClass: 0,\n name: \"\",\n weight: formValues.weight?.replace(/,/g, ''),\n weightUnits: \"lb\",\n quantityType: \"PLT\",\n quantity: 1,\n isHazmat: (formValues.hazmat && formValues.hazmat == 'Yes') ? true : false,\n isStackable: false,\n dimension: {\n length: '0',\n width: '0',\n height: '0',\n units: \"in\"\n }\n }\n ],\n pickup: {\n date: `${formattedDate} 08:00`,\n location: {\n city: formValues.originCity,\n state: formValues.originState,\n zip: formValues.originZip,\n country: \"US\"\n }\n },\n dropoff: {\n date: `${formattedDate} 08:00`,\n location: {\n city: formValues.destinationCity,\n state: formValues.destinationState,\n zip: formValues.destinationZip,\n country: \"US\"\n }\n }\n // reference: [\n // {\n // \"type\": \"V\",\n // \"value\": \"12345\"\n // },\n // {\n // \"type\": \"C\",\n // \"value\": \"13455\"\n // }\n // ]\n }\n this.loader = true;\n this.isValidSaiaAccount = null;\n this.truckLoadStatus = false;\n this.isFormSubmittedTruckloadApiError = false;\n this.service.submitLiveRateQuotesRequest(payload).subscribe((result: any) => {\n console.log(\"Live Rate quotes Response\", result)\n this.loader = false;\n this.apiResponse = result;\n if (result.statusMessage === 'SUCCESS') {\n if (formValues.hazmat && formValues.hazmat == 'Yes') {\n this.submitTruckLoadQuotes();\n }\n this.truckLoadStatus = true;\n this.isFormSubmittedTruckload = false;\n this.truckload.reset();\n this.ngTruckload.resetForm();\n this.otherAdditionalDetails = false;\n this.addGA4Event({ 'event': 'submit-liveratequotes-success' });\n this.router.navigate(['/live-quote'], {\n state: {\n liveRateQuoteData: JSON.stringify(result),\n },\n });\n } else {\n this.addGA4Event({ 'event': 'submit-liveratequotes-error', errorMessage: JSON.stringify(result) });\n this.submitTruckLoadQuotes();\n }\n }, error => {\n this.loader = false;\n this.isFormSubmittedTruckloadApiError = true;\n this.addGA4Event({ 'event': 'submit-liveratequotes-error', errorMessage: JSON.stringify(error) });\n this.apiResponse = {\n message: 'Error in submitting your request, Please Call LinkEx 972-481-9900.'\n }\n })\n }\n addGA4Event(event: any): void {\n (window as { [key: string]: any })['dataLayer'].push(event);\n }\n onInputChange(event: any): void {\n const input = event.target as HTMLInputElement;\n const inputValue = input.value;\n input.value = inputValue.replace(/[^0-9]/g, '');\n\n this.showButton = this.inputText.length === 7;\n\n if (this.isValidSaiaAccount === 'no') {\n this.isValidSaiaAccount = null;\n }\n }\n\n clearTruckLoad(): any {\n this.truckLoadStatusError = false;\n this.isFormSubmittedTruckload = false;\n this.truckload.reset();\n // this.truckload.controls['paymentType'].patchValue('Third Party');\n }\n clearExpeditedLoad(): any {\n this.expeditedLoadStatusError = false;\n this.isFormSubmittedExpeditedload = false;\n this.expedited.reset();\n }\n clearLTLCartage(): any {\n this.ltlCatageStatusError = false;\n this.isFormSubmittedLtlcartage = false;\n this.finalCartage.reset();\n }\n clearWarehousing(): any {\n this.warehousingStatusError = false;\n this.isFormSubmittedWarehousing = false;\n this.warehouseQuestionnaire.reset();\n }\n clearInternational(): any {\n this.internationalStatusError = false;\n this.isFormSubmittedInternational = false;\n this.international.reset();\n }\n clearDrayage(): any {\n this.transloadingError = false;\n this.isFormSubmittedTransloading = false;\n this.transloading.reset();\n }\n onKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter') {\n event.preventDefault();\n }\n }\n\n numberOnly(event: any) {\n const input = event.target as HTMLInputElement;\n const inputValue = input.value;\n input.value = inputValue.replace(/[^0-9 ]/g, '');\n }\n\n commaNumberOnly(event: any) {\n const input = event.target as HTMLInputElement;\n let inputValue = input.value.replace(/[^0-9]/g, ''); // Remove non-numeric characters\n if (inputValue !== '') {\n const parsedValue = parseInt(inputValue);\n if (!isNaN(parsedValue)) {\n inputValue = parsedValue.toLocaleString(); // Format with commas\n }\n }\n input.value = inputValue;\n }\n\n alphaOnly(event: any) {\n const input = event.target as HTMLInputElement;\n const inputValue = input.value;\n input.value = inputValue.replace(/[^0-9a-zA-Z ]/g, '');\n }\n loadPreviousQuote() {\n if (this.truckload.value.previousQuoteNumber) {\n this.isLoadingPreviousQuote = true;\n this.previousQuoteStatus = \"\";\n this.previousQuoteMsg = \"\";\n this.service.getPreviousQuote({ quoteid: this.truckload.value.previousQuoteNumber }).subscribe((result: any) => {\n this.isLoadingPreviousQuote = false;\n if (result.status) {\n if (result.quoteData.soNumber && result.quoteData.tendered) {\n this.previousQuoteStatus = \"success\";\n this.previousQuoteMsg = `Quote ${this.truckload.value.previousQuoteNumber} has already been accepted and tendered. Please track your SO number by visiting our tracking page.`;\n } else if (result.quoteData?.jsonResponse?.quote) {\n let quoteExpirationDate = moment(result.quoteData?.quoteExpirationDate).toDate().getTime()\n if (quoteExpirationDate < new Date().getTime()) {\n this.previousQuoteStatus = \"success\";\n this.previousQuoteMsg = \"The requested quote has expired. Please generate a new quote request.\";\n } else {\n let liveQuoteData = {\n ...result.quoteData,\n requestData: result.quoteData.inputJson,\n quote: result.quoteData?.jsonResponse?.quote,\n dbDocumentId: result.quoteData.id,\n quoteDbItem: result.quoteData,\n userData: {\n companyName: result.quoteData.inputJson.yourCompany,\n contactName: result.quoteData.inputJson.yourName,\n phone: result.quoteData.inputJson.yourPhone,\n email: result.quoteData.inputJson.yourEmail,\n },\n statusMessage: 'SUCCESS'\n }\n localStorage.clear()\n this.router.navigate(['/live-quote'], {\n state: {\n liveRateQuoteData: JSON.stringify(liveQuoteData),\n },\n });\n }\n }\n } else {\n this.previousQuoteStatus = \"fail\";\n this.previousQuoteMsg = \"Quote not found. Please try again or create a new quote below.\";\n }\n }, (err) => {\n this.isLoadingPreviousQuote = false;\n })\n }\n };\n saiaAccountLengthValidate(event: any) {\n this.showForm = false;\n if (event.target.value.length < 7) {\n this.isValidSaiaAccount = null;\n this.showForm = false;\n // this.showCaptchaError = true;\n }\n // else if (!this.captcha) {\n // // If the captcha has not been resolved, show the captcha error\n // this.showCaptchaError = true;\n // }\n };\n onAccessorialChange(event: any) {\n if (this.isValidSaiaAccount == 'no') {\n this.truckload.controls['saiaAccountNumber'].setValue('');\n }\n this.isValidSaiaAccount = null;\n const formValues = this.truckload.value\n this.isTruckloadAccessorialChecked = 'no'\n if (formValues.accessorialServicesFb?.insideDelivery) this.isTruckloadAccessorialChecked = 'yes';\n if (formValues.accessorialServicesFb?.insidePickup) this.isTruckloadAccessorialChecked = 'yes';\n if (formValues.accessorialServicesFb?.liftgateDelivery) this.isTruckloadAccessorialChecked = 'yes';\n if (formValues.accessorialServicesFb?.liftgatePickup) this.isTruckloadAccessorialChecked = 'yes';\n if (formValues.accessorialServicesFb?.limitedAccessOnDelivery) this.isTruckloadAccessorialChecked = 'yes';\n if (formValues.accessorialServicesFb?.limitedAccessOnPickup) this.isTruckloadAccessorialChecked = 'yes';\n if (formValues.accessorialServicesFb?.residentialDelivery) this.isTruckloadAccessorialChecked = 'yes';\n if (formValues.accessorialServicesFb?.residentialPickup) this.isTruckloadAccessorialChecked = 'yes';\n if (formValues.accessorialServicesFb?.sortAtDestination) this.isTruckloadAccessorialChecked = 'yes';\n if (formValues.accessorialServicesFb?.sortAtOrigin) this.isTruckloadAccessorialChecked = 'yes';\n if (formValues.accessorialServicesFb?.hazardousMaterials) this.isTruckloadAccessorialChecked = 'yes';\n if (formValues.accessorialServicesFb?.tankerEndorsement) this.isTruckloadAccessorialChecked = 'yes';\n }\n\n characterCount: { [key: string]: number } = {\n yourCompany: 0,\n yourName: 0,\n yourPhone: 0,\n yourEmail: 0,\n saiaAccountNumber: 0,\n originCity: 0,\n originState: 0,\n originZip: 0,\n destinationCity: 0,\n destinationState: 0,\n destinationZip: 0\n };\n\n updateCharacterCount(event: Event, controlName: string): void {\n const value = (event.target as HTMLInputElement)?.value || '';\n this.characterCount[controlName] = value.length;\n }\n captchaResolved(captchaResponse: string) {\n this.captcha = captchaResponse;\n if (this.captcha) {\n this.showCaptchaError = false;\n }\n }\n captchaCheck() {\n if (this.captcha || this.showForm) {\n this.validateSaiaAccount();\n } else {\n this.showCaptchaError = true;\n }\n }\n}\n","
\n
\n
\n
\n
\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n
  3. Quote
  4. \n
\n
\n
\n
\n\n\n
\n
\n \n \n
\n
\n
\n

Request a Quote!

\n
\n Error | Please fill out all highlighted form fields correctly and then try submitting again\n
\n\n
\n Error | Please fill out all highlighted form fields correctly and then try submitting again\n
\n\n
\n Thank you for submitting a quote request. Someone will get back to you shortly.\n
\n
\n {{apiResponse.message}}\n
\n
\n\n\n
\n
\n

\n Load Previous Quote\n

\n
\n
\n\n\n
\n
\n \n \n \n Enter Valid Previous Quote Number\n \n
\n\n
\n \n \n
\n\n
\n\n
\n
\n
\n
\n
\n\n\n
\n
\n \n \n \n \n {{ characterCount['yourCompany'] }}/50\n
\n\n
\n \n \n \n Enter\n Valid Contact Name \n \n {{ characterCount['yourName'] }}/50\n
\n
\n
\n
\n \n \n \n Enter Valid Phone \n \n {{ characterCount['yourPhone'] }}/10\n
\n\n
\n \n \n \n Enter Valid Email \n \n {{ characterCount['yourEmail'] }}/50\n
\n
\n\n
\n
\n \n \n \n \n \n Account Number Must Be 7 Digits\n \n \n {{ characterCount['saiaAccountNumber'] }}/7\n
\n \n
\n\n
\n
\n
\n \n \n
\n
\n\n
\n \n \n
\n The account has been validated. Please continue with your quote request.\n
\n
\n Account number not found. Please try again.\n
\n
\n\n
\n \n \n \n Enter Valid Additional Details \n \n
\n\n
\n \n\n\n\n\n
\n
\n

\n Shipment Details\n

\n FOR DOMESTIC US SHIPPING ONLY\n
\n
\n\n
\n\n
\n\n
\n \n \n \n \n \n Select Valid Shipping Date \n \n
\n\n
\n\n
\n\n
\n \n \n \n Enter Valid Origin City \n \n {{ characterCount['originCity'] }}/50\n
\n\n
\n \n \n \n Enter Valid Origin State \n \n {{ characterCount['originState'] }}/50\n
\n\n
\n \n \n \n Enter Valid Zip Code \n \n {{ characterCount['originZip'] }}/7\n
\n\n
\n\n
\n\n
\n \n \n \n Enter Valid Destination City \n \n {{ characterCount['destinationCity'] }}/50\n
\n\n
\n \n \n \n Enter Valid Destination State \n \n {{ characterCount['destinationState'] }}/50\n
\n\n
\n \n \n \n Enter Valid Destination Zip Code \n \n {{ characterCount['destinationZip'] }}/7\n
\n\n
\n\n
\n\n
\n
\n

\n Freight Information\n

\n
\n
\n\n
\n
\n \n \n \n Enter Valid Weight\n Maximum weight is 44,000 lbs\n \n
\n\n
\n \n \n Yes\n No\n \n
\n\n
\n\n
\n
\n

\n Select Equipment\n

\n
\n\n
\n Standard Truckload Dry Van\n
\n\n
\n\n
\n\n
\n
\n

\n Accessorial Services\n

\n
\n\n
\n \n Inside\n Delivery\n Inside\n Pickup\n \n Liftgate Delivery\n \n Liftgate Pickup\n Limited Access On Delivery\n Limited Access On Pickup\n Residential Delivery\n Residential Pickup\n Sort/Segregate At Destination\n \n Sort/Segregate At Origin\n \n Hazardous Materials\n \n Tanker Endorsement\n \n
\n\n\n
\n\n
\n\n
\n
\n

\n Reply to Quote by\n

\n
\n\n
\n Phone\n Email\n
\n
\n\n

\n\n
\n
\n

This quote is for Standard Truckload Dry Van equipment. For Reefer, Flatbed, or Other equipment needs, please contact LinkEx 866.289.9838 or tlquotes@linkex.us.

\n
\n
\n\n

\n\n
\n
\n
\n \n \n
\n
\n \n
\n
\n\n

\n\n\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n

Request a Quote!

\n
\n Error | Please fill out all highlighted form fields correctly and then try submitting again\n
\n\n
\n Thank you for submitting a quote request. Someone will get back to you shortly.\n
\n
\n {{apiResponse.message}}\n
\n
\n
\n
\n \n \n \n Enter Valid Company Name \n \n
\n\n
\n \n \n \n Enter Valid Contact Name \n \n
\n
\n
\n
\n \n \n \n Enter Valid Phone \n \n
\n\n
\n \n \n \n Enter Valid Email \n \n
\n
\n\n
\n
\n

\n Shipment Details\n

\n
\n
\n\n
\n\n
\n \n \n \n \n \n \n
\n\n
\n \n \n \n \n
\n\n
\n\n
\n\n
\n \n \n \n Enter Valid Origin City \n \n
\n\n
\n \n \n \n Enter Valid Origin State \n \n
\n\n
\n \n \n \n Enter Valid Zip Code \n \n
\n\n
\n\n
\n\n
\n\n
\n \n \n \n \n \n \n
\n\n
\n \n \n \n \n
\n\n
\n\n
\n\n
\n \n \n \n Enter Valid Destination City \n \n
\n\n
\n \n \n \n Enter Valid Destination State \n \n
\n\n
\n \n \n \n Enter Valid Destination Zip Code \n \n
\n\n
\n\n
\n\n
\n\n
\n \n \n \n Enter valid Piece Count\n \n
\n\n
\n \n \n \n \n {{ hutype.viewValue }}\n \n \n Please Select Hu Type\n \n
\n\n
\n \n \n \n Enter Valid Weight\n \n
\n\n
\n \n \n \n Enter Valid Dimensions\n \n
\n\n
\n\n
\n\n
\n \n \n \n \n
\n\n
\n\n
\n\n
\n \n \n Yes\n No\n \n Select Equipment Type\n \n\n
\n\n
\n \n \n \n Enter Valid Hazmat UN#\n \n
\n\n
\n \n \n \n Enter Valid Bill To Account\n \n
\n\n
\n \n \n \n Enter Valid Saia Pro #\n \n
\n\n
\n\n
\n
\n

\n Equipment Type *\n

\n\n \n Sprinter Van\n Straight Truck\n 53' Van\n Reefer\n Flatbed\n Air Freight\n Other\n \n Select Equipment Type\n \n
\n\n
\n\n
\n\n
\n\n
\n \n \n \n Enter Additional Details\n \n
\n\n
\n\n
\n\n
\n
\n

\n Accessorial Services\n

\n
\n\n
\n \n Inside\n Delivery\n Inside\n Pickup\n \n Liftgate Delivery\n \n Liftgate Pickup\n Limited Access On Delivery\n Limited Access On Pickup\n Residential Delivery\n Residential Pickup\n Sort/Segregate At Destination\n \n Sort/Segregate At Origin\n \n Hazardous Materials\n \n Tanker Endorsement\n \n White Glove Service\n \n
\n\n\n
\n\n
\n\n
\n
\n

\n Reply to Quote by\n

\n
\n\n
\n Phone\n Email\n
\n
\n\n

\n\n
\n
\n

\n If you were referred by your Saia Account Executive /\n Saia Account Exec - the following information is\n required:\n

\n
\n
\n\n
\n\n
\n
\n \n \n \n \n
\n\n \n
\n\n
\n\n
\n
\n
\n \n
\n
\n \n
\n
\n\n

\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n

Request a Quote!

\n
\n Error | Please fill out all highlighted form fields correctly and then try submitting again\n
\n\n
\n Thank you for submitting a quote request. Someone will get back to you shortly.\n
\n
\n {{apiResponse.message}}\n
\n
\n
\n
\n \n \n \n Enter Valid Company Name \n \n
\n\n
\n \n \n \n Enter Valid Contact Name \n \n
\n
\n
\n\n
\n \n \n \n Enter Valid Phone Name \n \n
\n\n
\n \n \n \n Enter Valid Email \n \n
\n
\n\n\n
\n
\n

\n Shipment Details\n

\n
\n
\n\n
\n
\n \n \n \n Enter Origin Zip Code \n \n
\n\n
\n \n \n \n Enter Destination Zip Code \n \n
\n\n
\n \n \n \n \n \n Select Requested Pickup date\n \n
\n\n
\n \n \n \n \n \n Select Requested Delivery date\n \n
\n\n
\n\n \n
\n\n
\n\n
\n\n
\n \n \n \n Enter Commodity\n \n
\n\n
\n \n \n \n Enter Quantity\n \n
\n\n
\n \n \n \n \n {{ hutype.viewValue }}\n \n \n Please Select Hu Type\n \n
\n\n
\n\n
\n\n
\n \n \n \n Yes \n No \n \n Please select Hazmat\n \n
\n\n
\n \n \n \n Enter Weight\n \n
\n\n
\n \n \n \n Enter Dimensions\n \n
\n\n
\n \n \n \n Each \n Total \n \n Please select each or total\n \n
\n\n
\n\n
\n\n
\n\n\n
\n
\n   \n\n \n
\n
\n\n
\n\n
\n
\n

\n Final Mile Services\n

\n
\n
\n\n
\n\n
\n
\n \n \n Appointment Pickup\n \n Call Before Pickup\n \n Liftgate Pickup\n \n Limited Access Pickup\n \n Residential Pickup\n \n
\n\n\n
\n \n \n Appointment Delivery\n \n Call Before Delivery\n \n Liftgate Delivery\n \n Limited Access Delivery\n \n Residential Delivery\n \n Unattended Delivery \n \n Curbside Delivery\n \n Threshold / GarageDelivery\n \n
\n\n
\n \n \n Additional Labor\n \n Debris Removal\n \n Inside Pickup / Delivery\n \n Light Assembly\n \n Room of Choice\n \n Flight(s) of Stairs \n \n Unpackaging\n \n In-Room Placement\n \n Hookup\n \n Haul Away\n \n Disposal / Returns\n \n Repairs\n \n
\n\n
\n\n
\n

\n The availability of any specific White Glove delivery service may be dictated by the locations,\n commodities, and timelines involved in the requested movement.\n

\n
\n\n
\n\n
\n\n
\n\n
\n \n \n \n Enter Weight\n \n
\n\n
\n\n
\n\n
\n
\n

\n Reply to Quote by\n

\n
\n\n
\n Phone\n Email\n
\n
\n\n
\n
\n\n
\n
\n

\n If you were referred by your Saia Account Executive /\n Saia Account Exec - the following information is\n required:\n

\n
\n
\n\n
\n\n
\n
\n \n \n \n \n
\n\n \n
\n\n\n
\n\n
\n
\n
\n \n
\n
\n \n
\n
\n\n

\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n

Request a Quote!

\n
\n Error | Please fill out all highlighted form fields correctly and then try submitting again\n
\n\n
\n Thank you for submitting a warehouse service request. A team member will be in touch within 24 hours.\n
\n
\n {{apiResponse.message}}\n
\n
\n\n
\n
\n \n \n \n Company name is required\n \n
\n\n
\n \n \n \n Contact name is required \n \n
\n
\n\n
\n\n\n
\n \n \n \n Email is required\n \n
\n\n
\n \n \n \n Phone number is required\n \n
\n
\n\n
\n\n
\n
\n

\n Requested Warehouse Location\n

\n
\n
\n\n
\n
\n \n \n \n City is required\n \n
\n\n
\n \n \n \n State is required\n \n
\n
\n\n\n
\n
\n \n \n \n \n Zip code is required\n \n \n
\n\n
\n\n
\n\n
\n
\n

\n General Questions\n

\n
\n
\n\n
\n\n
\n \n \n \n Commodity is required\n \n
\n\n\n\n
\n \n \n Case\n Drum\n Tote\n Crate\n Pallet\n \n Other\n \n \n\n \n Please select at least one option\n \n\n
\n\n
\n \n \n \n Packaging type is required\n \n
\n\n
\n\n
\n\n
\n \n \n \n \n \n Select receiving product date\n \n
\n\n\n
\n \n \n No\n Yes\n \n \n Select\n an Ongoing Opportunity\n
\n\n
\n \n \n \n Additional details is required\n \n
\n\n
\n\n
\n
\n \n \n \n Length of term is required\n \n
\n
\n\n
\n\n \n \n \n \n Inbound\n \n \n\n
\n\n
\n\n
\n\n
\n \n \n Container\n \n FTL\n \n LTL\n \n \n Parcel\n \n Other\n \n\n \n Please select at least one option\n\n
\n\n
\n \n \n \n Additional details is required\n \n
\n\n
\n \n \n \n Inbounds per month details are required\n \n
\n\n
\n\n
\n\n
\n \n \n No\n Yes\n \n \n Select Peak Season\n
\n\n
\n \n \n \n Peak Season is required\n \n
\n\n
\n \n \n Palletized\n \n Floor-loaded\n \n \n\n \n Please select at least one option\n\n
\n\n
\n\n
\n\n
\n\n
\n \n \n \n Pallets per inbound is required\n \n
\n\n
\n \n \n \n Cases per inbound is required\n \n
\n\n
\n\n
\n\n
\n \n \n \n Sku's per inbound is required\n \n
\n\n
\n \n \n No\n Yes\n \n Select special handling option\n \n
\n\n
\n \n \n \n Additional Details is required\n \n
\n\n
\n\n
\n\n\n
\n \n \n No\n Yes\n \n Select handling option\n \n
\n\n
\n \n \n \n Additional Details is required\n \n
\n\n
\n\n
\n\n
\n\n \n \n \n Inventory\n \n \n\n
\n\n
\n\n
\n\n
\n \n \n \n Pallets of quantity is required\n \n
\n\n
\n \n \n \n Pallets of quantity is required\n \n
\n\n
\n\n
\n\n
\n \n \n Yes\n No\n \n \n \n Select pallets standards\n
\n\n
\n \n \n \n Dimensions are required\n \n
\n\n
\n \n \n No\n Yes\n \n \n Select pallets stackable\n
\n\n
\n \n \n \n Stack height is required\n \n
\n\n
\n\n
\n\n
\n\n
\n \n \n \n Average weight per pallet is required\n \n
\n\n
\n \n \n \n Floor\n \n Racking\n Other\n \n \n \n Please select at least one option\n\n
\n\n
\n \n \n \n Additional details is required\n \n
\n\n
\n\n
\n\n
\n \n \n No\n Yes\n \n \n Select peak season\n
\n\n
\n \n \n \n Peak season details is required\n \n
\n\n
\n \n \n \n Average cases per pallet is required\n \n
\n\n
\n\n
\n\n
\n \n \n \n Time frame is required\n \n
\n\n
\n \n \n \n Number of turns per year is required\n \n
\n\n
\n\n
\n\n
\n \n \n \n Sku's quantity is required\n \n
\n\n
\n \n \n Climate Control\n \n \n Hazmat\n \n Food Grade\n Other\n \n \n \n Please select at least one option\n\n
\n\n
\n \n \n \n Additional details is required\n \n
\n\n
\n\n
\n\n
\n\n \n \n \n Outbound\n \n \n\n
\n\n
\n\n
\n\n
\n \n \n Container\n \n FTL\n \n LTL\n \n \n Parcel\n \n Other\n \n \n \n Please select at least one option\n
\n\n
\n \n \n \n Additional details is required\n \n
\n\n
\n \n \n \n Additional details is required\n \n
\n\n
\n\n
\n\n
\n \n \n No\n Yes\n \n \n Select peak season\n
\n\n
\n \n \n \n Additional details is required\n \n
\n\n
\n \n \n Pallet\n Case/Carton\n Each/Pieces\n \n \n Select type of pick is required\n
\n\n
\n\n
\n\n
\n\n
\n \n \n \n \n
\n\n
\n \n \n \n \n
\n\n
\n \n \n \n \n
\n\n
\n\n
\n\n
\n \n \n \n Enter lines per order on average\n \n\n\n
\n\n
\n\n
\n\n
\n\n \n \n \n Transportation\n \n \n\n
\n\n
\n\n
\n\n
\n \n \n No\n Yes\n \n \n Select quote for the inbound transportation\n
\n\n
\n\n
\n\n
\n\n
\n \n \n FTL\n \n LTL\n \n \n Container\n Flatbed\n \n \n \n Select inbound transportation\n
\n\n
\n \n \n \n Enter Zip Code\n \n
\n\n
\n\n
\n\n
\n \n \n \n Enter legal or overweight\n \n
\n\n
\n\n
\n\n
\n \n \n No\n Yes\n \n \n Select quote for the outbound transportation\n
\n\n
\n\n
\n\n
\n\n
\n \n \n FTL\n \n LTL\n \n \n Container\n Flatbed\n \n \n \n Select outbound transportation\n
\n\n
\n \n \n \n Enter Zip Code\n \n
\n\n
\n\n
\n\n
\n \n \n \n Enter legal or overweight\n \n
\n
\n\n
\n\n\n
\n\n
\n\n
\n\n
\n\n
\n
\n

\n Reply to Quote by\n

\n
\n\n
\n Phone\n Email\n
\n
\n\n
\n
\n\n
\n
\n

\n If you were referred by your Saia Account Executive /\n Saia Account Exec - the following information is\n required:\n

\n
\n
\n\n
\n\n
\n
\n \n \n \n \n
\n\n \n
\n\n
\n
\n

\n Notes\n

\n
\n
\n\n
\n
\n\n
    \n
  • We use standard pallets (40”x48”) as our default unit of measure, please feel\n free\n to substitute your own unit of measure as needed
  • \n
  • All additional paperwork is welcomed, i.e. item/sku lists, sample packing\n lists,\n sample orders, product lists with dimensions, velocity reports, etc
  • \n
  • Pictures, if available, are always extremely helpful
  • \n
  • Please send additional paperwork and/or pictures to warehousequotes@linkex.us
  • \n
\n\n
\n
\n\n\n
\n
\n
\n \n
\n
\n \n
\n
\n\n

\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n

Request a Quote!

\n
\n Error | Please fill out all highlighted form fields correctly and then try submitting again\n
\n\n
\n Thank you for submitting a quote request. Someone will get back to you shortly.\n
\n
\n {{apiResponse.message}}\n
\n
\n
\n
\n \n \n \n Enter Valid Company Name \n \n
\n\n
\n \n \n \n Enter Valid Contact Name \n \n
\n
\n
\n\n
\n \n \n \n Enter Valid Email \n \n
\n\n
\n \n \n \n Enter Valid Phone Number \n \n
\n
\n\n
\n
\n \n \n \n Enter Valid Company Street Address \n \n
\n\n
\n \n \n \n Enter Valid City \n \n
\n
\n\n
\n
\n \n \n \n Enter Valid State \n \n
\n\n
\n \n \n \n Enter Valid Zip \n \n
\n
\n\n
\n\n
\n
\n

\n Cargo Type *\n

\n
\n\n
\n \n Air\n Ocean\n \n \n Please select at least one option\n
\n\n
\n\n
\n\n
\n
\n

\n Load Type *\n

\n
\n\n
\n\n \n Less than Container Load (LCL)\n Full Container Load (FCL)\n \n \n Please Select Load Type\n
\n\n
\n\n

\n\n
\n\n
\n \n\n \n 20' Container\n 40' Standard Container\n \n 40' High Cube Container\n \n \n \n Please select at least one option\n
\n
\n\n
\n\n
\n\n
\n
\n \n \n \n Please enter Commodity Description\n \n
\n
\n\n
\n\n
\n
\n

\n Shipment Details\n

\n
\n
\n\n
\n
\n \n \n \n Please enter origin address\n\n \n
\n\n
\n \n \n \n Please enter destination address\n \n
\n
\n\n
\n
\n \n \n \n Please enter Piece Count\n \n
\n\n
\n \n \n \n Enter valid weight\n \n
\n\n\n
\n\n
\n
\n \n \n \n Enter valid Dimensions\n \n
\n\n
\n \n \n \n Yes \n No \n \n Please select Hazmat\n \n
\n\n
\n \n \n \n Enter Valid Insurance Value\n \n
\n\n
\n\n\n\n
\n\n
\n
\n \n \n \n \n {{ incoterms.viewValue }}\n \n \n Please Select Service \n \n
\n
\n\n
\n\n
\n
\n \n \n \n Enter Valid Special Handling Requirements \n \n
\n
\n\n
\n\n
\n
\n

\n Reply to Quote by\n

\n
\n\n
\n Phone\n Email\n
\n
\n\n
\n
\n\n
\n
\n

\n If you were referred by your Saia Account Executive /\n Saia Account Exec - the following information is\n required:\n

\n
\n
\n\n
\n\n
\n
\n \n \n \n \n
\n\n \n
\n\n
\n
\n
\n \n
\n
\n \n
\n
\n\n

\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n

Request a Quote!

\n
\n Error | Please fill out all highlighted form fields correctly and then try submitting again\n
\n\n
\n Thank you for submitting a quote request. Someone will get back to you shortly.\n
\n
\n {{apiResponse.message}}\n
\n
\n
\n
\n \n \n \n Enter Valid Company Name \n \n
\n\n
\n \n \n \n Enter Valid Contact Name \n \n
\n
\n
\n\n
\n \n \n \n Enter Valid Email \n \n
\n\n
\n \n \n \n Enter Valid Phone \n \n
\n\n
\n\n
\n\n
\n \n \n \n Enter Valid Company Street Address\n \n
\n\n
\n \n \n \n Enter Valid City\n \n
\n\n
\n \n \n \n Enter Valid State\n \n
\n\n
\n \n \n \n Enter Valid Zip\n \n
\n\n
\n\n
\n\n
\n
\n \n \n \n \n Enter Valid Commodity Description\n \n
\n\n
\n \n \n \n Enter Valid Origin Port/Rail Yard\n \n
\n
\n\n
\n\n
\n \n \n \n Enter Valid Destination City\n \n
\n
\n \n \n \n Enter Valid Destination State\n \n
\n\n
\n \n \n \n Enter Valid Destination Zip\n \n
\n\n
\n\n\n
\n
\n

\n Container Size *\n

\n\n
\n \n 20'\n 40'\n 45'\n 48'\n \n 53'\n \n Unsure\n \n\n \n Please select at least one option\n
\n\n
\n
\n\n
\n\n
\n
\n

\n Container Weight *\n

\n\n \n Legal\n Overweight\n Unsure\n \n Select Container Weight\n \n
\n
\n\n
\n\n
\n
\n

\n Hazmat Load *\n

\n\n \n Yes\n No\n \n Select Hazmat Load\n \n
\n
\n\n
\n\n
\n
\n

\n Equipment Type *\n

\n
\n\n
\n \n Standard\n \n High Cube\n \n \n Refrigerated(Reefer)\n \n \n Open Top\n \n Flat Rack\n \n Out Of Gauge\n \n Van Trailer\n \n Bonded\n \n\n \n Please select at least one option\n\n
\n\n
\n\n
\n \n \n \n Please Enter Valid Dimensions\n \n
\n\n
\n\n
\n\n
\n
\n \n \n \n \n Enter Valid Special Instruction\n \n\n
\n\n
\n \n \n \n \n \n Select Cargo Ready Date\n \n
\n
\n\n
\n\n
\n
\n

\n Reply to Quote By:\n

\n
\n\n
\n Phone\n Email\n
\n
\n\n
\n
\n\n
\n
\n

\n If you were referred by your Saia Account Executive /\n Saia Account Exec - the following information is\n required:\n

\n
\n
\n\n
\n\n
\n
\n \n \n \n \n
\n\n \n
\n\n\n\n
\n
\n
\n \n
\n
\n \n
\n
\n\n

\n
\n\n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { PageContentModel } from 'src/app/core/model/page-content.model';\nimport { PageHeaderContentModel } from 'src/app/core/model/page-header.model';\nimport { ContentfulService } from 'src/app/core/service/contentful.service';\n\n@Component({\n selector: 'app-documents',\n templateUrl: './documents.component.html',\n styleUrls: ['./documents.component.scss']\n})\nexport class DocumentsComponent implements OnInit {\n pageContent!: PageContentModel;\n pageHeader!: PageHeaderContentModel;\n constructor(private contentfulService: ContentfulService, private sanitizer: DomSanitizer) { }\n\n ngOnInit(): void {\n this.loadBodyEntries();\n this.loadHeaderEntries();\n }\n\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Documents Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'Documents Content').subscribe(\n (entry) => {\n this.pageContent = new PageContentModel(entry);\n this.pageContent.description = this.pageContent.description.replace(/]*?\\s+)?href=\"([^\"]*)\"([^>]*)>/g, '');\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader.breadCrumbs.split(',').map(breadcrumb => breadcrumb.trim());\n }\n get sanitizedDescription(): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(this.pageContent.description);\n }\n\n}\n","\n
\n

{{pageHeader.heroImageTitle}}

\n
\n\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n \n
  3. \n {{ breadcrumb }}\n
  4. \n
    \n
\n
\n
\n
\n\n\n
\n
\n
\n\n

\n Documents\n

\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { PageContentModel } from 'src/app/core/model/page-content.model';\nimport { PageHeaderContentModel } from 'src/app/core/model/page-header.model';\nimport { ContentfulService } from 'src/app/core/service/contentful.service';\n\n@Component({\n selector: 'app-holiday-schedule',\n templateUrl: './holiday-schedule.component.html',\n styleUrls: ['./holiday-schedule.component.scss']\n})\nexport class HolidayScheduleComponent implements OnInit {\n pageContent!: PageContentModel;\n pageHeader!: PageHeaderContentModel;\n constructor(private contentfulService: ContentfulService, private sanitizer: DomSanitizer) { }\n\n ngOnInit(): void {\n this.loadBodyEntries();\n this.loadHeaderEntries();\n }\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Holiday Schedule Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n console.log( this.pageHeader)\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'Holiday Schedule Content').subscribe(\n (entry) => {\n this.pageContent = new PageContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader.breadCrumbs.split(',').map(breadcrumb => breadcrumb.trim());\n }\n}\n","\n
\n

{{pageHeader.heroImageTitle}}

\n
\n\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n \n
  3. \n {{ breadcrumb }}\n
  4. \n
    \n
\n
\n
\n
\n\n\n
\n
\n
\n\n

\n {{pageContent.header}}\n

\n\n
\n \n\n
\n\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { PageContentModel } from 'src/app/core/model/page-content.model';\nimport { PageHeaderContentModel } from 'src/app/core/model/page-header.model';\nimport { ContentfulService } from 'src/app/core/service/contentful.service';\n\n@Component({\n selector: 'app-resources',\n templateUrl: './resources.component.html',\n styleUrls: ['./resources.component.scss']\n})\nexport class ResourcesComponent implements OnInit {\n \n services: boolean = false;\n pageContent!: PageContentModel;\n pageHeader!: PageHeaderContentModel;\n toggleState() { \n if(this.services === true) {\n this.services = false; \n }\n }\n\n constructor(private contentfulService: ContentfulService, private sanitizer: DomSanitizer,) { }\n\n ngOnInit(): void {\n this.loadBodyEntries();\n this.loadHeaderEntries();\n }\n\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Tools And Resources Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'Tools And Resources Content').subscribe(\n (entry) => {\n this.pageContent = new PageContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader.breadCrumbs.split(',').map(breadcrumb => breadcrumb.trim());\n }\n\n get leftSanitizedDescription(): SafeHtml {\n const htmlContent = this.pageContent.links[0].leftPanelLinks;\n const modifiedHtmlContent = htmlContent.replace(/(]*>.*?<\\/a>)/g, '$1 arrow_forward');\n return this.sanitizer.bypassSecurityTrustHtml(modifiedHtmlContent);\n }\n\n get rightSanitizedDescription(): SafeHtml {\n const htmlContent = this.pageContent.links[0].rightPanelLinks;\n const modifiedHtmlContent = htmlContent.replace(/(]*>.*?<\\/a>)/g, '$1 arrow_forward');\n return this.sanitizer.bypassSecurityTrustHtml(modifiedHtmlContent);\n }\n}\n","\n
\n

{{pageHeader.heroImageTitle}}

\n
\n\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n \n
  3. \n {{ breadcrumb }}\n
  4. \n
    \n
\n
\n
\n
\n\n\n
\n
\n
\n
{{pageContent.header}}
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
Collateral
\n\n
\n
\n
\n
\n \n \n \n \n Services Collateral\n \n \n\n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { PageContentModel } from 'src/app/core/model/page-content.model';\nimport { PageHeaderContentModel } from 'src/app/core/model/page-header.model';\nimport { ContentfulService } from 'src/app/core/service/contentful.service';\n\n@Component({\n selector: 'app-services',\n templateUrl: './services.component.html',\n styleUrls: ['./services.component.scss']\n})\nexport class ServicesComponent implements OnInit {\n pageContent!: PageContentModel;\n pageHeader!: PageHeaderContentModel;\n\n constructor(private contentfulService: ContentfulService, private sanitizer: DomSanitizer) { }\n\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Service Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader.breadCrumbs.split(',').map(breadcrumb => breadcrumb.trim());\n }\n\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'Service Content').subscribe(\n (entry) => {\n this.pageContent = new PageContentModel(entry);\n this.pageContent.description = this.pageContent.description.replace(/]*?\\s+)?href=\"([^\"]*)\"([^>]*)>/g, '
');\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n \n\n ngOnInit(): void {\n this.loadHeaderEntries();\n this.loadBodyEntries();\n }\n\n}","\n
\n

{{pageHeader.heroImageTitle}}

\n
\n\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n \n
  3. \n {{ breadcrumb }}\n
  4. \n
    \n
\n
\n
\n
\n\n\n
\n
\n
\n\n

\n {{pageContent.header}}\n

\n\n
\n
\n\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { PageContentModel } from 'src/app/core/model/page-content.model';\nimport { PageHeaderContentModel } from 'src/app/core/model/page-header.model';\nimport { ContentfulService } from 'src/app/core/service/contentful.service';\n\n@Component({\n selector: 'app-tms',\n templateUrl: './tms.component.html',\n styleUrls: ['./tms.component.scss']\n})\nexport class TmsComponent implements OnInit {\n\n recipientEmail = 'info@linkex.us';\n pageContent!: PageContentModel;\n pageHeader!: PageHeaderContentModel;\n\n sendEmail() {\n const emailUrl = `mailto:${this.recipientEmail}`;\n window.location.href = emailUrl;\n }\n\n constructor(private contentfulService: ContentfulService, private sanitizer: DomSanitizer,) { }\n\n ngOnInit(): void {\n this.loadBodyEntries();\n this.loadHeaderEntries();\n }\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Transportation Management System Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader.breadCrumbs.split(',').map(breadcrumb => breadcrumb.trim());\n }\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'Transportation Management System Content').subscribe(\n (entry) => {\n this.pageContent = new PageContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n get leftSanitizedSection1Description(): SafeHtml {\n const htmlContent = this.pageContent.links[0].leftPanelLinks;\n const modifiedHtmlContent = htmlContent.replace(/(]*>.*?<\\/a>)/g, '$1');\n return this.sanitizer.bypassSecurityTrustHtml(modifiedHtmlContent);\n }\n\n get rightSanitizedSection1Description(): SafeHtml {\n const htmlContent = this.pageContent.links[0].rightPanelLinks;\n const sanitizedContent = htmlContent.replace(/<|>|"| /g, (match) => {\n const replacements = {\n '<': '<',\n '>': '>',\n '"': '\"',\n ' ': '',\n } as Record; // Type assertion here\n\n return replacements[match as keyof typeof replacements];\n }).replace(/]*>(.*?)<\\/p>/g, '$1').replace(/\\s* -->\n\n \n \n\n
\n\n
\n\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n \n \n\n
\n
\n\n
\n","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\nimport { PageContentModel } from 'src/app/core/model/page-content.model';\nimport { PageHeaderContentModel } from 'src/app/core/model/page-header.model';\nimport { ContentfulService } from 'src/app/core/service/contentful.service';\n\n@Component({\n selector: 'app-contract-logistics',\n templateUrl: './contract-logistics.component.html',\n styleUrls: ['./contract-logistics.component.scss']\n})\nexport class ContractLogisticsComponent implements OnInit {\n\n recipientEmail = 'dmiller@saia.com';\n pageHeader!: PageHeaderContentModel;\n pageContent!: PageContentModel;\n constructor(private router: Router, private contentfulService: ContentfulService, private sanitizer: DomSanitizer) { }\n routing() {\n this.router.navigate(['/linkex-tms']);\n }\n\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Contract Logistics Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n console.log(this.pageHeader)\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader.breadCrumbs.split(',').map(breadcrumb => breadcrumb.trim());\n }\n\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'Contract Logistics Content').subscribe(\n (entry) => {\n this.pageContent = new PageContentModel(entry);\n console.log(this.pageContent)\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n get sanitizedDescription(): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(this.pageContent.description);\n }\n sendEmail() {\n const emailUrl = `mailto:${this.recipientEmail}`;\n window.location.href = emailUrl;\n }\n\n\n\n ngOnInit(): void {\n this.loadHeaderEntries();\n this.loadBodyEntries();\n }\n\n}\n","\n
\n

{{pageHeader.heroImageTitle}}

\n
\n\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n \n
  3. \n {{ breadcrumb }}\n
  4. \n
    \n
\n
\n
\n
\n\n\n
\n
\n
\n

\n {{pageContent.header}}\n

\n\n \n\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { PageContentModel } from 'src/app/core/model/page-content.model';\nimport { PageHeaderContentModel } from 'src/app/core/model/page-header.model';\nimport { ContentfulService } from 'src/app/core/service/contentful.service';\n\n\n@Component({\n selector: 'app-customs-clearance',\n templateUrl: './customs-clearance.component.html',\n styleUrls: ['./customs-clearance.component.scss']\n})\nexport class CustomsClearanceComponent implements OnInit {\n pageContent!: PageContentModel;\n pageHeader!: PageHeaderContentModel;\n constructor(private contentfulService: ContentfulService, private sanitizer: DomSanitizer) { }\n\n ngOnInit(): void {\n this.loadBodyEntries();\n this.loadHeaderEntries();\n }\n\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Customs Clearance Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'Customs Clearance Content').subscribe(\n (entry) => {\n this.pageContent = new PageContentModel(entry);\n this.pageContent.description = this.pageContent.description.replace(/]*?\\s+)?href=\"([^\"]*)\"([^>]*)>/g, '');\n this.pageContent.description = this.pageContent.description.replace(/</g, '<');\n this.pageContent.description = this.pageContent.description.replace(/>/g, '>');\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader.breadCrumbs.split(',').map(breadcrumb => breadcrumb.trim());\n }\n get sanitizedDescription(): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(this.pageContent.description);\n }\n\n}\n","\n
\n

{{pageHeader.heroImageTitle}}

\n
\n\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n \n
  3. \n {{ breadcrumb }}\n
  4. \n
    \n
\n
\n
\n
\n\n\n
\n
\n
\n\n

\n {{pageContent.header}}\n

\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\nimport { PageContentModel } from 'src/app/core/model/page-content.model';\nimport { PageHeaderContentModel } from 'src/app/core/model/page-header.model';\nimport { ContentfulService } from 'src/app/core/service/contentful.service';\n\n@Component({\n selector: 'app-expedited',\n templateUrl: './expedited.component.html',\n styleUrls: ['./expedited.component.scss']\n})\nexport class ExpeditedComponent implements OnInit {\n\n pageHeader!: PageHeaderContentModel;\n pageContent!: PageContentModel;\n\n constructor(private router: Router, private contentfulService: ContentfulService, private sanitizer: DomSanitizer) { }\n\n ngOnInit(): void {\n this.loadHeaderEntries();\n this.loadBodyEntries();\n }\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Expedited Delivery Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader.breadCrumbs.split(',').map(breadcrumb => breadcrumb.trim());\n }\n\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'Expedited Delivery Content').subscribe(\n (entry) => {\n this.pageContent = new PageContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n get sanitizedDescription(): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(this.pageContent.description);\n }\n routing() {\n this.router.navigate(['/quote'], { queryParams: { tab: 1 }, skipLocationChange: false });\n }\n}\n","\n
\n

{{pageHeader.heroImageTitle}}

\n
\n\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n \n
  3. \n {{ breadcrumb }}\n
  4. \n
    \n
\n
\n
\n
\n\n\n
\n
\n
\n

\n {{pageContent.header}}\n

\n
\n\n
\n
\n
\n
\n
\n
\n
\n \"\"\n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\nimport { PageContentModel } from 'src/app/core/model/page-content.model';\nimport { PageHeaderContentModel } from 'src/app/core/model/page-header.model';\nimport { ContentfulService } from 'src/app/core/service/contentful.service';\n\n@Component({\n selector: 'app-final-mile',\n templateUrl: './final-mile.component.html',\n styleUrls: ['./final-mile.component.scss']\n})\nexport class FinalMileComponent implements OnInit {\n \n pageHeader!: PageHeaderContentModel;\n pageContent!: PageContentModel;\n\n constructor(private router: Router, private contentfulService: ContentfulService, private sanitizer: DomSanitizer) { }\n\n ngOnInit(): void {\n this.loadHeaderEntries();\n this.loadBodyEntries();\n }\n\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Final Mile Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader.breadCrumbs.split(',').map(breadcrumb => breadcrumb.trim());\n }\n\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'Final Mile Content').subscribe(\n (entry) => {\n this.pageContent = new PageContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n get sanitizedDescription(): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(this.pageContent.description);\n }\n \n routing() {\n this.router.navigate(['/quote'], { queryParams: { tab: 1 }, skipLocationChange: false });\n }\n}\n","\n
\n

{{pageHeader.heroImageTitle}}

\n
\n\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n \n
  3. \n {{ breadcrumb }}\n
  4. \n
    \n
\n
\n
\n
\n\n\n
\n
\n
\n

\n {{pageContent.header}}\n

\n
\n
\n\n
\n
\n
\n\n
\n
\n
\n \"\"\n
\n
\n\n
\n\n\n
\n
\n
","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatTabChangeEvent, MatTabGroup } from '@angular/material/tabs';\nimport { LinkexService } from '../linkex.service.service';\nimport { Subject } from 'rxjs';\nimport { DatePipe } from '@angular/common';\n\n@Component({\n selector: 'app-finalmile-questionnaire',\n templateUrl: './finalmile-questionnaire.component.html',\n styleUrls: ['./finalmile-questionnaire.component.scss']\n})\nexport class finalmileQuestionnaireComponent implements OnInit {\n\n @ViewChild('ngFinalMile') ngFinalMile: any;\n finalmileStatusError: boolean = false;\n finalmileStatus: boolean = false;\n loader: boolean = false;\n isFormSubmittedFinalMile: boolean = false;\n isFormSubmittedFinalMileApiError: boolean = false;\n apiResponse: any = {};\n minDate = new Date();\n minDateToFinish = new Subject();\n shipDate = new Date();\n\n today = new Date();\n constructor(private fb: FormBuilder, private service: LinkexService,) {\n this.minDateToFinish.subscribe(r => {\n this.shipDate = new Date(r);\n })\n }\n\n finalMile = this.fb.group({\n\n custName: ['', [Validators.required]],\n yourPhone: ['', [Validators.required]],\n custEmail: ['', [Validators.required, Validators.pattern('^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\\.[A-Za-z]{2,4}$')]],\n saiaSalesPerson: [''],\n saiaSalesPersonEmail: [''],\n projectStartDate: [''],\n projectEndDate: [''],\n expectedStartDateRecurring: [''],\n opportunityType: ['', [Validators.required]],\n projectScope: ['', [Validators.required]],\n historicalData: ['', [Validators.required]],\n currentCustomer: [''],\n saiaAccount: [''],\n additionalRelevant: [''],\n\n typeServiceFb: this.fb.group({\n delivery: false,\n pickup: false,\n }, { validators: this.typeOfService }),\n\n typeSiteFb: this.fb.group({\n residential: false,\n commercial: false,\n }, { validators: this.typeOfSite }),\n\n trasportationFb: this.fb.group({\n saiaLTL: false,\n linkExSourcedTL: false,\n customerSourced: false,\n }),\n\n commodityDescription: ['', [Validators.required]],\n hazardousMaterial: ['', [Validators.required]],\n\n finalMileFb: this.fb.group({\n notificationPro: false,\n unattendedDelivery: false,\n appointmentScheduling: false,\n liftGateDelivery: false,\n insidePickupDelivery: false,\n curbsideDelivery: false,\n thresholdGarageDelivery: false,\n roomOfChoice: false,\n flightOfStairs: false,\n manDelivery: false,\n unpackagingAssembly: false,\n debrisRemoval: false,\n assembly: false,\n inRoomPlacement: false,\n hookup: false,\n haulAway: false,\n disposalReturns: false,\n repairs: false\n }),\n\n })\n\n\n dateChange(e: { value: { toString: () => string } | null }) {\n const datePipe = new DatePipe('en-US');\n const formattedDate = e.value ? datePipe.transform(e.value.toString()) : null;\n if (formattedDate !== null) {\n this.minDateToFinish.next(formattedDate);\n }\n }\n\n typeOfService(group: FormGroup) {\n const checkboxes = [\n 'delivery',\n 'pickup',\n ];\n const checkedBoxes = checkboxes.map(controlName => group.controls[controlName].value);\n const atLeastOneChecked = checkedBoxes.some(Boolean);\n return atLeastOneChecked ? null : { required: true };\n }\n\n typeOfSite(group: FormGroup) {\n const checkboxes = [\n 'residential',\n 'commercial',\n ];\n const checkedBoxes = checkboxes.map(controlName => group.controls[controlName].value);\n const atLeastOneChecked = checkedBoxes.some(Boolean);\n return atLeastOneChecked ? null : { required: true };\n }\n\n expectedProject = false;\n recurringProject = false;\n opportunity(event: any) {\n if (event.value == 'fixedTermProject') {\n this.expectedProject = true;\n this.finalMile.controls['projectStartDate'].setValidators(Validators.required);\n this.finalMile.controls['projectEndDate'].setValidators(Validators.required);\n\n this.recurringProject = false;\n this.finalMile.controls['expectedStartDateRecurring'].clearValidators();\n this.finalMile.controls['expectedStartDateRecurring'].updateValueAndValidity();\n } else {\n if (event.value == 'recurringBusiness') {\n this.recurringProject = true;\n this.finalMile.controls['expectedStartDateRecurring'].setValidators(Validators.required);\n\n this.expectedProject = false;\n this.finalMile.controls['projectStartDate'].clearValidators();\n this.finalMile.controls['projectStartDate'].updateValueAndValidity();\n this.finalMile.controls['projectEndDate'].clearValidators();\n this.finalMile.controls['projectEndDate'].updateValueAndValidity();\n }\n }\n }\n\n\n saiaAccount = false;\n currentSaia(event: any) {\n if (event.value == 'Yes') {\n this.saiaAccount = true;\n } else {\n this.saiaAccount = false;\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter') {\n event.preventDefault();\n }\n }\n\n numberOnly(event: any) {\n const input = event.target as HTMLInputElement;\n const inputValue = input.value;\n input.value = inputValue.replace(/[^0-9 ]/g, '');\n }\n\n alphaOnly(event: any) {\n const input = event.target as HTMLInputElement;\n const inputValue = input.value;\n input.value = inputValue.replace(/[^0-9a-zA-Z ]/g, '');\n }\n\n clearFinalMileQuestionnaire(): any {\n this.finalmileStatusError = false;\n this.isFormSubmittedFinalMile = false;\n this.isFormSubmittedFinalMileApiError = false;\n this.finalMile.reset();\n }\n\n submitFinalMileQuestionnaire(): any {\n this.isFormSubmittedFinalMile = true;\n if (this.finalMile.invalid) {\n window.scrollTo(0, 0);\n this.finalmileStatusError = true;\n } else {\n window.scrollTo(0, 0);\n this.finalmileStatusError = false;\n }\n if (this.finalMile.status != 'VALID') return;\n const formValues = this.finalMile.value;\n const { typeServiceFb, typeSiteFb, trasportationFb, finalMileFb } = formValues;\n const typeService = [], typeSite = [], trasportation = [], finalMile = [];\n if (typeServiceFb.delivery) typeService.push('Delivery');\n if (typeServiceFb.pickup) typeService.push('Pickup');\n\n if (typeSiteFb.residential) typeSite.push('Residential');\n if (typeSiteFb.commercial) typeSite.push('Commercial');\n\n if (trasportationFb?.saiaLTL) trasportation.push('Saia LTL');\n if (trasportationFb?.linkExSourcedTL) trasportation.push('LinkEx-Sourced TL');\n if (trasportationFb?.customerSourced) trasportation.push('Customer Sourced');\n\n\n if (finalMileFb?.notificationPro) finalMile.push('Notification Prior to Delivery');\n if (finalMileFb?.unattendedDelivery) finalMile.push('Unattended Delivery');\n if (finalMileFb?.appointmentScheduling) finalMile.push('Appointment Scheduling');\n if (finalMileFb?.liftGateDelivery) finalMile.push('Lift Gate Delivery');\n if (finalMileFb?.insidePickupDelivery) finalMile.push('Inside Pickup Delivery');\n if (finalMileFb?.curbsideDelivery) finalMile.push('Curbside Delivery');\n if (finalMileFb?.thresholdGarageDelivery) finalMile.push('Threshold/Garage Delivery');\n if (finalMileFb?.roomOfChoice) finalMile.push('Room Of Choice');\n if (finalMileFb?.flightOfStairs) finalMile.push('Flight(s) Of Stairs');\n if (finalMileFb?.manDelivery) finalMile.push('2-Man/3-Man Delivery');\n if (finalMileFb?.unpackagingAssembly) finalMile.push('Unpackaging Assembly');\n if (finalMileFb?.debrisRemoval) finalMile.push('Debris Removal');\n if (finalMileFb?.assembly) finalMile.push('Assembly');\n if (finalMileFb?.inRoomPlacement) finalMile.push('In-Room Placement');\n if (finalMileFb?.hookup) finalMile.push('Hookup');\n if (finalMileFb?.haulAway) finalMile.push('Haul Away');\n if (finalMileFb?.disposalReturns) finalMile.push('Disposal/Returns');\n if (finalMileFb?.repairs) finalMile.push('Repairs');\n const opportunityType = formValues.opportunityType === 'fixedTermProject' ? 'Fixed-Term Project' : formValues.opportunityType === 'recurringBusiness' ? 'Recurring Business' : formValues.opportunityType;\n\n let payload = {\n customerName: formValues.custName,\n customerPhone: formValues.yourPhone,\n customerEmail: formValues.custEmail,\n saiaSalesPersonName: formValues.saiaSalesPerson,\n saiaSalesPersonEmail: formValues.saiaSalesPersonEmail,\n general: {\n opportunityToFixedOrRecurringBusiness: opportunityType,\n expectedProjectStartDate: formValues.projectStartDate,\n expectedProjectEndDate: formValues.projectEndDate,\n expectedStartDateForRecurringBusiness: formValues.expectedStartDateRecurring,\n projectScope: formValues.projectScope,\n isHistoricalSampleDataAvailable: formValues.historicalData,\n isCurrentSaiaCustomer: formValues.currentCustomer,\n saiaAccountNumber: formValues.saiaAccount,\n additionalConsiderations: formValues.additionalRelevant,\n },\n serviceDescription: {\n typeOfService: typeService,\n typeOfSite: typeSite,\n transportationToDestinationProvidedBy: trasportation\n },\n commodity: {\n commodityDescription: formValues.commodityDescription,\n anyHazardousMaterials: formValues.hazardousMaterial\n },\n finalMileServiceInteresets: finalMile\n }\n this.loader = true;\n this.finalmileStatus = false;\n this.isFormSubmittedFinalMileApiError = false;\n this.service.submitFinalMileQuestionnaire(payload).subscribe((result: any) => {\n this.loader = false;\n this.apiResponse = result;\n if (result.status === 'mail_sent') {\n this.finalmileStatus = true;\n this.isFormSubmittedFinalMile = false;\n this.finalMile.reset();\n this.ngFinalMile.resetForm();\n } else {\n this.isFormSubmittedFinalMileApiError = true;\n }\n }, error => {\n this.loader = false;\n this.isFormSubmittedFinalMileApiError = true;\n })\n }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n
\n
\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n
  3. \n Services\n
  4. \n
  5. \n Final Mile Questionnaire\n
  6. \n
\n
\n
\n
\n\n\n
\n
\n\n
\n
\n
\n

Final Mile QUESTIONNAIRE

\n
\n Error | Please fill out all highlighted form fields correctly and then try\n submitting again\n
\n\n
\n Thank you for submitting a quote request. Someone will get back to you shortly.\n
\n
\n {{apiResponse.message}}\n
\n
\n
\n
\n \n \n \n Enter Valid Customer Name \n \n
\n\n
\n \n \n \n Enter Valid Phone Number \n \n
\n
\n
\n
\n \n \n \n Enter Valid Email \n \n
\n
\n
\n
\n \n \n \n \n
\n\n
\n \n \n \n \n
\n
\n\n
\n
\n

\n General Questions\n

\n
\n
\n\n
\n
\n \n \n Fixed-term Project\n \n Recurring Business\n \n \n Select\n Opportunity Type\n \n
\n
\n\n
\n\n
\n
\n \n \n \n \n \n Select Expected start date\n \n
\n\n
\n \n \n \n \n \n Select Expected end date\n \n
\n
\n\n
\n
\n \n \n \n \n \n \n Select Expected start date\n \n
\n
\n\n
\n
\n \n \n \n Enter Project Scope\n \n
\n
\n\n\n
\n
\n \n \n Yes\n No\n \n Select Historical Data\n \n
\n
\n\n
\n\n
\n\n\n
\n
\n \n \n Yes\n No\n \n
\n\n
\n \n \n \n \n
\n
\n\n
\n\n
\n
\n \n \n \n \n
\n\n
\n\n
\n
\n

\n Service Description\n

\n
\n
\n\n
\n
\n \n \n Delivery\n \n Pickup\n \n \n\n \n Please select Type of Service\n \n
\n\n
\n \n \n \n Residential\n \n \n Commercial\n \n \n\n \n Please select Type of Site\n \n
\n
\n\n
\n\n
\n
\n \n \n Saia LTL\n \n \n LinkEx-sourced TL\n \n \n Customer Sourced\n \n \n
\n
\n\n
\n\n
\n
\n

\n Commodity\n

\n
\n
\n\n\n\n
\n
\n \n \n \n Enter Commodity Description\n \n
\n\n\n
\n \n \n Yes\n No\n \n Select Historical Data\n \n
\n
\n\n
\n\n\n
\n\n
\n
\n

\n Final Mile Service Interests\n

\n
\n\n
\n \n Notification Prior to Delivery info\n \n \n Unattended Delivery\n info\n \n \n Appointment\n Scheduling info\n \n \n Lift Gate Delivery\n info\n \n \n Inside Pickup or\n Delivery\n info\n \n \n Curbside Delivery\n info\n \n \n Threshold /\n Garage delivery\n info\n \n \n Room of Choice info\n \n Flight(s) of Stairs\n info\n \n \n 2-Man / 3-Man Delivery\n info\n \n \n Unpackaging or\n assembly info\n \n \n Debris Removal info\n \n \n Assembly info\n \n \n In-Room Placement info\n \n \n Hookup info\n \n \n Haul Away info\n \n \n Disposal / Returns\n info\n \n \n Repairs info\n \n \n
\n\n\n
\n\n
\n\n
\n
\n
\n \n
\n
\n \n
\n
\n\n

\n
\n\n
\n
\n
\n\n\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\nimport { PageContentModel } from 'src/app/core/model/page-content.model';\nimport { PageHeaderContentModel } from 'src/app/core/model/page-header.model';\nimport { ContentfulService } from 'src/app/core/service/contentful.service';\n\n@Component({\n selector: 'app-international',\n templateUrl: './international.component.html',\n styleUrls: ['./international.component.scss']\n})\nexport class InternationalComponent implements OnInit {\n\n pageHeader!: PageHeaderContentModel;\n pageContent!: PageContentModel;\n\n routing() {\n this.router.navigate(['/quote'], { queryParams: { tab: 'International' }, skipLocationChange: false });\n }\n\n constructor(private router: Router, private contentfulService: ContentfulService, private sanitizer: DomSanitizer) { }\n\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'International Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader.breadCrumbs.split(',').map(breadcrumb => breadcrumb.trim());\n }\n\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'International Content').subscribe(\n (entry) => {\n this.pageContent = new PageContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n get sanitizedDescription(): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(this.pageContent.description);\n }\n\n ngOnInit(): void {\n this.loadHeaderEntries();\n this.loadBodyEntries();\n }\n\n}\n","\n
\n

{{pageHeader.heroImageTitle}}

\n
\n\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n \n
  3. \n {{ breadcrumb }}\n
  4. \n
    \n
\n
\n
\n
\n\n\n
\n
\n
\n

\n {{pageContent.header}}\n

\n\n
\n
\n
\n
\n
\n
\n
\n\n
\n \"\"\n
\n\n
\n
\n\n
\n
\n
","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport {environment} from '../../environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LinkexService {\n\n private url = `${environment.apiUrl}/api/v1`;\n public trackingHistory:any = {}\n constructor(private httpClient: HttpClient) { }\n\n contactUs(body:any){\n return this.httpClient.post(this.url+'/contactus', body);\n }\n getQuotes(body:any){\n return this.httpClient.post(this.url+'/rateQuote', body);\n }\n submitWarehouseQuestionnaire(body:any){\n return this.httpClient.post(this.url+'/warehouse-questionnaire', body);\n }\n submitTruckloadRateQuotes(body:any){\n return this.httpClient.post(this.url+'/rateQuote/truckload', body);\n }\n submitExpeditedRateQuotes(body:any){\n return this.httpClient.post(this.url+'/rateQuote/expedited', body);\n }\n submitFinalMileCartageRateQuotes(body:any){\n return this.httpClient.post(this.url+'/rateQuote/finalMileAndCartage', body);\n }\n submitInternationalRateQuotes(body:any){\n return this.httpClient.post(this.url+'/rateQuote/international', body);\n }\n submitDrayageTransloadingRateQuotes(body:any){\n return this.httpClient.post(this.url+'/rateQuote/drayageTransloading', body);\n }\n submitFinalMileQuestionnaire(body:any){\n return this.httpClient.post(this.url+'/finalMileAndWhiteGloveQuestionnaire', body);\n }\n validateSaiaAccount(body:any){\n return this.httpClient.post(this.url+'/validate-customer', body);\n }\n submitLiveRateQuotesRequest(body:any){\n return this.httpClient.post(this.url+'/liveRateQuote', body);\n }\n submitTenderRequest(body:any): any {\n\t\treturn this.httpClient.post(this.url+'/quote-tendering', body);\n }\n trackShipment(body:any){\n return this.httpClient.post(this.url+'/tracking', body);\n }\n emailQuote(body:any){\n return this.httpClient.post(this.url+'/email-quote', body);\n }\n skipWeekendHoliday(body:any){\n return this.httpClient.post(this.url+'/skip-weekend-holiday', body);\n }\n getPreviousQuote(body:any){\n return this.httpClient.post(this.url+'/load-quote', body);\n }\n downloadFile(fileUrl:string): any {\n\t\treturn this.httpClient.get(fileUrl, {responseType: 'blob'});\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { PageContentModel } from 'src/app/core/model/page-content.model';\nimport { PageHeaderContentModel } from 'src/app/core/model/page-header.model';\nimport { ContentfulService } from 'src/app/core/service/contentful.service';\n\n@Component({\n selector: 'app-pool-distribution',\n templateUrl: './pool-distribution.component.html',\n styleUrls: ['./pool-distribution.component.scss']\n})\nexport class PoolDistributionComponent implements OnInit {\n\n pageHeader!: PageHeaderContentModel;\n pageContent!: PageContentModel;\n recipientEmail = 'dmiller@saia.com';\n\n sendEmail() {\n const emailUrl = `mailto:${this.recipientEmail}`;\n window.location.href = emailUrl;\n }\n\n constructor(private contentfulService: ContentfulService, private sanitizer: DomSanitizer) { }\n\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Pool Distribution Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader.breadCrumbs.split(',').map(breadcrumb => breadcrumb.trim());\n }\n\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'Pool Distribution Content').subscribe(\n (entry) => {\n this.pageContent = new PageContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n get sanitizedDescription(): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(this.pageContent.description);\n }\n\n ngOnInit(): void {\n this.loadHeaderEntries();\n this.loadBodyEntries();\n }\n\n}\n","\n
\n

{{pageHeader.heroImageTitle}}

\n
\n\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n \n
  3. \n {{ breadcrumb }}\n
  4. \n
    \n
\n
\n
\n
\n\n\n
\n
\n
\n

\n {{pageContent.header}}\n

\n\n
\n\n
\n\n
\n
\n
\n
\n
\n\n\n
\n
\n\n
\n \"\"\n
\n\n
\n\n
\n\n\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { PageContentModel } from 'src/app/core/model/page-content.model';\nimport { PageHeaderContentModel } from 'src/app/core/model/page-header.model';\nimport { ContentfulService } from 'src/app/core/service/contentful.service';\n\n@Component({\n selector: 'app-service-offering',\n templateUrl: './service-offering.component.html',\n styleUrls: ['./service-offering.component.scss']\n})\nexport class ServiceOfferingComponent implements OnInit {\n\n entry: any;\n contentfulSysFields: any;\n pageContent!: PageContentModel;\n pageHeader!: PageHeaderContentModel;\n accordionSubArray: any = []\n constructor(private contentfulService: ContentfulService, private sanitizer: DomSanitizer,) {\n this.contentfulSysFields = this.contentfulService.getContentfulSysFields();\n }\n ngOnInit(): void {\n this.loadBodyEntries();\n this.loadHeaderEntries();\n }\n\n // loadBodyEntries() {\n // this.contentfulService.getEntry('pageInsights', 'Service Offering Content').subscribe(\n // (entry) => {\n\n // this.pageContent = new PageContentModel(entry);\n // console.log(this.pageContent);\n\n // if (this.pageContent && this.pageContent.accordion && this.pageContent.accordion.accordionItems) {\n // let chunkSize = 4;\n // this.accordionSubArray = Array.from({ length: Math.ceil(this.pageContent.accordion.accordionItems.length / chunkSize) }, (_, i) =>\n // this.pageContent.accordion.accordionItems.slice(i * chunkSize, i * chunkSize + chunkSize)\n // );\n // }\n // }, error => {\n // console.error('Error fetching entries:', error);\n // });\n // }\n\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Service Offering Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'Service Offering Content').subscribe(\n (entry) => {\n this.pageContent = new PageContentModel(entry);\n // console.log(this.pageContent);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader.breadCrumbs.split(',').map(breadcrumb => breadcrumb.trim());\n }\n\n get leftSanitizedDescription(): SafeHtml {\n const htmlContent = this.pageContent.links[0].leftPanelLinks;\n const modifiedHtmlContent = htmlContent.replace(/(]*>.*?<\\/a>)/g, '$1 arrow_forward');\n return this.sanitizer.bypassSecurityTrustHtml(modifiedHtmlContent);\n }\n\n get rightSanitizedDescription(): SafeHtml {\n const htmlContent = this.pageContent.links[0].rightPanelLinks;\n const modifiedHtmlContent = htmlContent.replace(/(]*>.*?<\\/a>)/g, '$1 arrow_forward');\n return this.sanitizer.bypassSecurityTrustHtml(modifiedHtmlContent);\n }\n\n}\n","
\n

{{pageHeader.heroImageTitle}}

\n
\n\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n \n
  3. \n {{ breadcrumb }}\n
  4. \n
    \n
\n
\n
\n
\n\n\n
\n
\n
\n

\n {{pageContent.header}}\n

\n\n
\n
\n
\n\n \n
\n
\n
\n
\n\n \n
\n
\n
\n\n
\n
\n
\n\n\n\n
\n \"\"\n
","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\nimport { PageContentModel } from 'src/app/core/model/page-content.model';\nimport { PageHeaderContentModel } from 'src/app/core/model/page-header.model';\nimport { ContentfulService } from 'src/app/core/service/contentful.service';\n\n@Component({\n selector: 'app-transloading',\n templateUrl: './transloading.component.html',\n styleUrls: ['./transloading.component.scss']\n})\nexport class TransloadingComponent implements OnInit {\n\n pageHeader!: PageHeaderContentModel;\n pageContent!: PageContentModel;\n\n routing() {\n this.router.navigate(['/quote'], { queryParams: { tab: 'Drayage-and-Transloading' }, skipLocationChange: false });\n }\n\n constructor(private router: Router, private contentfulService: ContentfulService, private sanitizer: DomSanitizer) { }\n\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Drayage/Transloading Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader.breadCrumbs.split(',').map(breadcrumb => breadcrumb.trim());\n }\n\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'Drayage/Transloading Content').subscribe(\n (entry) => {\n this.pageContent = new PageContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n get sanitizedDescription(): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(this.pageContent.description);\n }\n\n ngOnInit(): void {\n this.loadHeaderEntries();\n this.loadBodyEntries();\n }\n\n}\n","\n
\n

{{pageHeader.heroImageTitle}}

\n
\n\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n \n
  3. \n {{ breadcrumb }}\n
  4. \n
    \n
\n
\n
\n
\n\n\n
\n
\n
\n

\n {{pageContent.header}}\n

\n\n
\n\n
\n\n
\n
\n
\n\n
\n
\n\n
\n \"\"\n
\n\n
\n\n
\n\n\n\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\nimport { PageContentModel } from 'src/app/core/model/page-content.model';\nimport { PageHeaderContentModel } from 'src/app/core/model/page-header.model';\nimport { ContentfulService } from 'src/app/core/service/contentful.service';\n\n@Component({\n selector: 'app-truckload-brokerage',\n templateUrl: './truckload-brokerage.component.html',\n styleUrls: ['./truckload-brokerage.component.scss']\n})\nexport class TruckloadBrokerageComponent implements OnInit {\n\n routing() {\n this.router.navigate(['/quote'], { queryParams: { tab: 0 }, skipLocationChange: false });\n }\n pageHeader!: PageHeaderContentModel;\n pageContent!: PageContentModel;\n\n constructor(private router: Router, private contentfulService: ContentfulService, private sanitizer: DomSanitizer) { }\n\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Truckload Brokerage Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n console.log(this.pageHeader)\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader.breadCrumbs.split(',').map(breadcrumb => breadcrumb.trim());\n }\n\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'Truckload Brokerage Content').subscribe(\n (entry) => {\n this.pageContent = new PageContentModel(entry);\n console.log(this.pageContent)\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n get sanitizedDescription(): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(this.pageContent.description);\n }\n ngOnInit(): void {\n this.loadHeaderEntries();\n this.loadBodyEntries();\n }\n\n}\n","\n
\n

{{pageHeader.heroImageTitle}}

\n
\n\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n \n
  3. \n {{ breadcrumb }}\n
  4. \n
    \n
\n
\n
\n
\n\n\n
\n
\n
\n

\n {{pageContent.header}}\n

\n\n
\n
\n
\n
\n
\n
\n
\n\n
\n \"\"\n
\n\n
\n\n
\n\n\n\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\nimport { PageContentModel } from 'src/app/core/model/page-content.model';\nimport { PageHeaderContentModel } from 'src/app/core/model/page-header.model';\nimport { ContentfulService } from 'src/app/core/service/contentful.service';\n\n@Component({\n selector: 'app-warehousing',\n templateUrl: './warehousing.component.html',\n styleUrls: ['./warehousing.component.scss']\n})\nexport class WarehousingComponent implements OnInit {\n\n pageHeader!: PageHeaderContentModel;\n pageContent!: PageContentModel;\n\n routing() {\n this.router.navigate(['/quote'], { queryParams: { tab: 'Warehousing' }, skipLocationChange: false });\n }\n\n constructor(private router: Router, private contentfulService: ContentfulService, private sanitizer: DomSanitizer) { }\n\n loadHeaderEntries() {\n this.contentfulService.getEntry('pageHeader', 'Warehousing Header').subscribe(\n (entry) => {\n this.pageHeader = new PageHeaderContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n getBreadcrumbs(): string[] {\n return this.pageHeader.breadCrumbs.split(',').map(breadcrumb => breadcrumb.trim());\n }\n\n loadBodyEntries() {\n this.contentfulService.getEntry('pageInsights', 'Warehousing Content').subscribe(\n (entry) => {\n this.pageContent = new PageContentModel(entry);\n }, error => {\n console.error('Error fetching entries:', error);\n });\n }\n\n get sanitizedDescription(): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(this.pageContent.description);\n }\n\n ngOnInit(): void {\n this.loadHeaderEntries();\n this.loadBodyEntries();\n }\n\n}\n","\n
\n

{{pageHeader.heroImageTitle}}

\n
\n\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n \n
  3. \n {{ breadcrumb }}\n
  4. \n
    \n
\n
\n
\n
\n\n\n
\n
\n
\n

\n {{pageContent.header}}\n

\n\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n\n
\n \"\"\n
\n\n
\n
\n
","import { Directive, Input, ElementRef, Renderer2, OnChanges, SimpleChanges } from '@angular/core';\n\n@Directive({\n selector: '[heroImage]'\n})\nexport class ImageDirective implements OnChanges {\n @Input() heroImage: string | undefined;\n\n constructor(private el: ElementRef, private renderer: Renderer2) { }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['heroImage'] && this.heroImage) {\n this.renderer.setStyle(this.el.nativeElement, 'background-image', `url('${this.heroImage}')`);\n }\n }\n}\n","export const contentful = {\n ID: 'id',\n CONTENT_TYPE: 'contentType',\n};\n","import { Component, Input, Renderer2, ElementRef, OnInit, forwardRef, Output, EventEmitter, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'app-time-picker',\n templateUrl: './time-picker.component.html',\n styleUrls: ['./time-picker.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TimePickerComponent),\n multi: true,\n },\n ]\n})\nexport class TimePickerComponent implements OnInit, ControlValueAccessor {\n\n @Input() label: string = '';\n @Input() instance: string = '';\n @Input() minumumTime: string = '';\n @Input() maximumTime: string = '';\n\n @Input() isAM!: boolean;\n @Output() isAMChange = new EventEmitter();\n\n @Input() inputTime: string = '';\n @Output() inputTimeChange = new EventEmitter();\n @Output() onTimeChange = new EventEmitter(); // Event to emit the selected time\n\n //For validation s\n @Output() validationMessageEmitter = new EventEmitter();\n regExp: any = /^[0-9]{1,2}:[0-9]{1,2}$/;\n errorMessage: string = '';\n\n @Input() isError: boolean = false;\n @Output() isErrorChange = new EventEmitter();\n\n onChange!: (inputTime: string) => void;\n\n\n onPeriodChange(isPeriodAM: boolean) {\n this.isAM = isPeriodAM;\n this.isAMChange.emit(this.isAM);\n\n // Emit the selected period\n\n this.validateTimeWithin();\n this.onTimeChange.emit(this.instance);\n this.onChange((this.inputTime.toString() + (this.isAM ? ' AM' : ' PM')));\n\n // Emit the selected time\n //this.timeSelected.emit(this.timeInput);\n }\n\n onSelectedTimeChange(event: Event) {\n const inputElement = event.target as HTMLInputElement;\n let value = inputElement.value;\n\n // Remove non-numeric characters and limit the length to 5 characters\n value = value.replace(/[^\\d]/g, '').slice(0, 5);\n\n // Ensure that the value contains at least one digit\n const containsDigits = /\\d/.test(value);\n\n // If there are no digits, set the value to an empty string\n if (!containsDigits) {\n value = '';\n }\n\n // Format the value as \"hh:mm\" with colons in fixed positions\n if (value.length === 4) {\n value = value.slice(0, 2) + ':' + value.slice(2, 4);\n } else if (value.length === 3) {\n value = value.slice(0, 1) + ':' + value.slice(1, 3);\n }\n\n // Set the input value to the formatted value\n inputElement.value = value;\n\n // Store the formatted value in this.timeInput\n this.inputTime = value;\n this.inputTimeChange.emit(this.inputTime);\n\n // Emit the timeSelected event\n this.onTimeChange.emit(this.instance);\n this.validateTimeWithin();\n this.onChange((this.inputTime.toString() + (this.isAM ? ' AM' : ' PM')));\n }\n\n constructor(private renderer: Renderer2, private el: ElementRef, private cdr: ChangeDetectorRef) { }\n\n writeValue(value: any): void {\n }\n\n validateTimeWithin() {\n if (!this.inputTime) {\n this.errorMessage = 'Input is required. Please enter a time value (hh:mm)';\n } else {\n // Regular expression to match the desired format (hh:mm with numbers only)\n\n if (!this.regExp.test(this.inputTime)) {\n this.errorMessage = 'Invalid input. Please enter a valid time format (hh:mm)';\n } else {\n const [hours, minutes] = this.inputTime.split(':').map(Number);\n\n if (hours > 12 || minutes > 59) {\n this.errorMessage = 'Invalid time. Hours should be 1-12, and minutes should be 0-59.';\n } else {\n this.errorMessage = ''; // Clear the validation message for valid input\n }\n }\n }\n if (this.errorMessage === '') {\n if (this.minumumTime) {\n if (this.regExp.test(this.inputTime) && Date.parse('01/01/0001 ' + this.inputTime + (this.isAM ? ' AM' : ' PM')) < Date.parse('01/01/0001 ' + this.formatTime(this.minumumTime))) {\n this.errorMessage = 'Invalid time. The time must be after 08:00 AM';\n }\n }\n if (this.maximumTime) {\n if (this.regExp.test(this.inputTime) && Date.parse('01/01/0001 ' + this.inputTime + (this.isAM ? ' AM' : ' PM')) > Date.parse('01/01/0001 ' + this.formatTime(this.maximumTime))) {\n this.errorMessage = 'Invalid time. The time must not be after 5:00 PM.';\n }\n }\n }\n\n this.isError = this.errorMessage ? true : false;\n this.isErrorChange.emit(this.isError);\n }\n\n reset(time: string, isAM: boolean) {\n this.inputTime = time;\n this.isAM = isAM;\n this.errorMessage = '';\n this.onTimeChange.emit(this.instance);\n this.inputTimeChange.emit(this.inputTime);\n this.onChange((this.inputTime.toString() + (this.isAM ? ' AM' : ' PM')));\n }\n\n formatTime(timeString: string) {\n const [hourString, minute] = timeString.split(\":\");\n const hour = +hourString % 24;\n return (hour % 12 || 12) + \":\" + minute + (hour < 12 ? \" AM\" : \" PM\");\n }\n\n registerOnChange(fn: (inputTime: string) => void) {\n this.onChange = fn;\n this.onChange((this.inputTime.toString() + (this.isAM ? ' AM' : ' PM')));\n }\n\n\n registerOnTouched(fn: any): void {\n // Save the function that should be called when the input is touched\n }\n\n setDisabledState(isDisabled: boolean): void {\n // Handle disabling your form control if needed\n }\n\n ngOnInit(): void {\n\n }\n\n ngOnChanges() {\n // Update toggleAM based on input properties. \n }\n\n}\n","
\n \n
\n \n \n \n \n \n \n \n
\n {{ errorMessage }}\n
","import { Component, OnInit, Input, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'app-timepicker',\n templateUrl: './timepicker.component.html',\n styleUrls: ['./timepicker.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TimepickerComponent),\n multi: true\n }\n ]\n})\nexport class TimepickerComponent implements OnInit {\n\n @Input() label: string = '';\n\n // Internal values for time components\n selectedHour: number | null = null;\n selectedMinute: number | null = null;\n selectedPeriod: string | null = null;\n\n hours: number[] = Array.from({ length: 12 }, (_, i) => i + 1);\n minutes: number[] = Array.from({ length: 60 }, (_, i) => i);\n periods: string[] = ['AM', 'PM'];\n\n // ControlValueAccessor methods\n private onChange: (value: any) => void = () => { };\n private onTouch: () => void = () => { };\n\n writeValue(value: any): void {\n console.log('Received value:', value);\n if (value) {\n this.selectedHour = value.selectedHour;\n this.selectedMinute = value.selectedMinute;\n this.selectedPeriod = value.selectedPeriod;\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n // Methods to update values and propagate changes\n updateHour(hour: number) {\n this.selectedHour = hour;\n this.propagateChanges();\n }\n\n updateMinute(minute: number) {\n this.selectedMinute = minute;\n this.propagateChanges();\n }\n\n updatePeriod(period: string) {\n this.selectedPeriod = period;\n this.propagateChanges();\n }\n\n private propagateChanges() {\n this.onChange({\n selectedHour: this.selectedHour,\n selectedMinute: this.selectedMinute,\n selectedPeriod: this.selectedPeriod\n });\n this.onTouch();\n }\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n
\n \n \n {{ hour }}\n \n \n \n \n {{ minute }}\n \n \n \n \n {{ period }}\n \n \n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-sitemap',\n templateUrl: './sitemap.component.html',\n styleUrls: ['./sitemap.component.scss']\n})\nexport class SitemapComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n
\n

Site map

\n
\n\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n
  3. \n Site map\n
  4. \n
\n
\n
\n
\n\n\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { LinkexService } from '../../services/linkex.service.service';\nimport { saveAs } from 'file-saver';\nimport { jsPDF } from 'jspdf';\nimport 'jspdf-autotable';\nimport { DatePipe } from '@angular/common';\n\n@Component({\n selector: 'app-details',\n templateUrl: './details.component.html',\n styleUrls: ['./details.component.scss']\n})\nexport class DetailsComponent implements OnInit {\n loader: boolean = false\n constructor(private route: ActivatedRoute, private service: LinkexService, private datePipe: DatePipe) { }\n shipOrder: string = '';\n trackingDetails: any = {};\n isInfoAvailable: boolean = false;\n private pdf: any;\n interlineToShowDefaultContact = false;\n interlineToWebsite: string = '';\n private yMargin = 0;\n ngOnInit(): void {\n this.route.queryParams\n .subscribe(params => {\n this.shipOrder = params['shipOrder'];\n const payload = {\n ids: [this.shipOrder]\n }\n if (!this.shipOrder) {\n return\n }\n this.loader = true\n this.service.trackShipment(payload).subscribe((response: any) => {\n this.loader = false\n if (response.success) {\n this.isInfoAvailable = true;\n this.trackingDetails = response.information;\n let history = [{\n date: this.trackingDetails?.PickUpDateTime?.split(' ')[0],\n time: this.trackingDetails?.PickUpDateTime?.split(' ')[1],\n location: this.trackingDetails.ShipperAddress.State + ',' + this.trackingDetails.ShipperAddress.CountryCode,\n activity: 'Pick Up'\n }]\n if (this.trackingDetails.Status === 'Delivered') {\n history.unshift({\n date: this.trackingDetails?.DeliveryDateTime?.split(' ')[0],\n time: this.trackingDetails?.DeliveryDateTime?.split(' ')[1],\n location: this.trackingDetails.ConsigneeAddress.State + ',' + this.trackingDetails.ConsigneeAddress.CountryCode,\n activity: this.trackingDetails.Status\n })\n } else {\n if (this.trackingDetails.Status != 'Rated') {\n history.unshift({\n date: this.trackingDetails?.PickUpDateTime?.split(' ')[0],\n time: this.trackingDetails?.PickUpDateTime?.split(' ')[1],\n location: 'In Transit',\n activity: 'In Transit'\n })\n }\n }\n this.trackingDetails.history = history;\n } else {\n this.isInfoAvailable = false;\n }\n });\n\n }\n );\n }\n\n formatTime(time: string): string {\n const [hours, minutes] = time.split(':');\n let formattedTime = '';\n\n let formattedHours = parseInt(hours);\n const amPm = formattedHours >= 12 ? 'PM' : 'AM';\n formattedHours = formattedHours % 12 || 12;\n\n formattedTime = `${formattedHours}:${minutes} ${amPm}`;\n return formattedTime;\n }\n\n getStatusText(): string {\n return this.trackingDetails.Status === 'Rated' ? 'Pending Pickup' : this.trackingDetails.Status;\n }\n private downloadTrackingDocument(): void {\n if (!this.pdf) {\n this.createPdfForIe();\n }\n this.pdf.save('Linkex Tracking SO ' + this.shipOrder + '.pdf');\n }\n private createPdfForIe() {\n this.pdf = new jsPDF({ orientation: 'portrait', unit: 'pt', format: 'letter' });\n this.setPdfFont('Helvetica', 'regular', 10, '#212529');\n this.addHeaderToPdf();\n this.yMargin = 1.65;\n this.addShipperAndConsigneeToPdf();\n this.yMargin += 1;\n this.addBillToAndDeliveryInfoPdf();\n this.yMargin += 1.25;\n this.addDeliveryAndShipmentInfoToPdf();\n this.yMargin += 1;\n this.addTotalShipmentInfoToPdf();\n this.yMargin += 1.25;\n this.addHistoryDetailsToPdf();\n this.yMargin += 1.25;\n this.addProofDeliveryDetailsToPdf()\n this.yMargin = this.pointToInches(this.pdf.autoTableEndPosY()) + .25;\n if (this.yMargin >= 10.5) {\n this.pdf.addPage();\n this.yMargin = .5;\n }\n }\n printTrackingDocument(): void {\n if (!this.pdf) {\n this.createPdfForIe();\n }\n const pdfData = this.pdf.output('datauristring');\n const iframe = '';\n let newWindow = window.open();\n newWindow?.document.open();\n newWindow?.document.write(iframe);\n newWindow?.document.close();\n }\n private setPdfFont(name: string, style: string, size?: number, color?: string) {\n this.pdf.setFont(name, style);\n this.pdf.setFontSize(size);\n this.pdf.setTextColor(color);\n }\n private addHeaderToPdf() {\n const img = new Image;\n // tslint:disable-next-line:max-line-length\n const dataURL = 'data:image/png;base64,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';\n const statusText = this.trackingDetails.Status;//this.getById('status-text');\n // const statusTime = this.trackingDetails.DeliveryDateTime ? this.datePipe.transform(this.trackingDetails.DeliveryDateTime, \"MM/dd/yyyy hh:mm a z\") : this.trackingDetails. DeliveryDateTime; //this.getById('status-time');\n\n const statusTime = this.trackingDetails.DeliveryDateTime ? this.datePipe.transform(this.trackingDetails.DeliveryDateTime, \"MM/dd/yyyy hh:mm\") : this.trackingDetails.DeliveryDateTime; //this.getById('status-time');\n const interlineToAgent_name = this.getById('interlineToAgent_name');\n const interlineToPhone_number = this.getById('interlineToPhone_number');\n const interlineToWebsite = this.getById('interlineToWebsite');\n\n let statusFullText = '';\n if (statusText) {\n statusFullText += statusText.trim() + '\\r\\n';\n }\n if (statusTime) {\n statusFullText += statusTime.trim();\n }\n\n let statusFullTextAddtional = '';\n // If no interline phone number/email/ website then do show agent name too\n if (interlineToAgent_name && (interlineToPhone_number || interlineToWebsite)) {\n statusFullTextAddtional += '\\n' + 'TO SCHEDULE APPOINTMENT CONTACT: ' + interlineToAgent_name.innerText.trim() + '\\r';\n }\n if (this.interlineToShowDefaultContact) {\n statusFullTextAddtional += '\\n' + 'TO SCHEDULE APPOINTMENT CALL: ' + 'CUSTOMER SERVICE: (800)765-7242' + '\\r';\n }\n if (interlineToPhone_number) {\n statusFullTextAddtional += + '\\n' + interlineToPhone_number.innerText.trim();\n }\n if (interlineToWebsite) {\n statusFullTextAddtional += ' : ' + this.interlineToWebsite.trim();\n }\n img.src = dataURL;\n img.crossOrigin = 'Anonymous';\n\n this.pdf.addImage(img.src, 'png', this.inchesToPoint(0.5), this.inchesToPoint(0.5),\n this.inchesToPoint(.85), this.inchesToPoint(.80), 'saia-logo', 'NONE', 0);\n\n this.setPdfFont('Helvetica', 'bold', 20, '#212529');\n this.pdf.text(`Tracking Status - PRO ${this.shipOrder}`, this.inchesToPoint(1.75), this.inchesToPoint(.85));\n\n this.setPdfFont('Helvetica', 'normal', 10, '#212529');\n this.pdf.text(statusFullText, this.inchesToPoint(1.75), this.inchesToPoint(1.1));\n this.setPdfFont('Helvetica', 'normal', 9, '#212529');\n if (statusFullTextAddtional !== '') {\n this.pdf.text(statusFullTextAddtional, this.inchesToPoint(1.75), this.inchesToPoint(1.1));\n }\n this.setPdfFont('Helvetica', 'normal', 10, '#212529');\n const saiaGuaranteed = document.getElementById('saia-guaranteed-text');\n if (saiaGuaranteed) {\n const sgText = saiaGuaranteed.innerText.trim();\n this.setPdfFont('Helvetica', 'bold', 8, '#212529');\n this.pdf.setDrawColor('#ffa70d');\n this.pdf.setFillColor('#ffa70d');\n const sgWidth = this.pdf.getTextWidth(sgText);\n\n this.pdf.roundedRect(this.inchesToPoint(5), this.inchesToPoint(1.1),\n sgWidth + 10, this.pdf.getFontSize() * 2 + .5, 7.5, 7.5, 'FD');\n this.pdf.text(this.inchesToPoint(5) + 5, this.inchesToPoint(1.1) + (this.pdf.getFontSize() * 1.3), sgText);\n\n this.pdf.setDrawColor('#ffffff');\n this.pdf.setFillColor('#ffffff');\n\n }\n }\n\n private addShipperAndConsigneeToPdf() {\n const shipperName = this.trackingDetails.ShipperAddress.Name;\n const shipperAddressLine1 = this.trackingDetails.ShipperAddress.Address1;\n const shipperAddressLine2 = this.trackingDetails.ShipperAddress.Address2;\n const shipperCityStateZip = this.trackingDetails.ShipperAddress.City + ',' + this.trackingDetails.ShipperAddress.State + ',' + this.trackingDetails.ShipperAddress.PostalCode;\n let shipperText = '\\r\\n';\n if (shipperName) {\n shipperText += shipperName.trim() + '\\r\\n';\n }\n if (shipperAddressLine1) {\n shipperText += shipperAddressLine1.trim() + '\\r\\n';\n }\n if (shipperAddressLine2) {\n shipperText += shipperAddressLine2.trim() + '\\r\\n';\n }\n if (shipperCityStateZip) {\n shipperText += shipperCityStateZip.trim() + '\\r\\n';\n }\n\n const consigneeName = this.trackingDetails.ConsigneeAddress.Name;\n const consigneeAddressLine1 = this.trackingDetails.ConsigneeAddress.Address1;\n const consigneeAddressLine2 = this.trackingDetails.ConsigneeAddress.Address2;\n const consigneeCityStateZip = this.trackingDetails.ConsigneeAddress.City + ',' + this.trackingDetails.ConsigneeAddress.State + ',' + this.trackingDetails.ConsigneeAddress.PostalCode;;\n let consigneeText = '\\r\\n';\n if (consigneeName) {\n consigneeText += consigneeName.trim() + '\\r\\n';\n }\n if (consigneeAddressLine1) {\n consigneeText += consigneeAddressLine1.trim() + '\\r\\n';\n }\n if (consigneeAddressLine2) {\n consigneeText += consigneeAddressLine2.trim() + '\\r\\n';\n }\n if (consigneeCityStateZip) {\n consigneeText += consigneeCityStateZip.trim() + '\\r\\n';\n }\n\n const headerY = this.yMargin;\n const textY = this.yMargin + 0.05;\n\n this.setPdfFont('Helvetica', 'bold', 12, '#212529');\n this.pdf.text('SHIPPER', this.inchesToPoint(.5), this.inchesToPoint(headerY));\n this.pdf.text('CONSIGNEE', this.inchesToPoint(5), this.inchesToPoint(headerY));\n\n this.setPdfFont('Helvetica', 'normal', 10, '#212529');\n this.pdf.text(shipperText, this.inchesToPoint(.5), this.inchesToPoint(textY));\n this.pdf.text(consigneeText, this.inchesToPoint(5), this.inchesToPoint(textY));\n }\n\n private addBillToAndDeliveryInfoPdf() {\n\n const billToName = this.trackingDetails.BillAddress.Name;\n let billTo = '\\r\\n';\n if (billToName) {\n billTo += billToName.trim() + '\\r\\n';\n }\n let shipperRefNo = this.trackingDetails.ShipperRefNumber;\n let consigneeRefNo = this.trackingDetails.ConsigneeRefNumber;\n let shipmentInfo = `\\n\\r\n Shipper Ref Number: ${shipperRefNo}\\n\\r\n Consignee Ref Number:${consigneeRefNo}\\n\\r\n `;\n let headerY = this.yMargin;\n let textY = this.yMargin + 0.05;\n\n this.setPdfFont('Helvetica', 'bold', 12, '#212529');\n this.pdf.text('BILL TO ', this.inchesToPoint(.5), this.inchesToPoint(headerY));\n // this.pdf.text('', this.inchesToPoint(4), this.inchesToPoint(headerY));\n\n this.setPdfFont('Helvetica', 'normal', 10, '#212529');\n this.pdf.text(billTo, this.inchesToPoint(.5), this.inchesToPoint(textY));\n this.pdf.text(shipmentInfo, this.inchesToPoint(5), this.inchesToPoint(textY), { maxWidth: 250 });\n }\n private addDeliveryAndShipmentInfoToPdf() {\n const headerY = this.yMargin;\n const tableY = headerY + .1;\n this.setPdfFont('Helvetica', 'bold', 12, '#212529');\n this.pdf.text('SHIPMENT INFORMATION', this.inchesToPoint(.5), this.inchesToPoint(headerY));\n this.setPdfFont('Helvetica', 'normal', 10, '#212529');\n const shipmentDetailsTable = this.pdf.autoTableHtmlToJson(this.getById('shipment-information'));\n this.pdf.autoTable(\n shipmentDetailsTable.columns,\n shipmentDetailsTable.rows,\n {\n startY: this.inchesToPoint(tableY),\n theme: 'plain',\n columnStyles: {\n 0: {\n halign: 'left',\n cellWidth: '40%'\n },\n 1: {\n halign: 'left',\n cellWidth: '12%'\n },\n 2: {\n halign: 'left',\n cellWidth: '12%'\n },\n 3: {\n halign: 'left',\n cellWidth: '12%'\n },\n 4: {\n halign: 'left',\n cellWidth: '12%'\n }\n },\n styles: {\n overflow: 'linebreak',\n cellWidth: 'wrap',\n lineColor: [219, 219, 219],\n lineWidth: .5,\n fontSize: 7,\n cellPadding: 1\n },\n bodyStyles: {\n fillColor: [255, 255, 255],\n textColor: 0\n },\n alternateRowStyles: {\n fillColor: [242, 242, 242]\n },\n drawHeaderRow: ((row: any, data: any) => {\n row.cells[0].styles.halign = 'left';\n row.cells[1].styles.halign = 'left';\n row.cells[2].styles.halign = 'left';\n row.cells[3].styles.halign = 'left';\n row.cells[4].styles.halign = 'left';\n })\n }\n );\n }\n private addTotalShipmentInfoToPdf() {\n const headerY = this.yMargin;\n let tableY = 0;\n if (this.trackingDetails.LineItems.length >= 15) {\n this.yMargin += 2;\n tableY = headerY + 2.5;\n } else if (this.trackingDetails.LineItems.length >= 10) {\n this.yMargin += 1.5;\n tableY = headerY + 1.5;\n } else if (this.trackingDetails.LineItems.length >= 7) {\n tableY = headerY + .3;\n } else {\n tableY = headerY + .1;\n }\n\n this.setPdfFont('Helvetica', 'bold', 12, '#212529');\n this.setPdfFont('Helvetica', 'normal', 10, '#212529');\n const shipmentDetailsTable = this.pdf.autoTableHtmlToJson(this.getById('total-shipment-information'));\n this.pdf.autoTable(\n shipmentDetailsTable.columns,\n shipmentDetailsTable.rows,\n {\n startY: this.inchesToPoint(tableY),\n theme: 'plain',\n columnStyles: {\n 0: {\n halign: 'left',\n cellWidth: '40%'\n },\n 1: {\n halign: 'left',\n cellWidth: '12%'\n },\n 2: {\n halign: 'left',\n cellWidth: '12%'\n },\n 3: {\n halign: 'left',\n cellWidth: '12%'\n },\n 4: {\n halign: 'left',\n cellWidth: '12%'\n }\n },\n styles: {\n overflow: 'linebreak',\n cellWidth: 'wrap',\n lineColor: [219, 219, 219],\n lineWidth: .5,\n fontSize: 7,\n cellPadding: 1\n },\n bodyStyles: {\n fillColor: [255, 255, 255],\n textColor: 0\n },\n alternateRowStyles: {\n fillColor: [242, 242, 242]\n },\n drawHeaderRow: ((row: any, data: any) => {\n row.cells[0].styles.halign = 'left';\n row.cells[1].styles.halign = 'left';\n row.cells[2].styles.halign = 'left';\n row.cells[3].styles.halign = 'left';\n row.cells[4].styles.halign = 'left';\n })\n }\n );\n }\n private addHistoryDetailsToPdf() {\n const headerY = this.yMargin;\n const tableY = headerY + .1;\n this.setPdfFont('Helvetica', 'bold', 12, '#212529');\n this.pdf.text('SHIPMENT HISTORY', this.inchesToPoint(.5), this.inchesToPoint(headerY));\n this.setPdfFont('Helvetica', 'normal', 10, '#212529');\n const shipmentDetailsTable = this.pdf.autoTableHtmlToJson(this.getById('shipment-history'));\n this.pdf.autoTable(\n shipmentDetailsTable.columns,\n shipmentDetailsTable.rows,\n {\n startY: this.inchesToPoint(tableY),\n theme: 'plain',\n columnStyles: {\n 0: {\n halign: 'left',\n cellWidth: '40%'\n },\n 1: {\n halign: 'left',\n cellWidth: '12%'\n },\n 2: {\n halign: 'left',\n cellWidth: '12%'\n },\n 3: {\n halign: 'left',\n cellWidth: '12%'\n }\n },\n styles: {\n overflow: 'linebreak',\n cellWidth: 'wrap',\n lineColor: [219, 219, 219],\n lineWidth: .5,\n fontSize: 7,\n cellPadding: 1\n },\n bodyStyles: {\n fillColor: [255, 255, 255],\n textColor: 0\n },\n alternateRowStyles: {\n fillColor: [242, 242, 242]\n },\n drawHeaderRow: ((row: any, data: any) => {\n row.cells[0].styles.halign = 'left';\n row.cells[1].styles.halign = 'left';\n row.cells[2].styles.halign = 'left';\n row.cells[3].styles.halign = 'left';\n })\n }\n );\n }\n\n private addProofDeliveryDetailsToPdf() {\n const headerY = this.yMargin;\n const tableY = headerY + .1;\n this.setPdfFont('Helvetica', 'bold', 12, '#212529');\n this.pdf.text('PROOF OF DELIVERY', this.inchesToPoint(.5), this.inchesToPoint(headerY));\n this.setPdfFont('Helvetica', 'normal', 10, '#212529');\n const shipmentDeliveryDetailsTable = this.pdf.autoTableHtmlToJson(this.getById('proof-delivery'));\n this.pdf.autoTable(\n shipmentDeliveryDetailsTable.columns,\n shipmentDeliveryDetailsTable.rows,\n {\n startY: this.inchesToPoint(tableY),\n theme: 'plain',\n columnStyles: {\n 0: {\n halign: 'left',\n cellWidth: 100\n },\n 1: {\n halign: 'left',\n cellWidth: 100\n }\n },\n styles: {\n overflow: 'linebreak',\n cellWidth: 'wrap',\n lineColor: [219, 219, 219],\n lineWidth: .5,\n fontSize: 7,\n cellPadding: 1\n },\n bodyStyles: {\n fillColor: [255, 255, 255],\n textColor: 0\n },\n alternateRowStyles: {\n fillColor: [242, 242, 242]\n },\n drawHeaderRow: ((row: any, data: any) => {\n row.cells[0].styles.halign = 'left';\n row.cells[1].styles.halign = 'left';\n })\n }\n );\n }\n\n\n private getById(id: string) {\n return document.getElementById(id);\n }\n private inchesToPoint(inches: number) {\n return Number(inches) * 72;\n }\n private pointToInches(point: number) {\n return Number(point) / 72;\n }\n downLoadFiles(): any {\n this.downloadTrackingDocument();\n this.trackingDetails.documents.forEach((document: any) => {\n this.service.downloadFile(document.documentLink).subscribe((filedata: any) => {\n let blob: any = new Blob([filedata], { type: \"application/pdf\" });\n saveAs(blob, document.documentName);\n });\n })\n }\n}\n","
\n
\n
\n
\n
\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n
  3. \n Track\n
  4. \n
  5. \n Details\n
  6. \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n

\n SO NUMBER | {{shipOrder}}\n

\n
\n \n PICKUP DATE | {{trackingDetails.PickUpDateTime}}\n
\n
\n {{ getStatusText() }}\n
\n\n\n
\n ON {{trackingDetails.DeliveryDateTime}}\n
\n \n
\n Estimated Delivery Date {{trackingDetails.EarliestEstimatedDelivery|\n slice:0:10}}{{trackingDetails.EarliestEstimatedDelivery|\n slice:10}} - {{trackingDetails.LatestEstimatedDelivery|\n slice:10}}\n \n
\n
\n
\n
\n\n

\n\n
\n
\n
\n In Transit\n \n lens\n \n
\n
\n Delivered\n \n \"\"\n
\n
\n \n
\n \n
\n In Transit\n \n lens\n \n
\n \n \n \n
\n
\n
\n
\n
\n
\n
\n SHIPPER\n
\n
\n {{trackingDetails.ShipperAddress.Name}}
\n {{trackingDetails.ShipperAddress.Address1}}
\n {{trackingDetails.ShipperAddress.Address2}}
\n {{trackingDetails.ShipperAddress.City}},\n {{trackingDetails.ShipperAddress.State}}\n {{trackingDetails.ShipperAddress.PostalCode}}\n
\n
\n
\n
\n
\n
\n CONSIGNEE\n
\n
\n {{trackingDetails.ConsigneeAddress.Name}}
\n {{trackingDetails.ConsigneeAddress.Address1}}
\n {{trackingDetails.ConsigneeAddress.Address2}}
\n {{trackingDetails.ConsigneeAddress.City}},\n {{trackingDetails.ConsigneeAddress.State}}\n {{trackingDetails.ConsigneeAddress.PostalCode}}\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n Bill To\n
\n
\n {{trackingDetails.BillAddress.Name}}
\n {{trackingDetails.BillAddress.Address1}}
{{trackingDetails.BillAddress.Address2}}
\n {{trackingDetails.BillAddress.City}}, {{trackingDetails.BillAddress.State\n }}, {{trackingDetails.BillAddress.PostalCode}}\n
\n
\n
\n
\n
\n
\n Status: {{ getStatusText() }}
\n SO Number: {{trackingDetails.ShippingOrder}}
\n Shipper Ref Number: {{trackingDetails.ShipperRefNumber}}
\n Consignee Ref Number: {{trackingDetails.ConsigneeRefNumber}}
\n Billing Ref Number: {{trackingDetails.BillingRefNumber}}\n
\n
\n
\n
\n
\n
\n\n

\n\n
\n
\n\n \n \n \n \n
Shipment Information
\n
\n
\n\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Item ID\n \n Dimensions\n \n Description\n \n Qty\n \n Qty UOM\n
\n {{lineItem.Type}}\n \n {{lineItem.Length}} x {{lineItem.Width}} x {{lineItem.Height}}\n \n {{lineItem.Contents}}\n \n {{lineItem.Quantity}}\n \n {{lineItem.QuantityUom}}\n
\n
\n\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Total Pieces\n \n Total Actual Weight\n \n Total Chargeable Weight\n
\n {{trackingDetails.TotalPieces}}\n \n {{trackingDetails.TotalWeight}} lb\n \n \n {{trackingDetails.TotalChargedWeight}} lb\n
\n
\n\n

\n\n
\n\n \n \n \n
History
\n
\n
\n\n
\n\n
\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n
\n Date\n \n Time\n \n Location\n \n Activity\n
\n {{history.date}}\n \n \n {{history.time}}\n \n {{history.location}}\n \n {{history.activity}}\n
\n
\n\n

\n\n
\n\n \n \n \n
Proof of Delivery
\n
\n
\n\n\n
\n\n
\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n\n
\n Date\n \n Signed By\n
\n \n \n {{trackingDetails.DeliveryDateTime}}\n \n {{trackingDetails.ProofOfDeliverySignature}}\n
\n
\n\n

\n\n\n\n
\n\n\n \n \n \n
Documents
\n
\n
\n\n
\n\n \n
\n No documents found\n
\n
\n\n\n
\n \n\n \n \n \n \n \n \n 0; else noDocument\">\n \n \n \n \n \n\n
\n Name\n \n Link\n
\n {{document.documentName.split('.')[0]}}\n \n link \n
\n\n
\n\n\n
\n\n\n
\n\n
\n
\n\n\n\n
\n
\n\n \n\n \n\n
\n
\n\n\n

\n\n
\n
\n\n
\n
\n\n
\n
\n\n
\n
\n \n\n \n
\n
\n\n
\n
\n
\n
","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { LinkexService } from '../../services/linkex.service.service';\nimport { AppComponent } from 'src/app/app.component';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { MatTableDataSource } from '@angular/material/table';\ninterface Search {\n value: string;\n viewValue: string;\n}\n\nexport interface TrackingDetails {\n sonumber: string;\n status: string;\n pickupdate: string;\n deliverydate: string;\n datedelivered: string;\n deliverywindow: string;\n consignee: string;\n isFound: boolean;\n}\n\n@Component({\n selector: 'app-track',\n templateUrl: './track.component.html',\n styleUrls: ['./track.component.scss']\n})\nexport class TrackComponent implements OnInit, OnDestroy {\n\n constructor(private fb: FormBuilder, private service: LinkexService, private appLoader: AppComponent, private route: ActivatedRoute, private router: Router) {\n this.previousUrl = this.router.getCurrentNavigation()?.previousNavigation?.finalUrl?.toString()\n }\n track = this.fb.group({\n ids: ['', [Validators.required]],\n searchBy: ['', [Validators.required]]\n })\n private trackingIds: any;\n private previousUrl: any;\n submitDisabled = false;\n loader: boolean = false;\n TrackingColumns: string[] = ['sonumber', 'status', 'pickupdate', 'deliverydate', 'datedelivered', 'deliverywindow', 'consignee'];\n dataSource = new MatTableDataSource();\n search: Search[] = [\n { value: 'So-number', viewValue: 'SO Number' },\n // {value: 'Shipper-ref-number', viewValue: 'Shipper Ref Number'},\n // {value: 'Billing-ref-number', viewValue: 'Billing Ref Number'},\n ];\n ngOnDestroy(): void {\n this.service.trackingHistory = {\n trackingData: this.dataSource.data,\n trackingIds: this.trackingIds\n };\n }\n\n formatTime(time: string): string {\n const [startTime, endTime] = time.split(' - ');\n const formattedStartTime = this.formatSingleTime(startTime);\n const formattedEndTime = this.formatSingleTime(endTime);\n return `${formattedStartTime} - ${formattedEndTime}`;\n }\n\n formatSingleTime(time: string): string {\n const timeObj = new Date(`1970-01-01T${time}`);\n const formattedTime = timeObj.toLocaleString('en-US', {\n hour: 'numeric',\n minute: 'numeric',\n hour12: true,\n });\n return formattedTime;\n }\n\n ngOnInit(): void {\n if (this.previousUrl?.startsWith('/details')) {\n let sourcedata: TrackingDetails[] = this.service.trackingHistory?.trackingData;\n this.dataSource.data = sourcedata;\n this.trackingIds = this.service.trackingHistory.trackingIds;\n this.track.controls['ids'].setValue(this.trackingIds);\n this.track.controls['searchBy'].setValue('So-number');\n } else {\n this.route.queryParams\n .subscribe(params => {\n this.track.controls['ids'].setValue(params['shipOrder']);\n this.track.controls['searchBy'].setValue('So-number');\n this.onSubmit();\n });\n }\n }\n onSubmit(): any {\n if (this.track.status === 'INVALID') return\n this.submitDisabled = true\n const formData = this.track.value;\n this.trackingIds = formData.ids;\n let trackingIds = formData.ids?.split(/[\\n, ]/)\n trackingIds = trackingIds?.filter((so) => so != '');\n const payload: any = {\n ids: trackingIds,\n searchBy: formData.searchBy\n }\n this.dataSource.data = [];\n this.loader = true;\n this.service.trackShipment(payload).subscribe((response: any) => {\n this.submitDisabled = false;\n this.loader = false;\n let sourceData: TrackingDetails[] = [];\n if (!Array.isArray(response)) {\n if (response.success) {\n let data: TrackingDetails = {\n isFound: true,\n sonumber: response.information.ShippingOrder,\n status: response.information.Status,\n pickupdate: response.information.PickUpDateTime,\n deliverydate: response.information.EarliestEstimatedDelivery.split(\" \")[0],\n datedelivered: response.information.DeliveryDateTime,\n deliverywindow: response.information.EarliestEstimatedDelivery.split(\" \")[1] + ' - ' + response.information.LatestEstimatedDelivery.split(\" \")[1],\n consignee: response.information.ConsigneeAddress.Name\n }\n sourceData.push(data)\n } else {\n let data: TrackingDetails = {\n isFound: false,\n sonumber: payload.ids[0],\n status: response.message,\n pickupdate: '',\n deliverydate: '',\n datedelivered: '',\n deliverywindow: '',\n consignee: ''\n }\n sourceData.push(data)\n }\n this.dataSource.data = sourceData;\n } else {\n response.forEach((info, index) => {\n if (info.success) {\n let data: TrackingDetails = {\n isFound: true,\n sonumber: info.information.ShippingOrder,\n status: info.information.Status,\n pickupdate: info.information.PickUpDateTime,\n deliverydate: info.information.EarliestEstimatedDelivery.split(\" \")[0],\n datedelivered: info.information.DeliveryDateTime,\n deliverywindow: info.information.EarliestEstimatedDelivery.split(\" \")[1] + ' - ' + info.information.LatestEstimatedDelivery.split(\" \")[1],\n consignee: info.information.ConsigneeAddress.Name\n }\n sourceData.push(data)\n } else {\n let data: TrackingDetails = {\n isFound: false,\n sonumber: payload.ids[index],\n status: info.message,\n pickupdate: '',\n deliverydate: '',\n datedelivered: '',\n deliverywindow: '',\n consignee: ''\n }\n sourceData.push(data)\n }\n });\n this.dataSource.data = sourceData;\n }\n }, (error) => {\n this.submitDisabled = false\n this.loader = false;\n });\n }\n clear(): void {\n this.track.reset()\n this.dataSource.data = [];\n }\n}\n","
\n
\n
\n
\n
\n\n
\n
\n
\n
    \n
  1. \n home\n
  2. \n
  3. \n Track\n
  4. \n
\n
\n
\n
\n\n\n
\n
\n
\n\n
\n\n
\n
\n \n \n \n \n {{search.viewValue}}\n \n \n \n Please select option\n \n \n
\n
\n\n
\n
\n \n \n \n \n Enter Valid SO Number\n \n \n
\n
\n\n
\n
\n
\n \n
\n
\n \n
\n
\n\n
\n\n

\n
0\">\n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n\n \n \n\n
SO Number {{element.sonumber}}\n {{element.sonumber}}\n Status\n {{'Pending Pickup'}}\n \n {{element.status}}\n Pickup Date {{element.pickupdate}} Estimated Delivery Date {{element.deliverydate}} Date Delivered {{element.datedelivered}} Delivery Window {{ formatTime(element.deliverywindow) }} Consignee {{element.consignee}}
\n
\n\n
\n
\n
","export const environment = {\n production: true,\n apiUrl: 'https://api.linkex.us',\n GA_TRACKING_ID: 'G-EKJP6B6XW4',\n GTM_CONTAINER_ID: 'GTM-P7Q8C8N',\n space: 'ah9y293bwjbs',\n accessToken: 'A2UbAh3voWH5hR55jrIHcaapYI1Kfa-Bv4oY3OoHp4Q',\n environment: 'master',\n recaptcha: {\n siteKey: '6Lfj4eopAAAAABZfw3DVQKrJEULDq8Gwc1JXa2_4'\n }\n};\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-ps\": 46235,\n\t\"./ar-ps.js\": 46235,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn-bd\": 90557,\n\t\"./bn-bd.js\": 90557,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 19878,\n\t\"./en-ca.js\": 19878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-mx\": 12584,\n\t\"./es-mx.js\": 12584,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku-kmr\": 19619,\n\t\"./ku-kmr.js\": 19619,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 42500,\n\t\"./tg.js\": 42500,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":["Router","i0","AppComponent","constructor","router","ngOnInit","selectors","decls","vars","consts","template","jsPDF","html2canvas","xml2json","BillOfLadingComponent","formBuilder","location","storedData","localStorage","getItem","bolData","JSON","parse","getCurrentNavigation","extras","state","setItem","stringify","totalItems","tenderPayload","items","reduce","accu","item","Number","quantity","totalWeight","weight","bolInfo","xmlResponse","bolTenderdata","compact","spaces","base64info","atob","data","_text","shipmentDistance","MercuryGate","MasterBillOfLading","Shipments","Shipment","PriceSheets","PriceSheet","Carrier","Distance","exeDistance","ExecutionLoads","distance","toFixed","bol","group","frightChargeItem","masterBillofLading","trailerLoaded","freightCounted","subscribe","event","forward","printBolDocument","pdf","createPdfForIe","htmlData","getById","style","background","pdfData","output","iframe","newWindow","window","open","document","write","close","downloadBOL","save","resp","customerLoadNum","addTableInfoToPdf","id","headerY","yMargin","tableY","setPdfFont","that","then","canvas","fileWidth","fileHeight","height","width","FILEURI","toDataURL","position","addImage","undefined","name","size","color","setFont","setFontSize","setTextColor","getElementById","ctx","DatePipe","ChangeDetectorRef","SimpleChanges","QueryList","AbstractControl","FormArray","FormBuilder","FormGroup","Validators","moment","TimePickerComponent","ctx_r1","TlTenderQuoteComponent","service","datePipe","cdr","value","viewValue","Bundle","Boxes","Cases","Crates","Carton","Drums","Pieces","Pallets","pickupCompanyName","pickupAddressline1","pickupAddressline2","pickupContactName","pickupPhone","pickupEmail","deliveryCompanyName","deliveryAddress1","deliveryAddress2","deliveryContact","deliveryPhone","deliveryEmail","specialInstruction","billingReference","liveRateQuoteData","originalTotalWeight","requestData","cmbtpSaiaAccountData","saiaAccountData","Object","keys","forEach","key","trim","CMNAME","CMMAD1","CMMCIT","CMMST","CMMZIP","billTo","address1","address2","CMMAD2","city","country","zip","zp4","CMMZP4","CMADR1","CMCITY","CMST","CMZIP","CMADR2","CMZIP4","locationCode","CMBTP","saiaAccountNumber","pickupDateValue","pickup","date","dateParts","split","formattedPickupDate","deliveryDateValue","quote","expectedDeliveryDate","datePartsDelivery","formattedDeliveryDate","today","Date","earliestPickupDate","getHours","getMinutes","toDate","timeDiff","getTime","tlTenderQuote","pickupDate","earliestPickupSI","eptValue","required","latestPickupSI","lptValue","pickupShipperCity","pickupShipperState","pickupShipperZip","email","deliveryDate","earliestDeliveryCI","edtValue","latestDeliveryCI","ldtValue","deliveryCity","dropoff","deliveryState","deliveryZip","freightDetails","array","createFreightFormGroup","shipperReference","consigneeReference","freightDetailsArray","get","controls","control","index","characterCount","freightDetailsAsFormArray","isInitials","weightArray","push","itemArray","freightDescription","packageType","max","weightLimitValidator","bind","pieces","dimensions","inputValidator","hazmat","isHazmat","addControl","newIndex","length","i","freightDescriptionControl","at","packageTypeControl","weightControl","piecesControl","clearValidators","markAsUntouched","onlySelf","removeControl","pop","totalItem","removeAt","console","log","handleValidationMessage","instanceId","message","validationMessages","onTimeChange","isFormSubmittedTruckloadApiError","timeError","eptError","lptError","startTime","eptAM","endTime","lptAM","hourDiff","scrollTo","tenderResponse","edtError","ldtError","edtAM","ldtAM","submitTenderRequest","formValues","detectChanges","transform","tenderFormStatusError","formArray","hasEmptyFieldsInFormArray","freightDescriptionArray","setValidators","updateValueAndValidity","invalid","hasEmptyFields","timeErrorMessage","status","references","type","refNum","isPrimary","dimension","toLowerCase","sequence","freightClass","replace","weightUnits","quantityType","mgPackageTypes","isStackable","units","earliestPickup","latestPickup","earliestDelivery","latestDelivery","loader","payload","companyAccountNumber","source","mode","quoteID","dbDocumentId","payment","method","address","customerAcctNum","addrLine1","addrLine2","stateProvince","postalCode","countryCode","contacts","yourName","contactMethods","sequenceNum","text","yourEmail","yourPhone","earliest","latest","comment","quoteDbItem","result","error","statusCode","addGA4Event","errorMessage","tenderFormValue","navigate","controlName","hasOwnProperty","hasValidator","skipWeekendHoliday","Promise","resolve","reject","nextDate","validateTime","time","pattern","test","resetForm","timeComponentRef","element","instance","reset","setValue","setErrors","dimensionsControl","values","some","dimensionsPattern","invalidDimensions","maxWeight","enteredValue","parseInt","isNaN","addWeight","target","addPieces","alphaOnly","input","inputValue","numberOnly","commaNumberOnly","parsedValue","toLocaleString","ngOnChanges","changes","updateCharacterCount","updateCharacterCountDescription","controlIndex","viewQuery"],"sourceRoot":"webpack:///","x_google_ignoreList":[95]}