mirror of
				https://github.com/Telecominfraproject/oopt-gnpy-web-gui.git
				synced 2025-10-31 18:18:01 +00:00 
			
		
		
		
	Removed unwanted files - 1
This commit is contained in:
		| @@ -1,3 +0,0 @@ | |||||||
| { |  | ||||||
|   "CurrentProjectSetting": null |  | ||||||
| } |  | ||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.vs/slnx.sqlite
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.vs/slnx.sqlite
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -1,195 +0,0 @@ | |||||||
| { |  | ||||||
|   "project": { |  | ||||||
|     "network_platform_layout": [ |  | ||||||
|       "ANSI", |  | ||||||
|       "ETSI" |  | ||||||
|     ], |  | ||||||
|     "eqpt_config_file_path": "https://uatassess.hiremee.co.in/Data/eqpt_config.json" |  | ||||||
|   }, |  | ||||||
|   "node": { |  | ||||||
|     "site_length": 20, |  | ||||||
|     "dir": "../Assets/img/", |  | ||||||
|     "roadm_type": [ |  | ||||||
|       "Default" |  | ||||||
|     ], |  | ||||||
|  |  | ||||||
|     "Roadm": { |  | ||||||
|       "is_degree_validation": false, |  | ||||||
|       "default": { |  | ||||||
|         "label": "Site ", |  | ||||||
|         "FV_label": "ROADM ", |  | ||||||
|         "node_degree": 100, |  | ||||||
|         "node_type": "Roadm", |  | ||||||
|         "roadm_type": "", |  | ||||||
|         "pre_amp_type": "", |  | ||||||
|         "booster_type": "", |  | ||||||
|         "component_type": "node" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     "ILA": { |  | ||||||
|       "is_degree_validation": true, |  | ||||||
|       "default": { |  | ||||||
|         "label": "Site ", |  | ||||||
|         "FV_label": "ILA ", |  | ||||||
|         "node_degree": 2, |  | ||||||
|         "node_type": "Amplifier", |  | ||||||
|         "amp_category": "ILA", |  | ||||||
|         "pre_amp_type": "", |  | ||||||
|         "booster_type": "", |  | ||||||
|         "component_type": "node" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     "Amplifier": { |  | ||||||
|       "is_degree_validation": true, |  | ||||||
|       "default": { |  | ||||||
|         "label": "Site ", |  | ||||||
|         "FV_label": "Amplifier ", |  | ||||||
|         "node_degree": 2, |  | ||||||
|         "node_type": "Amplifier", |  | ||||||
|         "amp_category": "Amplifier", |  | ||||||
|         "pre_amp_type": "", |  | ||||||
|         "component_type": "node" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     "RamanAmplifier": { |  | ||||||
|       "is_degree_validation": true, |  | ||||||
|       "default": { |  | ||||||
|         "label": "Site ", |  | ||||||
|         "FV_label": "RamanAmp ", |  | ||||||
|         "node_degree": 2, |  | ||||||
|         "node_type": "Amplifier", |  | ||||||
|         "amp_category": "RamanAmplifier", |  | ||||||
|         "pre_amp_type": "", |  | ||||||
|         "component_type": "node" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     "Fused": { |  | ||||||
|       "is_degree_validation": true, |  | ||||||
|       "default": { |  | ||||||
|         "label": "Site ", |  | ||||||
|         "FV_label": "Attenuator ", |  | ||||||
|         "node_degree": 2, |  | ||||||
|         "node_type": "Fused", |  | ||||||
|         "pre_amp_type": "none", |  | ||||||
|         "booster_type": "none", |  | ||||||
|         "component_type": "node" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     "Transceiver": { |  | ||||||
|       "is_degree_validation": false, |  | ||||||
|       "default": { |  | ||||||
|         "label": "TCVR ", |  | ||||||
|         "FV_label": "Transceiver ", |  | ||||||
|         "node_degree": 100, |  | ||||||
|         "node_type": "Transceiver", |  | ||||||
|         "transceiver_type": "", |  | ||||||
|         "transceiver_mode": "", |  | ||||||
|         "component_type": "node" |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   "DualFiber": { |  | ||||||
|     "component_type": "Fiber", |  | ||||||
|     "fiber_category": "Dual Fiber", |  | ||||||
|     "fiber_type": [ |  | ||||||
|       "SSMF", |  | ||||||
|       "LOF", |  | ||||||
|       "NZDF" |  | ||||||
|     ], |  | ||||||
|     "SSMF": { |  | ||||||
|       "CD_coefficient": 16.7 |  | ||||||
|     }, |  | ||||||
|     "LOF": { |  | ||||||
|       "CD_coefficient": 22.0 |  | ||||||
|     }, |  | ||||||
|     "NZDF": { |  | ||||||
|       "CD_coefficient": 5.0 |  | ||||||
|     }, |  | ||||||
|     "default": { |  | ||||||
|       "fiber_type": "SSMF", |  | ||||||
|       "CD_coefficient": 16.7, |  | ||||||
|       "PMD_coefficient": 0.0400028124, |  | ||||||
|       "Span_length": 1.0, |  | ||||||
|       "Loss_coefficient": 0.25, |  | ||||||
|       "Connector_in": 0.0, |  | ||||||
|       "Connector_out": 0.0, |  | ||||||
|       "Ageing_loss": 0.0, |  | ||||||
|       "Length_based_loss": false, |  | ||||||
|       "Span_loss": 0.0 |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   "SingleFiber": { |  | ||||||
|     "component_type": "Fiber", |  | ||||||
|     "fiber_category": "Single Fiber", |  | ||||||
|     "fiber_type": [ |  | ||||||
|       "SSMF", |  | ||||||
|       "LOF", |  | ||||||
|       "NZDF" |  | ||||||
|     ], |  | ||||||
|     "SSMF": { |  | ||||||
|       "CD_coefficient": 16.7 |  | ||||||
|     }, |  | ||||||
|     "LOF": { |  | ||||||
|       "CD_coefficient": 22.0 |  | ||||||
|     }, |  | ||||||
|     "NZDF": { |  | ||||||
|       "CD_coefficient": 5.0 |  | ||||||
|     }, |  | ||||||
|     "default": { |  | ||||||
|       "fiber_type": "SSMF", |  | ||||||
|       "CD_coefficient": 16.7, |  | ||||||
|       "PMD_coefficient": 0.0400028124, |  | ||||||
|       "Span_length": 1.0, |  | ||||||
|       "Loss_coefficient": 0.25, |  | ||||||
|       "Connector_in": 0.0, |  | ||||||
|       "Connector_out": 0.0, |  | ||||||
|       "Ageing_Loss": 0.0, |  | ||||||
|       "Length_based_loss": false, |  | ||||||
|       "Span_loss": 0.0 |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|  |  | ||||||
|   "Service": { |  | ||||||
|     "component_type": "Service", |  | ||||||
|     "service_type": [ |  | ||||||
|       "OpenROADM MSA ver. 4.0" |  | ||||||
|     ], |  | ||||||
|     "data_rate": [ |  | ||||||
|       "100G DP-QPSK", |  | ||||||
|       "200G DP-QPSK", |  | ||||||
|       "300G DP-8QAM", |  | ||||||
|       "400G DP-16QAM" |  | ||||||
|     ], |  | ||||||
|     "100G DP-QPSK": [ |  | ||||||
|       "27.95", |  | ||||||
|       "31.57" |  | ||||||
|     ], |  | ||||||
|     "200G DP-QPSK": [ |  | ||||||
|       "63.1" |  | ||||||
|     ], |  | ||||||
|     "300G DP-8QAM": [ |  | ||||||
|       "63.1" |  | ||||||
|     ], |  | ||||||
|     "400G DP-16QAM": [ |  | ||||||
|       "63.1" |  | ||||||
|     ], |  | ||||||
|     "Central_frequency": [ |  | ||||||
|       "Auto" |  | ||||||
|     ], |  | ||||||
|     "Grid_spacing_min": "Baud-rate", |  | ||||||
|     "Grid_spacing_max": "150GHz", |  | ||||||
|     "default": { |  | ||||||
|       "service_type": "OpenROADM MSA ver. 4.0", |  | ||||||
|       "Frequency_min": 0.0400028124, |  | ||||||
|       "Frequency_max": 1.0, |  | ||||||
|       "Data_rate": "100G DP-QPSK", |  | ||||||
|       "Baud_rate": 27.95, |  | ||||||
|       "Grid_spacing": "50GHz", |  | ||||||
|       "band_width": 100 |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|  |  | ||||||
|   "Patch": { |  | ||||||
|     "component_type": "Patch" |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| @@ -1,771 +0,0 @@ | |||||||
| { |  | ||||||
|   "tip-photonic-equipment:amplifier": [ |  | ||||||
|     { |  | ||||||
|       "type": "high_detail_model_example", |  | ||||||
|       "gain-min": "15.0", |  | ||||||
|       "frequency-min": "191.35", |  | ||||||
|       "frequency-max": "196.1", |  | ||||||
|       "gain-flatmax": "25.0", |  | ||||||
|       "max-power-out": "21.0", |  | ||||||
|       "has-output-voa": false, |  | ||||||
|       "polynomial-NF": { |  | ||||||
|         "a": "0.000168241", |  | ||||||
|         "b": "0.0469961", |  | ||||||
|         "c": "0.0359549", |  | ||||||
|         "d": "5.82851" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type": "Juniper_BoosterHG", |  | ||||||
|       "gain-min": "10.0", |  | ||||||
|       "frequency-min": "191.4", |  | ||||||
|       "frequency-max": "196.1", |  | ||||||
|       "gain-flatmax": "25.0", |  | ||||||
|       "max-power-out": "21.0", |  | ||||||
|       "has-output-voa": false, |  | ||||||
|       "polynomial-NF": { |  | ||||||
|         "a": "0.0008", |  | ||||||
|         "b": "0.0272", |  | ||||||
|         "c": "-0.2249", |  | ||||||
|         "d": "6.4902" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type": "operator_model_example", |  | ||||||
|       "gain-min": "15.0", |  | ||||||
|       "frequency-min": "191.35", |  | ||||||
|       "frequency-max": "196.1", |  | ||||||
|       "gain-flatmax": "26.0", |  | ||||||
|       "max-power-out": "23.0", |  | ||||||
|       "has-output-voa": false, |  | ||||||
|       "min-max-NF": { |  | ||||||
|         "nf-min": "6.0", |  | ||||||
|         "nf-max": "10.0" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type": "openroadm_ila_low_noise", |  | ||||||
|       "gain-min": "0.0", |  | ||||||
|       "frequency-min": "191.35", |  | ||||||
|       "frequency-max": "196.1", |  | ||||||
|       "gain-flatmax": "27.0", |  | ||||||
|       "max-power-out": "22.0", |  | ||||||
|       "has-output-voa": false, |  | ||||||
|       "OpenROADM-ILA": { |  | ||||||
|         "a": "-0.0008104", |  | ||||||
|         "b": "-0.06221", |  | ||||||
|         "c": "-0.5889", |  | ||||||
|         "d": "37.62" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type": "openroadm_ila_standard", |  | ||||||
|       "gain-min": "0.0", |  | ||||||
|       "frequency-min": "191.35", |  | ||||||
|       "frequency-max": "196.1", |  | ||||||
|       "gain-flatmax": "27.0", |  | ||||||
|       "max-power-out": "22.0", |  | ||||||
|       "has-output-voa": false, |  | ||||||
|       "OpenROADM-ILA": { |  | ||||||
|         "a": "-0.0005952", |  | ||||||
|         "b": "-0.0625", |  | ||||||
|         "c": "-1.071", |  | ||||||
|         "d": "28.99" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type": "openroadm_mw_mw_preamp", |  | ||||||
|       "gain-min": "0.0", |  | ||||||
|       "frequency-min": "191.35", |  | ||||||
|       "frequency-max": "196.1", |  | ||||||
|       "gain-flatmax": "27.0", |  | ||||||
|       "max-power-out": "22.0", |  | ||||||
|       "has-output-voa": false, |  | ||||||
|       "OpenROADM-preamp": {} |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type": "openroadm_mw_mw_booster", |  | ||||||
|       "gain-min": "0.0", |  | ||||||
|       "frequency-min": "191.35", |  | ||||||
|       "frequency-max": "196.1", |  | ||||||
|       "gain-flatmax": "32.0", |  | ||||||
|       "max-power-out": "22.0", |  | ||||||
|       "has-output-voa": false, |  | ||||||
|       "OpenROADM-booster": {} |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type": "std_high_gain", |  | ||||||
|       "gain-min": "25.0", |  | ||||||
|       "frequency-min": "191.35", |  | ||||||
|       "frequency-max": "196.1", |  | ||||||
|       "gain-flatmax": "35.0", |  | ||||||
|       "max-power-out": "21.0", |  | ||||||
|       "has-output-voa": false, |  | ||||||
|       "min-max-NF": { |  | ||||||
|         "nf-min": "5.5", |  | ||||||
|         "nf-max": "7.0" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type": "std_medium_gain", |  | ||||||
|       "gain-min": "15.0", |  | ||||||
|       "frequency-min": "191.35", |  | ||||||
|       "frequency-max": "196.1", |  | ||||||
|       "gain-flatmax": "26.0", |  | ||||||
|       "max-power-out": "23.0", |  | ||||||
|       "has-output-voa": false, |  | ||||||
|       "min-max-NF": { |  | ||||||
|         "nf-min": "6.0", |  | ||||||
|         "nf-max": "10.0" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type": "std_low_gain", |  | ||||||
|       "gain-min": "8.0", |  | ||||||
|       "frequency-min": "191.35", |  | ||||||
|       "frequency-max": "196.1", |  | ||||||
|       "gain-flatmax": "16.0", |  | ||||||
|       "max-power-out": "23.0", |  | ||||||
|       "has-output-voa": false, |  | ||||||
|       "min-max-NF": { |  | ||||||
|         "nf-min": "6.5", |  | ||||||
|         "nf-max": "11.0" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type": "high_power", |  | ||||||
|       "gain-min": "8.0", |  | ||||||
|       "frequency-min": "191.35", |  | ||||||
|       "frequency-max": "196.1", |  | ||||||
|       "gain-flatmax": "16.0", |  | ||||||
|       "max-power-out": "25.0", |  | ||||||
|       "has-output-voa": false, |  | ||||||
|       "min-max-NF": { |  | ||||||
|         "nf-min": "9.0", |  | ||||||
|         "nf-max": "15.0" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type": "std_fixed_gain", |  | ||||||
|       "gain-min": "20.0", |  | ||||||
|       "frequency-min": "191.35", |  | ||||||
|       "frequency-max": "196.1", |  | ||||||
|       "gain-flatmax": "21.0", |  | ||||||
|       "max-power-out": "21.0", |  | ||||||
|       "has-output-voa": false, |  | ||||||
|       "polynomial-NF": { |  | ||||||
|         "a": "0.0", |  | ||||||
|         "b": "0.0", |  | ||||||
|         "c": "0.0", |  | ||||||
|         "d": "5.5" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type": "4pumps_raman", |  | ||||||
|       "gain-min": "12.0", |  | ||||||
|       "frequency-min": "191.35", |  | ||||||
|       "frequency-max": "196.1", |  | ||||||
|       "gain-flatmax": "12.0", |  | ||||||
|       "max-power-out": "21.0", |  | ||||||
|       "has-output-voa": false, |  | ||||||
|       "raman-approximation": { |  | ||||||
|         "nf": "-1.0" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type": "hybrid_4pumps_lowgain", |  | ||||||
|       "gain-min": "25.0", |  | ||||||
|       "composite": { |  | ||||||
|         "preamp": "4pumps_raman", |  | ||||||
|         "booster": "std_low_gain" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type": "hybrid_4pumps_mediumgain", |  | ||||||
|       "gain-min": "25.0", |  | ||||||
|       "composite": { |  | ||||||
|         "preamp": "4pumps_raman", |  | ||||||
|         "booster": "std_medium_gain" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type": "medium+low_gain", |  | ||||||
|       "gain-min": "25.0", |  | ||||||
|       "composite": { |  | ||||||
|         "preamp": "std_medium_gain", |  | ||||||
|         "booster": "std_low_gain" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type": "medium+high_power", |  | ||||||
|       "gain-min": "25.0", |  | ||||||
|       "composite": { |  | ||||||
|         "preamp": "std_medium_gain", |  | ||||||
|         "booster": "high_power" |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   ], |  | ||||||
|   "tip-photonic-equipment:fiber": [ |  | ||||||
|     { |  | ||||||
|       "type": "NZDF", |  | ||||||
|       "chromatic-dispersion": "5.0", |  | ||||||
|       "gamma": "1.46", |  | ||||||
|       "pmd-coefficient": "0.0400028124" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type": "LOF", |  | ||||||
|       "chromatic-dispersion": "22.0", |  | ||||||
|       "gamma": "0.843", |  | ||||||
|       "pmd-coefficient": "0.0400028124" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type": "SSMF", |  | ||||||
|       "chromatic-dispersion": "16.7", |  | ||||||
|       "gamma": "1.27", |  | ||||||
|       "pmd-coefficient": "0.0400028124", |  | ||||||
|       "raman-efficiency": [ |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "0.0", |  | ||||||
|           "cr": "0.0" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "0.5", |  | ||||||
|           "cr": "0.0000094" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "1.0", |  | ||||||
|           "cr": "0.0000292" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "1.5", |  | ||||||
|           "cr": "0.0000488" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "2.0", |  | ||||||
|           "cr": "0.0000682" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "2.5", |  | ||||||
|           "cr": "0.0000831" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "3.0", |  | ||||||
|           "cr": "0.000094" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "3.5", |  | ||||||
|           "cr": "0.0001014" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "4.0", |  | ||||||
|           "cr": "0.0001069" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "4.5", |  | ||||||
|           "cr": "0.0001119" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "5.0", |  | ||||||
|           "cr": "0.0001217" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "5.5", |  | ||||||
|           "cr": "0.0001268" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "6.0", |  | ||||||
|           "cr": "0.0001365" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "6.5", |  | ||||||
|           "cr": "0.000149" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "7.0", |  | ||||||
|           "cr": "0.000165" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "7.5", |  | ||||||
|           "cr": "0.000181" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "8.0", |  | ||||||
|           "cr": "0.0001977" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "8.5", |  | ||||||
|           "cr": "0.0002192" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "9.0", |  | ||||||
|           "cr": "0.0002469" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "9.5", |  | ||||||
|           "cr": "0.0002749" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "10.0", |  | ||||||
|           "cr": "0.0002999" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "10.5", |  | ||||||
|           "cr": "0.0003206" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "11.0", |  | ||||||
|           "cr": "0.0003405" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "11.5", |  | ||||||
|           "cr": "0.0003592" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "12.0", |  | ||||||
|           "cr": "0.000374" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "12.5", |  | ||||||
|           "cr": "0.0003826" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "12.75", |  | ||||||
|           "cr": "0.0003841" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "13.0", |  | ||||||
|           "cr": "0.0003826" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "13.25", |  | ||||||
|           "cr": "0.0003802" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "13.5", |  | ||||||
|           "cr": "0.0003756" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "14.0", |  | ||||||
|           "cr": "0.0003549" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "14.5", |  | ||||||
|           "cr": "0.0003795" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "14.75", |  | ||||||
|           "cr": "0.000344" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "15.0", |  | ||||||
|           "cr": "0.0002933" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "15.5", |  | ||||||
|           "cr": "0.0002024" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "16.0", |  | ||||||
|           "cr": "0.0001158" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "16.5", |  | ||||||
|           "cr": "0.0000846" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "17.0", |  | ||||||
|           "cr": "0.0000714" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "17.5", |  | ||||||
|           "cr": "0.0000686" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "18.0", |  | ||||||
|           "cr": "0.000085" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "18.25", |  | ||||||
|           "cr": "0.0000893" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "18.5", |  | ||||||
|           "cr": "0.0000901" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "18.75", |  | ||||||
|           "cr": "0.0000815" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "19.0", |  | ||||||
|           "cr": "0.0000667" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "19.5", |  | ||||||
|           "cr": "0.0000437" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "20.0", |  | ||||||
|           "cr": "0.0000328" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "20.5", |  | ||||||
|           "cr": "0.0000296" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "21.0", |  | ||||||
|           "cr": "0.0000265" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "21.5", |  | ||||||
|           "cr": "0.0000257" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "22.0", |  | ||||||
|           "cr": "0.0000281" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "22.5", |  | ||||||
|           "cr": "0.0000308" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "23.0", |  | ||||||
|           "cr": "0.0000367" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "23.5", |  | ||||||
|           "cr": "0.0000585" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "24.0", |  | ||||||
|           "cr": "0.0000663" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "24.5", |  | ||||||
|           "cr": "0.0000636" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "25.0", |  | ||||||
|           "cr": "0.000055" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "25.5", |  | ||||||
|           "cr": "0.0000406" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "26.0", |  | ||||||
|           "cr": "0.0000277" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "26.5", |  | ||||||
|           "cr": "0.0000242" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "27.0", |  | ||||||
|           "cr": "0.0000187" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "27.5", |  | ||||||
|           "cr": "0.000016" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "28.0", |  | ||||||
|           "cr": "0.000014" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "28.5", |  | ||||||
|           "cr": "0.0000113" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "29.0", |  | ||||||
|           "cr": "0.0000105" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "29.5", |  | ||||||
|           "cr": "0.0000098" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "30.0", |  | ||||||
|           "cr": "0.0000098" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "30.5", |  | ||||||
|           "cr": "0.0000113" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "31.0", |  | ||||||
|           "cr": "0.0000164" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "31.5", |  | ||||||
|           "cr": "0.0000195" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "32.0", |  | ||||||
|           "cr": "0.0000238" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "32.5", |  | ||||||
|           "cr": "0.0000226" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "33.0", |  | ||||||
|           "cr": "0.0000203" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "33.5", |  | ||||||
|           "cr": "0.0000148" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "34.0", |  | ||||||
|           "cr": "0.0000109" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "34.5", |  | ||||||
|           "cr": "0.0000098" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "35.0", |  | ||||||
|           "cr": "0.0000105" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "35.5", |  | ||||||
|           "cr": "0.0000117" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "36.0", |  | ||||||
|           "cr": "0.0000125" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "36.5", |  | ||||||
|           "cr": "0.0000121" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "37.0", |  | ||||||
|           "cr": "0.0000109" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "37.5", |  | ||||||
|           "cr": "0.0000098" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "38.0", |  | ||||||
|           "cr": "0.0000082" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "38.5", |  | ||||||
|           "cr": "0.0000066" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "39.0", |  | ||||||
|           "cr": "0.0000047" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "39.5", |  | ||||||
|           "cr": "0.0000027" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "40.0", |  | ||||||
|           "cr": "0.0000019" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "40.5", |  | ||||||
|           "cr": "0.0000012" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "41.0", |  | ||||||
|           "cr": "4.00000E-7" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "41.5", |  | ||||||
|           "cr": "2.00000E-7" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "delta-frequency": "42.0", |  | ||||||
|           "cr": "1.00000E-7" |  | ||||||
|         } |  | ||||||
|       ] |  | ||||||
|     } |  | ||||||
|   ], |  | ||||||
|   "tip-photonic-equipment:transceiver": [ |  | ||||||
|     { |  | ||||||
|       "type": "vendorA_trx-type1", |  | ||||||
|       "frequency-min": "191.35", |  | ||||||
|       "frequency-max": "196.1", |  | ||||||
|       "mode": [ |  | ||||||
|         { |  | ||||||
|           "name": "mode 1", |  | ||||||
|           "bit-rate": 100, |  | ||||||
|           "baud-rate": "32.0", |  | ||||||
|           "required-osnr": "11.0", |  | ||||||
|           "in-band-tx-osnr": "40.0", |  | ||||||
|           "grid-spacing": "37.5", |  | ||||||
|           "tx-roll-off": "0.15", |  | ||||||
|           "tip-photonic-simulation:cost": 1 |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "name": "mode 2", |  | ||||||
|           "bit-rate": 200, |  | ||||||
|           "baud-rate": "66.0", |  | ||||||
|           "required-osnr": "15.0", |  | ||||||
|           "in-band-tx-osnr": "40.0", |  | ||||||
|           "grid-spacing": "75.0", |  | ||||||
|           "tx-roll-off": "0.15", |  | ||||||
|           "tip-photonic-simulation:cost": 1 |  | ||||||
|         } |  | ||||||
|       ] |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type": "Voyager", |  | ||||||
|       "frequency-min": "191.35", |  | ||||||
|       "frequency-max": "196.1", |  | ||||||
|       "mode": [ |  | ||||||
|         { |  | ||||||
|           "name": "mode 1", |  | ||||||
|           "bit-rate": 100, |  | ||||||
|           "baud-rate": "32.0", |  | ||||||
|           "required-osnr": "12.0", |  | ||||||
|           "in-band-tx-osnr": "40.0", |  | ||||||
|           "grid-spacing": "37.5", |  | ||||||
|           "tx-roll-off": "0.15", |  | ||||||
|           "tip-photonic-simulation:cost": 1 |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "name": "mode 3", |  | ||||||
|           "bit-rate": 300, |  | ||||||
|           "baud-rate": "44.0", |  | ||||||
|           "required-osnr": "18.0", |  | ||||||
|           "in-band-tx-osnr": "40.0", |  | ||||||
|           "grid-spacing": "62.5", |  | ||||||
|           "tx-roll-off": "0.15", |  | ||||||
|           "tip-photonic-simulation:cost": 1 |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "name": "mode 2", |  | ||||||
|           "bit-rate": 400, |  | ||||||
|           "baud-rate": "66.0", |  | ||||||
|           "required-osnr": "21.0", |  | ||||||
|           "in-band-tx-osnr": "40.0", |  | ||||||
|           "grid-spacing": "75.0", |  | ||||||
|           "tx-roll-off": "0.15", |  | ||||||
|           "tip-photonic-simulation:cost": 1 |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "name": "mode 4", |  | ||||||
|           "bit-rate": 200, |  | ||||||
|           "baud-rate": "66.0", |  | ||||||
|           "required-osnr": "16.0", |  | ||||||
|           "in-band-tx-osnr": "40.0", |  | ||||||
|           "grid-spacing": "75.0", |  | ||||||
|           "tx-roll-off": "0.15", |  | ||||||
|           "tip-photonic-simulation:cost": 1 |  | ||||||
|         } |  | ||||||
|       ] |  | ||||||
|     } |  | ||||||
|   ], |  | ||||||
|   "tip-photonic-equipment:roadm": [ |  | ||||||
|     { |  | ||||||
|       "type": "default", |  | ||||||
|       "add-drop-osnr": "38.0", |  | ||||||
|       "polarization-mode-dispersion": "0.0", |  | ||||||
|       "target-channel-out-power": "-20.0", |  | ||||||
|       "compatible-preamp": [], |  | ||||||
|       "compatible-booster": [] |  | ||||||
|     } |  | ||||||
|   ], |  | ||||||
|   "tip-photonic-simulation:simulation": { |  | ||||||
|     "grid": { |  | ||||||
|       "frequency-min": "191.3", |  | ||||||
|       "frequency-max": "195.1", |  | ||||||
|       "spacing": "50.0", |  | ||||||
|       "power": "0.0", |  | ||||||
|       "tx-roll-off": "0.15", |  | ||||||
|       "tx-osnr": "40.0", |  | ||||||
|       "baud-rate": "32.0" |  | ||||||
|     }, |  | ||||||
|     "autodesign": { |  | ||||||
|       "allowed-inline-edfa": [ |  | ||||||
|         "std_high_gain", |  | ||||||
|         "std_medium_gain", |  | ||||||
|         "std_low_gain", |  | ||||||
|         "hybrid_4pumps_lowgain", |  | ||||||
|         "hybrid_4pumps_mediumgain", |  | ||||||
|         "medium+low_gain" |  | ||||||
|       ], |  | ||||||
|       "power-adjustment-for-span-loss": { |  | ||||||
|         "maximal-reduction": "-2.0", |  | ||||||
|         "maximal-boost": "3.0", |  | ||||||
|         "excursion-step-size": "0.5" |  | ||||||
|       }, |  | ||||||
|       "power-mode": { |  | ||||||
|         "power-sweep": { |  | ||||||
|           "start": "0.0", |  | ||||||
|           "stop": "0.0", |  | ||||||
|           "step-size": "1.0" |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     "system-margin": "2.0" |  | ||||||
|   }, |  | ||||||
|   "ietf-network:networks": { |  | ||||||
|     "network": [ |  | ||||||
|       { |  | ||||||
|         "network-id": "GNPy", |  | ||||||
|         "network-types": { |  | ||||||
|           "tip-photonic-topology:photonic-topology": {} |  | ||||||
|         }, |  | ||||||
|         "node": [ |  | ||||||
|           { |  | ||||||
|             "node-id": "Site_A", |  | ||||||
|             "tip-photonic-topology:transceiver": { |  | ||||||
|               "model": "vendorA_trx-type1" |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "Edfa1", |  | ||||||
|             "tip-photonic-topology:amplifier": { |  | ||||||
|               "model": "std_low_gain", |  | ||||||
|               "gain-target": "17.0", |  | ||||||
|               "tilt-target": "0.0", |  | ||||||
|               "out-voa-target": "0.0" |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "Site_B", |  | ||||||
|             "tip-photonic-topology:transceiver": { |  | ||||||
|               "model": "vendorA_trx-type1" |  | ||||||
|             } |  | ||||||
|           } |  | ||||||
|         ], |  | ||||||
|         "ietf-network-topology:link": [ |  | ||||||
|           { |  | ||||||
|             "link-id": "Span1", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "Site_A" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "Edfa1" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:fiber": { |  | ||||||
|               "type": "SSMF", |  | ||||||
|               "length": "80.0", |  | ||||||
|               "attenuation-in": "0.0", |  | ||||||
|               "conn-att-in": "0.5", |  | ||||||
|               "conn-att-out": "0.5" |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "patch{Edfa1, Site_B}", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "Edfa1" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "Site_B" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           } |  | ||||||
|         ] |  | ||||||
|       } |  | ||||||
|     ] |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| @@ -1,462 +0,0 @@ | |||||||
| { |  | ||||||
|   "common": { |  | ||||||
|     "background_color": "white", |  | ||||||
|     "font": "14px Helvetica black", |  | ||||||
|     "border": "1px solid black", |  | ||||||
|     "font_variant": "normal" |  | ||||||
|   }, |  | ||||||
|   "options": { |  | ||||||
|     "physics": false, |  | ||||||
|  |  | ||||||
|     "interaction": { |  | ||||||
|       "navigationButtons": true, |  | ||||||
|       "keyboard": false, |  | ||||||
|       "dragView": true, |  | ||||||
|       "multiselect": true, |  | ||||||
|       "hover": true |  | ||||||
|     }, |  | ||||||
|     "edges": { |  | ||||||
|       "color": { |  | ||||||
|         "color": "blue", |  | ||||||
|         "highlight": "blue", |  | ||||||
|         "hover": "blue", |  | ||||||
|         "inherit": false, |  | ||||||
|         "opacity": 1 |  | ||||||
|       }, |  | ||||||
|       "background": { |  | ||||||
|         "color": "blue", |  | ||||||
|         "dashes": false, |  | ||||||
|         "enabled": false, |  | ||||||
|         "size": 10 |  | ||||||
|       }, |  | ||||||
|       "arrows": { |  | ||||||
|         "from": { |  | ||||||
|           "enabled": false, |  | ||||||
|           "type": "arrow" |  | ||||||
|         }, |  | ||||||
|         "to": { |  | ||||||
|           "enabled": true, |  | ||||||
|           "type": "arrow", |  | ||||||
|           "scaleFactor": ".5" |  | ||||||
|         } |  | ||||||
|       }, |  | ||||||
|       "font": { |  | ||||||
|         "color": "gray", |  | ||||||
|         "size": 11, |  | ||||||
|         "face": "verdana", |  | ||||||
|         "align": "top" |  | ||||||
|       }, |  | ||||||
|       "smooth": { |  | ||||||
|         "enabled": false, |  | ||||||
|         "type": "continuous" |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   "Roadm": { |  | ||||||
|     "shape": "image", |  | ||||||
|     "size": 16, |  | ||||||
|     "err_size": 22, |  | ||||||
|     "image": "newroadm.svg", |  | ||||||
|     "err_image": "err_roadm.png", |  | ||||||
|     "w_image": "w_roadm.png", |  | ||||||
|     "h_image": "h_roadm.png", |  | ||||||
|     "node_type": "Roadm", |  | ||||||
|     "component_type": "node", |  | ||||||
|     "icon": {}, |  | ||||||
|     "font": "12px verdana black", |  | ||||||
|     "color": { |  | ||||||
|       "border": "#2B7CE9", |  | ||||||
|       "background": "#97C2FC", |  | ||||||
|       "highlight": { |  | ||||||
|         "border": "green", |  | ||||||
|         "background": "green" |  | ||||||
|       }, |  | ||||||
|       "hover": { |  | ||||||
|         "border": "yellow", |  | ||||||
|         "background": "yellow" |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|   }, |  | ||||||
|   "ILA": { |  | ||||||
|     "shape": "image", |  | ||||||
|     "size": 16, |  | ||||||
|     "err_size": 22, |  | ||||||
|     "image": "ILA.svg", |  | ||||||
|     "err_image": "ILA.svg", |  | ||||||
|     "w_image": "ILA.svg", |  | ||||||
|     "h_image": "ILA.svg", |  | ||||||
|     "node_type": "Amplifier", |  | ||||||
|     "amp_category": "ILA", |  | ||||||
|     "component_type": "node", |  | ||||||
|     "icon": {}, |  | ||||||
|     "font": "12px verdana black", |  | ||||||
|     "color": { |  | ||||||
|       "border": "#2B7CE9", |  | ||||||
|       "background": "#97C2FC", |  | ||||||
|       "highlight": { |  | ||||||
|         "border": "green", |  | ||||||
|         "background": "green" |  | ||||||
|       }, |  | ||||||
|       "hover": { |  | ||||||
|         "border": "yellow", |  | ||||||
|         "background": "yellow" |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   "Amplifier": { |  | ||||||
|     "shape": "image", |  | ||||||
|     "size": 16, |  | ||||||
|     "err_size": 22, |  | ||||||
|     "image": "newamp.svg", |  | ||||||
|     "err_image": "err_amplifier.png", |  | ||||||
|     "w_image": "w_amplifier.png", |  | ||||||
|     "h_image": "h_amplifier.png", |  | ||||||
|     "node_type": "Amplifier", |  | ||||||
|     "amp_category": "Amplifier", |  | ||||||
|     "component_type": "node", |  | ||||||
|     "icon": {}, |  | ||||||
|     "font": "12px verdana black", |  | ||||||
|     "color": { |  | ||||||
|       "border": "#2B7CE9", |  | ||||||
|       "background": "#97C2FC", |  | ||||||
|       "highlight": { |  | ||||||
|         "border": "green", |  | ||||||
|         "background": "green" |  | ||||||
|       }, |  | ||||||
|       "hover": { |  | ||||||
|         "border": "yellow", |  | ||||||
|         "background": "yellow" |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   "RamanAmplifier": { |  | ||||||
|     "shape": "image", |  | ||||||
|     "size": 16, |  | ||||||
|     "err_size": 22, |  | ||||||
|     "image": "ramanamp.svg", |  | ||||||
|     "err_image": "err_raman.png", |  | ||||||
|     "w_image": "w_raman.png", |  | ||||||
|     "h_image": "h_raman.png", |  | ||||||
|     "node_type": "Amplifier", |  | ||||||
|     "amp_category": "RamanAmplifier", |  | ||||||
|     "component_type": "node", |  | ||||||
|     "icon": {}, |  | ||||||
|     "font": "12px verdana black", |  | ||||||
|     "color": { |  | ||||||
|       "border": "#2B7CE9", |  | ||||||
|       "background": "#97C2FC", |  | ||||||
|       "highlight": { |  | ||||||
|         "border": "green", |  | ||||||
|         "background": "green" |  | ||||||
|       }, |  | ||||||
|       "hover": { |  | ||||||
|         "border": "yellow", |  | ||||||
|         "background": "yellow" |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   "Fused": { |  | ||||||
|     "shape": "image", |  | ||||||
|     "size": 16, |  | ||||||
|     "err_size": 22, |  | ||||||
|     "image": "newattenuator.svg", |  | ||||||
|     "err_image": "err_attenuator.png", |  | ||||||
|     "w_image": "w_attenuator.png", |  | ||||||
|     "h_image": "h_attenuator.png", |  | ||||||
|     "node_type": "Fused", |  | ||||||
|     "component_type": "node", |  | ||||||
|     "icon": {}, |  | ||||||
|     "font": "12px verdana black", |  | ||||||
|     "color": { |  | ||||||
|       "border": "#2B7CE9", |  | ||||||
|       "background": "#97C2FC", |  | ||||||
|       "highlight": { |  | ||||||
|         "border": "green", |  | ||||||
|         "background": "green" |  | ||||||
|       }, |  | ||||||
|       "hover": { |  | ||||||
|         "border": "yellow", |  | ||||||
|         "background": "yellow" |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|   }, |  | ||||||
|   "Transceiver": { |  | ||||||
|     "shape": "image", |  | ||||||
|     "size": 16, |  | ||||||
|     "err_size": 22, |  | ||||||
|     "image": "newtransceiver.svg", |  | ||||||
|     "err_image": "err_transceiver.png", |  | ||||||
|     "w_image": "w_transceiver.png", |  | ||||||
|     "h_image": "h_transceiver.png", |  | ||||||
|     "node_type": "Transceiver", |  | ||||||
|     "component_type": "node", |  | ||||||
|     "icon": {}, |  | ||||||
|     "font": "12px verdana black", |  | ||||||
|     "color": { |  | ||||||
|       "border": "#2B7CE9", |  | ||||||
|       "background": "#97C2FC", |  | ||||||
|       "highlight": { |  | ||||||
|         "border": "green", |  | ||||||
|         "background": "green" |  | ||||||
|       }, |  | ||||||
|       "hover": { |  | ||||||
|         "border": "yellow", |  | ||||||
|         "background": "yellow" |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|   }, |  | ||||||
|   "Fiber": { |  | ||||||
|     "options": { |  | ||||||
|       "smooth": { |  | ||||||
|         "enabled": false, |  | ||||||
|         "roundness": 0.5, |  | ||||||
|         "type": "continuous" |  | ||||||
|  |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   "DualFiber": { |  | ||||||
|     "dashes": false, |  | ||||||
|     "component_type": "Fiber", |  | ||||||
|     "fiber_category": "Dual Fiber", |  | ||||||
|     "width": 2, |  | ||||||
|     "options": { |  | ||||||
|       "color": { |  | ||||||
|         "color": "blue", |  | ||||||
|         "highlight": "blue", |  | ||||||
|         "hover": "blue", |  | ||||||
|         "inherit": false, |  | ||||||
|         "opacity": 1 |  | ||||||
|       }, |  | ||||||
|       "background": { |  | ||||||
|         "color": "blue", |  | ||||||
|         "dashes": false, |  | ||||||
|         "enabled": false, |  | ||||||
|         "size": 10 |  | ||||||
|       }, |  | ||||||
|       "arrows": { |  | ||||||
|         "from": { |  | ||||||
|           "enabled": false, |  | ||||||
|           "type": "arrow" |  | ||||||
|         }, |  | ||||||
|         "to": { |  | ||||||
|           "enabled": false, |  | ||||||
|           "type": "arrow" |  | ||||||
|         } |  | ||||||
|       }, |  | ||||||
|       "font": { |  | ||||||
|         "color": "gray", |  | ||||||
|         "size": 11, |  | ||||||
|         "face": "verdana", |  | ||||||
|         "align": "top" |  | ||||||
|       }, |  | ||||||
|       "smooth": { |  | ||||||
|         "enabled": true, |  | ||||||
|         "roundness": 0.1, |  | ||||||
|         "type": "curvedCW" |  | ||||||
|  |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   "SingleFiber": { |  | ||||||
|     "dashes": true, |  | ||||||
|     "component_type": "Fiber", |  | ||||||
|     "fiber_category": "Single Fiber", |  | ||||||
|     "width": 2, |  | ||||||
|     "options": { |  | ||||||
|       "w_color": { |  | ||||||
|         "color": "gray", |  | ||||||
|         "highlight": "gray", |  | ||||||
|         "hover": "gray", |  | ||||||
|         "inherit": false, |  | ||||||
|         "opacity": 1 |  | ||||||
|       }, |  | ||||||
|       "err_color": { |  | ||||||
|         "color": "orange", |  | ||||||
|         "highlight": "orange", |  | ||||||
|         "hover": "orange", |  | ||||||
|         "inherit": false, |  | ||||||
|         "opacity": 1 |  | ||||||
|       }, |  | ||||||
|       "color": { |  | ||||||
|         "color": "blue", |  | ||||||
|         "highlight": "blue", |  | ||||||
|         "hover": "blue", |  | ||||||
|         "inherit": false, |  | ||||||
|         "opacity": 1 |  | ||||||
|       }, |  | ||||||
|       "background": { |  | ||||||
|         "color": "blue", |  | ||||||
|         "dashes": false, |  | ||||||
|         "enabled": false, |  | ||||||
|         "size": 10 |  | ||||||
|       }, |  | ||||||
|       "arrows": { |  | ||||||
|         "from": { |  | ||||||
|           "enabled": false, |  | ||||||
|           "type": "arrow" |  | ||||||
|         }, |  | ||||||
|         "to": { |  | ||||||
|           "enabled": true, |  | ||||||
|           "type": "arrow", |  | ||||||
|           "scaleFactor": ".5" |  | ||||||
|         } |  | ||||||
|       }, |  | ||||||
|       "font": { |  | ||||||
|         "color": "gray", |  | ||||||
|         "size": 11, |  | ||||||
|         "face": "verdana", |  | ||||||
|         "align": "top" |  | ||||||
|       }, |  | ||||||
|       "smooth": { |  | ||||||
|         "enabled": true, |  | ||||||
|         "roundness": 0.1, |  | ||||||
|         "type": "curvedCW" |  | ||||||
|  |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|  |  | ||||||
|   "Service": { |  | ||||||
|     "dashes": true, |  | ||||||
|     "component_type": "Service", |  | ||||||
|     "width": 2, |  | ||||||
|     "options": { |  | ||||||
|       "color": { |  | ||||||
|         "color": "red", |  | ||||||
|         "highlight": "red", |  | ||||||
|         "hover": "red", |  | ||||||
|         "inherit": false, |  | ||||||
|         "opacity": 1 |  | ||||||
|       }, |  | ||||||
|       "background": { |  | ||||||
|         "color": "red", |  | ||||||
|         "dashes": false, |  | ||||||
|         "enabled": false, |  | ||||||
|         "size": 10 |  | ||||||
|       }, |  | ||||||
|       "arrows": { |  | ||||||
|         "from": { |  | ||||||
|           "enabled": true, |  | ||||||
|           "type": "arrow", |  | ||||||
|           "scaleFactor": ".5" |  | ||||||
|         }, |  | ||||||
|         "to": { |  | ||||||
|           "enabled": true, |  | ||||||
|           "type": "arrow", |  | ||||||
|           "scaleFactor": ".5" |  | ||||||
|         } |  | ||||||
|       }, |  | ||||||
|       "font": { |  | ||||||
|         "color": "gray", |  | ||||||
|         "size": 11, |  | ||||||
|         "face": "verdana", |  | ||||||
|         "align": "top" |  | ||||||
|       }, |  | ||||||
|       "smooth": { |  | ||||||
|         "enabled": true, |  | ||||||
|         "roundness": "0.1", |  | ||||||
|         "type": "curvedCW" |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|  |  | ||||||
|   "SinglePatch": { |  | ||||||
|     "dashes": true, |  | ||||||
|     "component_type": "Patch", |  | ||||||
|     "patch_category": "Single Patch", |  | ||||||
|     "width": 2, |  | ||||||
|     "options": { |  | ||||||
|       "color": { |  | ||||||
|         "color": "black", |  | ||||||
|         "highlight": "black", |  | ||||||
|         "hover": "black", |  | ||||||
|         "inherit": false, |  | ||||||
|         "opacity": 1 |  | ||||||
|       }, |  | ||||||
|       "background": { |  | ||||||
|         "color": "black", |  | ||||||
|         "dashes": false, |  | ||||||
|         "enabled": false, |  | ||||||
|         "size": 10 |  | ||||||
|       }, |  | ||||||
|       "arrows": { |  | ||||||
|         "from": { |  | ||||||
|           "enabled": false, |  | ||||||
|           "type": "arrow" |  | ||||||
|         }, |  | ||||||
|         "to": { |  | ||||||
|           "enabled": true, |  | ||||||
|           "type": "arrow", |  | ||||||
|           "scaleFactor": ".5" |  | ||||||
|         } |  | ||||||
|       }, |  | ||||||
|       "font": { |  | ||||||
|         "color": "gray", |  | ||||||
|         "size": 11, |  | ||||||
|         "face": "verdana", |  | ||||||
|         "align": "top" |  | ||||||
|       }, |  | ||||||
|       "smooth": { |  | ||||||
|         "enabled": false, |  | ||||||
|         "roundness": 0.1, |  | ||||||
|         "type": "curvedCW" |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|  |  | ||||||
|   "DualPatch": { |  | ||||||
|     "dashes": false, |  | ||||||
|     "component_type": "Patch", |  | ||||||
|     "patch_category": "Dual Patch", |  | ||||||
|     "width": 2, |  | ||||||
|     "options": { |  | ||||||
|       "color": { |  | ||||||
|         "color": "black", |  | ||||||
|         "highlight": "black", |  | ||||||
|         "hover": "black", |  | ||||||
|         "inherit": false, |  | ||||||
|         "opacity": 1 |  | ||||||
|       }, |  | ||||||
|       "background": { |  | ||||||
|         "color": "black", |  | ||||||
|         "dashes": false, |  | ||||||
|         "enabled": false, |  | ||||||
|         "size": 10 |  | ||||||
|       }, |  | ||||||
|       "arrows": { |  | ||||||
|         "from": { |  | ||||||
|           "enabled": false, |  | ||||||
|           "type": "arrow" |  | ||||||
|         }, |  | ||||||
|         "to": { |  | ||||||
|           "enabled": false, |  | ||||||
|           "type": "arrow" |  | ||||||
|         } |  | ||||||
|       }, |  | ||||||
|       "font": { |  | ||||||
|         "color": "gray", |  | ||||||
|         "size": 11, |  | ||||||
|         "face": "verdana", |  | ||||||
|         "align": "top" |  | ||||||
|       }, |  | ||||||
|       "smooth": { |  | ||||||
|         "enabled": false, |  | ||||||
|         "roundness": 0.1, |  | ||||||
|         "type": "curvedCW" |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @@ -1,390 +0,0 @@ | |||||||
| { |  | ||||||
|   "common": { |  | ||||||
|     "background_color": "white", |  | ||||||
|     "font": "14px Helvetica black", |  | ||||||
|     "border": "1px solid black", |  | ||||||
|     "font_variant": "small-caps" |  | ||||||
|   }, |  | ||||||
|   "options": { |  | ||||||
|     "physis": false, |  | ||||||
|  |  | ||||||
|     "interaction": { |  | ||||||
|       "navigationButtons": true, |  | ||||||
|       "keyboard": true, |  | ||||||
|       "dragView": true, |  | ||||||
|       "multiselect": true, |  | ||||||
|       "hover": true |  | ||||||
|     }, |  | ||||||
|     "edges": { |  | ||||||
|       "smooth": { |  | ||||||
|         "enabled": false, |  | ||||||
|         "type": "continuous" |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   "Roadm": { |  | ||||||
|     "shape": "image", |  | ||||||
|     "size": 14, |  | ||||||
|     "image": "newroadm.svg", |  | ||||||
|     "node_type": "Roadm", |  | ||||||
|     "component_type": "node", |  | ||||||
|     "icon": {}, |  | ||||||
|     "font": "12px verdana black", |  | ||||||
|     "color": { |  | ||||||
|       "border": "#2B7CE9", |  | ||||||
|       "background": "#97C2FC", |  | ||||||
|       "highlight": { |  | ||||||
|         "border": "green", |  | ||||||
|         "background": "green" |  | ||||||
|       }, |  | ||||||
|       "hover": { |  | ||||||
|         "border": "yellow", |  | ||||||
|         "background": "yellow" |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|   }, |  | ||||||
|   "ILA": { |  | ||||||
|     "shape": "image", |  | ||||||
|     "size": 14, |  | ||||||
|     "image": "ILA.svg", |  | ||||||
|     "node_type": "Amplifier", |  | ||||||
|     "amp_category": "ILA", |  | ||||||
|     "component_type": "node", |  | ||||||
|     "icon": {}, |  | ||||||
|     "font": "12px verdana black", |  | ||||||
|     "color": { |  | ||||||
|       "border": "#2B7CE9", |  | ||||||
|       "background": "#97C2FC", |  | ||||||
|       "highlight": { |  | ||||||
|         "border": "green", |  | ||||||
|         "background": "green" |  | ||||||
|       }, |  | ||||||
|       "hover": { |  | ||||||
|         "border": "yellow", |  | ||||||
|         "background": "yellow" |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   "Amplifier": { |  | ||||||
|     "shape": "image", |  | ||||||
|     "size": 14, |  | ||||||
|     "image": "newamp.svg", |  | ||||||
|     "node_type": "Amplifier", |  | ||||||
|     "amp_category": "Amplifier", |  | ||||||
|     "component_type": "node", |  | ||||||
|     "icon": {}, |  | ||||||
|     "font": "12px verdana black", |  | ||||||
|     "color": { |  | ||||||
|       "border": "#2B7CE9", |  | ||||||
|       "background": "#97C2FC", |  | ||||||
|       "highlight": { |  | ||||||
|         "border": "green", |  | ||||||
|         "background": "green" |  | ||||||
|       }, |  | ||||||
|       "hover": { |  | ||||||
|         "border": "yellow", |  | ||||||
|         "background": "yellow" |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   "RamanAmplifier": { |  | ||||||
|     "shape": "image", |  | ||||||
|     "size": 14, |  | ||||||
|     "image": "ramanamp.svg", |  | ||||||
|     "node_type": "Amplifier", |  | ||||||
|     "amp_category": "RamanAmplifier", |  | ||||||
|     "component_type": "node", |  | ||||||
|     "icon": {}, |  | ||||||
|     "font": "12px verdana black", |  | ||||||
|     "color": { |  | ||||||
|       "border": "#2B7CE9", |  | ||||||
|       "background": "#97C2FC", |  | ||||||
|       "highlight": { |  | ||||||
|         "border": "green", |  | ||||||
|         "background": "green" |  | ||||||
|       }, |  | ||||||
|       "hover": { |  | ||||||
|         "border": "yellow", |  | ||||||
|         "background": "yellow" |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   "Fused": { |  | ||||||
|     "shape": "image", |  | ||||||
|     "size": 14, |  | ||||||
|     "image": "newattenuator.svg", |  | ||||||
|     "node_type": "Fused", |  | ||||||
|     "component_type": "node", |  | ||||||
|     "icon": {}, |  | ||||||
|     "font": "12px verdana black", |  | ||||||
|     "color": { |  | ||||||
|       "border": "#2B7CE9", |  | ||||||
|       "background": "#97C2FC", |  | ||||||
|       "highlight": { |  | ||||||
|         "border": "green", |  | ||||||
|         "background": "green" |  | ||||||
|       }, |  | ||||||
|       "hover": { |  | ||||||
|         "border": "yellow", |  | ||||||
|         "background": "yellow" |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|   }, |  | ||||||
|   "Transceiver": { |  | ||||||
|     "shape": "image", |  | ||||||
|     "size": 14, |  | ||||||
|     "image": "newtransceiver.svg", |  | ||||||
|     "node_type": "Transceiver", |  | ||||||
|     "component_type": "node", |  | ||||||
|     "icon": {}, |  | ||||||
|     "font": "12px verdana black", |  | ||||||
|     "color": { |  | ||||||
|       "border": "#2B7CE9", |  | ||||||
|       "background": "#97C2FC", |  | ||||||
|       "highlight": { |  | ||||||
|         "border": "green", |  | ||||||
|         "background": "green" |  | ||||||
|       }, |  | ||||||
|       "hover": { |  | ||||||
|         "border": "yellow", |  | ||||||
|         "background": "yellow" |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|   }, |  | ||||||
|   "Fiber": { |  | ||||||
|     "options": { |  | ||||||
|       "smooth": { |  | ||||||
|         "enabled": false, |  | ||||||
|         "roundness": 0.5, |  | ||||||
|         "type": "continuous" |  | ||||||
|  |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   "DualFiber": { |  | ||||||
|     "dashes": false, |  | ||||||
|     "component_type": "Fiber", |  | ||||||
|     "fiber_category": "Dual Fiber", |  | ||||||
|     "width": 2, |  | ||||||
|     "options": { |  | ||||||
|       "color": { |  | ||||||
|         "color": "blue", |  | ||||||
|         "highlight": "blue", |  | ||||||
|         "hover": "blue", |  | ||||||
|         "inherit": false, |  | ||||||
|         "opacity": 1 |  | ||||||
|       }, |  | ||||||
|       "background": { |  | ||||||
|         "color": "blue", |  | ||||||
|         "dashes": false, |  | ||||||
|         "enabled": false, |  | ||||||
|         "size": 10 |  | ||||||
|       }, |  | ||||||
|       "arrows": { |  | ||||||
|         "from": { |  | ||||||
|           "enabled": false, |  | ||||||
|           "type": "arrow" |  | ||||||
|         }, |  | ||||||
|         "to": { |  | ||||||
|           "enabled": false, |  | ||||||
|           "type": "arrow" |  | ||||||
|         } |  | ||||||
|       }, |  | ||||||
|       "font": { |  | ||||||
|         "color": "gray", |  | ||||||
|         "size": 11, |  | ||||||
|         "face": "verdana", |  | ||||||
|         "align": "top" |  | ||||||
|       }, |  | ||||||
|       "smooth": { |  | ||||||
|         "enabled": true, |  | ||||||
|         "roundness": 0.1, |  | ||||||
|         "type": "curvedCW" |  | ||||||
|  |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   "SingleFiber": { |  | ||||||
|     "dashes": true, |  | ||||||
|     "component_type": "Fiber", |  | ||||||
|     "fiber_category": "Single Fiber", |  | ||||||
|     "width": 2, |  | ||||||
|     "options": { |  | ||||||
|       "color": { |  | ||||||
|         "color": "blue", |  | ||||||
|         "highlight": "blue", |  | ||||||
|         "hover": "blue", |  | ||||||
|         "inherit": false, |  | ||||||
|         "opacity": 1 |  | ||||||
|       }, |  | ||||||
|       "background": { |  | ||||||
|         "color": "blue", |  | ||||||
|         "dashes": false, |  | ||||||
|         "enabled": false, |  | ||||||
|         "size": 10 |  | ||||||
|       }, |  | ||||||
|       "arrows": { |  | ||||||
|         "from": { |  | ||||||
|           "enabled": false, |  | ||||||
|           "type": "arrow" |  | ||||||
|         }, |  | ||||||
|         "to": { |  | ||||||
|           "enabled": true, |  | ||||||
|           "type": "arrow" |  | ||||||
|         } |  | ||||||
|       }, |  | ||||||
|       "font": { |  | ||||||
|         "color": "gray", |  | ||||||
|         "size": 11, |  | ||||||
|         "face": "verdana", |  | ||||||
|         "align": "top" |  | ||||||
|       }, |  | ||||||
|       "smooth": { |  | ||||||
|         "enabled": true, |  | ||||||
|         "roundness": 0.1, |  | ||||||
|         "type": "curvedCW" |  | ||||||
|  |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|  |  | ||||||
|   "Service": { |  | ||||||
|     "dashes": true, |  | ||||||
|     "component_type": "Service", |  | ||||||
|     "width": 2, |  | ||||||
|     "options": { |  | ||||||
|       "color": { |  | ||||||
|         "color": "red", |  | ||||||
|         "highlight": "red", |  | ||||||
|         "hover": "red", |  | ||||||
|         "inherit": false, |  | ||||||
|         "opacity": 1 |  | ||||||
|       }, |  | ||||||
|       "background": { |  | ||||||
|         "color": "red", |  | ||||||
|         "dashes": false, |  | ||||||
|         "enabled": false, |  | ||||||
|         "size": 10 |  | ||||||
|       }, |  | ||||||
|       "arrows": { |  | ||||||
|         "from": { |  | ||||||
|           "enabled": true, |  | ||||||
|           "type": "arrow" |  | ||||||
|         }, |  | ||||||
|         "to": { |  | ||||||
|           "enabled": true, |  | ||||||
|           "type": "arrow" |  | ||||||
|         } |  | ||||||
|       }, |  | ||||||
|       "font": { |  | ||||||
|         "color": "gray", |  | ||||||
|         "size": 11, |  | ||||||
|         "face": "verdana", |  | ||||||
|         "align": "top" |  | ||||||
|       }, |  | ||||||
|       "smooth": { |  | ||||||
|         "enabled": true, |  | ||||||
|         "roundness": "0.1", |  | ||||||
|         "type": "curvedCW" |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|  |  | ||||||
|   "SinglePatch": { |  | ||||||
|     "dashes": true, |  | ||||||
|     "component_type": "Patch", |  | ||||||
|     "patch_category": "Single Patch", |  | ||||||
|     "width": 2, |  | ||||||
|     "options": { |  | ||||||
|       "color": { |  | ||||||
|         "color": "black", |  | ||||||
|         "highlight": "black", |  | ||||||
|         "hover": "black", |  | ||||||
|         "inherit": false, |  | ||||||
|         "opacity": 1 |  | ||||||
|       }, |  | ||||||
|       "background": { |  | ||||||
|         "color": "black", |  | ||||||
|         "dashes": false, |  | ||||||
|         "enabled": false, |  | ||||||
|         "size": 10 |  | ||||||
|       }, |  | ||||||
|       "arrows": { |  | ||||||
|         "from": { |  | ||||||
|           "enabled": false, |  | ||||||
|           "type": "arrow" |  | ||||||
|         }, |  | ||||||
|         "to": { |  | ||||||
|           "enabled": true, |  | ||||||
|           "type": "arrow" |  | ||||||
|         } |  | ||||||
|       }, |  | ||||||
|       "font": { |  | ||||||
|         "color": "gray", |  | ||||||
|         "size": 11, |  | ||||||
|         "face": "verdana", |  | ||||||
|         "align": "top" |  | ||||||
|       }, |  | ||||||
|       "smooth": { |  | ||||||
|         "enabled": false, |  | ||||||
|         "roundness": 0.1, |  | ||||||
|         "type": "curvedCW" |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|  |  | ||||||
|   "DualPatch": { |  | ||||||
|     "dashes": false, |  | ||||||
|     "component_type": "Patch", |  | ||||||
|     "patch_category": "Dual Patch", |  | ||||||
|     "width": 2, |  | ||||||
|     "options": { |  | ||||||
|       "color": { |  | ||||||
|         "color": "black", |  | ||||||
|         "highlight": "black", |  | ||||||
|         "hover": "black", |  | ||||||
|         "inherit": false, |  | ||||||
|         "opacity": 1 |  | ||||||
|       }, |  | ||||||
|       "background": { |  | ||||||
|         "color": "black", |  | ||||||
|         "dashes": false, |  | ||||||
|         "enabled": false, |  | ||||||
|         "size": 10 |  | ||||||
|       }, |  | ||||||
|       "arrows": { |  | ||||||
|         "from": { |  | ||||||
|           "enabled": false, |  | ||||||
|           "type": "arrow" |  | ||||||
|         }, |  | ||||||
|         "to": { |  | ||||||
|           "enabled": false, |  | ||||||
|           "type": "arrow" |  | ||||||
|         } |  | ||||||
|       }, |  | ||||||
|       "font": { |  | ||||||
|         "color": "gray", |  | ||||||
|         "size": 11, |  | ||||||
|         "face": "verdana", |  | ||||||
|         "align": "top" |  | ||||||
|       }, |  | ||||||
|       "smooth": { |  | ||||||
|         "enabled": false, |  | ||||||
|         "roundness": 0.1, |  | ||||||
|         "type": "curvedCW" |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @@ -1,527 +0,0 @@ | |||||||
| { |  | ||||||
|  |  | ||||||
|   "Edfa": [ |  | ||||||
|     { |  | ||||||
|       "type_variety": "high_detail_model_example", |  | ||||||
|       "type_def": "advanced_model", |  | ||||||
|       "gain_flatmax": 25, |  | ||||||
|       "gain_min": 15, |  | ||||||
|       "p_max": 21, |  | ||||||
|       "advanced_config_from_json": "std_medium_gain_advanced_config.json", |  | ||||||
|       "out_voa_auto": false, |  | ||||||
|       "allowed_for_design": false |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type_variety": "Juniper_BoosterHG", |  | ||||||
|       "type_def": "advanced_model", |  | ||||||
|       "gain_flatmax": 25, |  | ||||||
|       "gain_min": 10, |  | ||||||
|       "p_max": 21, |  | ||||||
|       "advanced_config_from_json": "Juniper-BoosterHG.json", |  | ||||||
|       "out_voa_auto": false, |  | ||||||
|       "allowed_for_design": false |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type_variety": "operator_model_example", |  | ||||||
|       "type_def": "variable_gain", |  | ||||||
|       "gain_flatmax": 26, |  | ||||||
|       "gain_min": 15, |  | ||||||
|       "p_max": 23, |  | ||||||
|       "nf_min": 6, |  | ||||||
|       "nf_max": 10, |  | ||||||
|       "out_voa_auto": false, |  | ||||||
|       "allowed_for_design": false |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type_variety": "openroadm_ila_low_noise", |  | ||||||
|       "type_def": "openroadm", |  | ||||||
|       "gain_flatmax": 27, |  | ||||||
|       "gain_min": 0, |  | ||||||
|       "p_max": 22, |  | ||||||
|       "nf_coef": [ -8.104e-4, -6.221e-2, -5.889e-1, 37.62 ], |  | ||||||
|       "allowed_for_design": false |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type_variety": "openroadm_ila_standard", |  | ||||||
|       "type_def": "openroadm", |  | ||||||
|       "gain_flatmax": 27, |  | ||||||
|       "gain_min": 0, |  | ||||||
|       "p_max": 22, |  | ||||||
|       "nf_coef": [ -5.952e-4, -6.250e-2, -1.071, 28.99 ], |  | ||||||
|       "allowed_for_design": false |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type_variety": "openroadm_mw_mw_preamp", |  | ||||||
|       "type_def": "openroadm_preamp", |  | ||||||
|       "gain_flatmax": 27, |  | ||||||
|       "gain_min": 0, |  | ||||||
|       "p_max": 22, |  | ||||||
|       "allowed_for_design": false |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type_variety": "openroadm_mw_mw_preamp_typical_ver5", |  | ||||||
|       "type_def": "openroadm", |  | ||||||
|       "gain_flatmax": 27, |  | ||||||
|       "gain_min": 0, |  | ||||||
|       "p_max": 22, |  | ||||||
|       "nf_coef": [ -5.952e-4, -6.250e-2, -1.071, 28.99 ], |  | ||||||
|       "allowed_for_design": false |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type_variety": "openroadm_mw_mw_preamp_worstcase_ver5", |  | ||||||
|       "type_def": "openroadm", |  | ||||||
|       "gain_flatmax": 27, |  | ||||||
|       "gain_min": 0, |  | ||||||
|       "p_max": 22, |  | ||||||
|       "nf_coef": [ -5.952e-4, -6.250e-2, -1.071, 27.99 ], |  | ||||||
|       "allowed_for_design": false |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type_variety": "openroadm_mw_mw_booster", |  | ||||||
|       "type_def": "openroadm_booster", |  | ||||||
|       "gain_flatmax": 32, |  | ||||||
|       "gain_min": 0, |  | ||||||
|       "p_max": 22, |  | ||||||
|       "allowed_for_design": false |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type_variety": "std_high_gain", |  | ||||||
|       "type_def": "variable_gain", |  | ||||||
|       "gain_flatmax": 35, |  | ||||||
|       "gain_min": 25, |  | ||||||
|       "p_max": 21, |  | ||||||
|       "nf_min": 5.5, |  | ||||||
|       "nf_max": 7, |  | ||||||
|       "out_voa_auto": false, |  | ||||||
|       "allowed_for_design": true |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type_variety": "std_medium_gain", |  | ||||||
|       "type_def": "variable_gain", |  | ||||||
|       "gain_flatmax": 26, |  | ||||||
|       "gain_min": 15, |  | ||||||
|       "p_max": 23, |  | ||||||
|       "nf_min": 6, |  | ||||||
|       "nf_max": 10, |  | ||||||
|       "out_voa_auto": false, |  | ||||||
|       "allowed_for_design": true |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type_variety": "std_low_gain", |  | ||||||
|       "type_def": "variable_gain", |  | ||||||
|       "gain_flatmax": 16, |  | ||||||
|       "gain_min": 8, |  | ||||||
|       "p_max": 23, |  | ||||||
|       "nf_min": 6.5, |  | ||||||
|       "nf_max": 11, |  | ||||||
|       "out_voa_auto": false, |  | ||||||
|       "allowed_for_design": true |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type_variety": "high_power", |  | ||||||
|       "type_def": "variable_gain", |  | ||||||
|       "gain_flatmax": 16, |  | ||||||
|       "gain_min": 8, |  | ||||||
|       "p_max": 25, |  | ||||||
|       "nf_min": 9, |  | ||||||
|       "nf_max": 15, |  | ||||||
|       "out_voa_auto": false, |  | ||||||
|       "allowed_for_design": false |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type_variety": "std_fixed_gain", |  | ||||||
|       "type_def": "fixed_gain", |  | ||||||
|       "gain_flatmax": 21, |  | ||||||
|       "gain_min": 20, |  | ||||||
|       "p_max": 21, |  | ||||||
|       "nf0": 5.5, |  | ||||||
|       "allowed_for_design": false |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type_variety": "4pumps_raman", |  | ||||||
|       "type_def": "fixed_gain", |  | ||||||
|       "gain_flatmax": 12, |  | ||||||
|       "gain_min": 12, |  | ||||||
|       "p_max": 21, |  | ||||||
|       "nf0": -1, |  | ||||||
|       "allowed_for_design": false |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type_variety": "hybrid_4pumps_lowgain", |  | ||||||
|       "type_def": "dual_stage", |  | ||||||
|       "raman": true, |  | ||||||
|       "gain_min": 25, |  | ||||||
|       "preamp_variety": "4pumps_raman", |  | ||||||
|       "booster_variety": "std_low_gain", |  | ||||||
|       "allowed_for_design": true |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type_variety": "hybrid_4pumps_mediumgain", |  | ||||||
|       "type_def": "dual_stage", |  | ||||||
|       "raman": true, |  | ||||||
|       "gain_min": 25, |  | ||||||
|       "preamp_variety": "4pumps_raman", |  | ||||||
|       "booster_variety": "std_medium_gain", |  | ||||||
|       "allowed_for_design": true |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type_variety": "medium+low_gain", |  | ||||||
|       "type_def": "dual_stage", |  | ||||||
|       "gain_min": 25, |  | ||||||
|       "preamp_variety": "std_medium_gain", |  | ||||||
|       "booster_variety": "std_low_gain", |  | ||||||
|       "allowed_for_design": true |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type_variety": "medium+high_power", |  | ||||||
|       "type_def": "dual_stage", |  | ||||||
|       "gain_min": 25, |  | ||||||
|       "preamp_variety": "std_medium_gain", |  | ||||||
|       "booster_variety": "high_power", |  | ||||||
|       "allowed_for_design": false |  | ||||||
|     } |  | ||||||
|   ], |  | ||||||
|   "Fiber": [ |  | ||||||
|     { |  | ||||||
|       "type_variety": "SSMF", |  | ||||||
|       "dispersion": 1.67e-05, |  | ||||||
|       "gamma": 0.00127, |  | ||||||
|       "pmd_coef": 1.265e-15 |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type_variety": "NZDF", |  | ||||||
|       "dispersion": 0.5e-05, |  | ||||||
|       "gamma": 0.00146, |  | ||||||
|       "pmd_coef": 1.265e-15 |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type_variety": "LOF", |  | ||||||
|       "dispersion": 2.2e-05, |  | ||||||
|       "gamma": 0.000843, |  | ||||||
|       "pmd_coef": 1.265e-15 |  | ||||||
|     } |  | ||||||
|   ], |  | ||||||
|   "RamanFiber": [ |  | ||||||
|     { |  | ||||||
|       "type_variety": "SSMF", |  | ||||||
|       "dispersion": 1.67e-05, |  | ||||||
|       "gamma": 0.00127, |  | ||||||
|       "pmd_coef": 1.265e-15, |  | ||||||
|       "raman_efficiency": { |  | ||||||
|         "cr": [ |  | ||||||
|           0, |  | ||||||
|           9.4E-06, |  | ||||||
|           2.92E-05, |  | ||||||
|           4.88E-05, |  | ||||||
|           6.82E-05, |  | ||||||
|           8.31E-05, |  | ||||||
|           9.4E-05, |  | ||||||
|           0.0001014, |  | ||||||
|           0.0001069, |  | ||||||
|           0.0001119, |  | ||||||
|           0.0001217, |  | ||||||
|           0.0001268, |  | ||||||
|           0.0001365, |  | ||||||
|           0.000149, |  | ||||||
|           0.000165, |  | ||||||
|           0.000181, |  | ||||||
|           0.0001977, |  | ||||||
|           0.0002192, |  | ||||||
|           0.0002469, |  | ||||||
|           0.0002749, |  | ||||||
|           0.0002999, |  | ||||||
|           0.0003206, |  | ||||||
|           0.0003405, |  | ||||||
|           0.0003592, |  | ||||||
|           0.000374, |  | ||||||
|           0.0003826, |  | ||||||
|           0.0003841, |  | ||||||
|           0.0003826, |  | ||||||
|           0.0003802, |  | ||||||
|           0.0003756, |  | ||||||
|           0.0003549, |  | ||||||
|           0.0003795, |  | ||||||
|           0.000344, |  | ||||||
|           0.0002933, |  | ||||||
|           0.0002024, |  | ||||||
|           0.0001158, |  | ||||||
|           8.46E-05, |  | ||||||
|           7.14E-05, |  | ||||||
|           6.86E-05, |  | ||||||
|           8.5E-05, |  | ||||||
|           8.93E-05, |  | ||||||
|           9.01E-05, |  | ||||||
|           8.15E-05, |  | ||||||
|           6.67E-05, |  | ||||||
|           4.37E-05, |  | ||||||
|           3.28E-05, |  | ||||||
|           2.96E-05, |  | ||||||
|           2.65E-05, |  | ||||||
|           2.57E-05, |  | ||||||
|           2.81E-05, |  | ||||||
|           3.08E-05, |  | ||||||
|           3.67E-05, |  | ||||||
|           5.85E-05, |  | ||||||
|           6.63E-05, |  | ||||||
|           6.36E-05, |  | ||||||
|           5.5E-05, |  | ||||||
|           4.06E-05, |  | ||||||
|           2.77E-05, |  | ||||||
|           2.42E-05, |  | ||||||
|           1.87E-05, |  | ||||||
|           1.6E-05, |  | ||||||
|           1.4E-05, |  | ||||||
|           1.13E-05, |  | ||||||
|           1.05E-05, |  | ||||||
|           9.8E-06, |  | ||||||
|           9.8E-06, |  | ||||||
|           1.13E-05, |  | ||||||
|           1.64E-05, |  | ||||||
|           1.95E-05, |  | ||||||
|           2.38E-05, |  | ||||||
|           2.26E-05, |  | ||||||
|           2.03E-05, |  | ||||||
|           1.48E-05, |  | ||||||
|           1.09E-05, |  | ||||||
|           9.8E-06, |  | ||||||
|           1.05E-05, |  | ||||||
|           1.17E-05, |  | ||||||
|           1.25E-05, |  | ||||||
|           1.21E-05, |  | ||||||
|           1.09E-05, |  | ||||||
|           9.8E-06, |  | ||||||
|           8.2E-06, |  | ||||||
|           6.6E-06, |  | ||||||
|           4.7E-06, |  | ||||||
|           2.7E-06, |  | ||||||
|           1.9E-06, |  | ||||||
|           1.2E-06, |  | ||||||
|           4E-07, |  | ||||||
|           2E-07, |  | ||||||
|           1E-07 |  | ||||||
|         ], |  | ||||||
|         "frequency_offset": [ |  | ||||||
|           0, |  | ||||||
|           0.5e12, |  | ||||||
|           1e12, |  | ||||||
|           1.5e12, |  | ||||||
|           2e12, |  | ||||||
|           2.5e12, |  | ||||||
|           3e12, |  | ||||||
|           3.5e12, |  | ||||||
|           4e12, |  | ||||||
|           4.5e12, |  | ||||||
|           5e12, |  | ||||||
|           5.5e12, |  | ||||||
|           6e12, |  | ||||||
|           6.5e12, |  | ||||||
|           7e12, |  | ||||||
|           7.5e12, |  | ||||||
|           8e12, |  | ||||||
|           8.5e12, |  | ||||||
|           9e12, |  | ||||||
|           9.5e12, |  | ||||||
|           10e12, |  | ||||||
|           10.5e12, |  | ||||||
|           11e12, |  | ||||||
|           11.5e12, |  | ||||||
|           12e12, |  | ||||||
|           12.5e12, |  | ||||||
|           12.75e12, |  | ||||||
|           13e12, |  | ||||||
|           13.25e12, |  | ||||||
|           13.5e12, |  | ||||||
|           14e12, |  | ||||||
|           14.5e12, |  | ||||||
|           14.75e12, |  | ||||||
|           15e12, |  | ||||||
|           15.5e12, |  | ||||||
|           16e12, |  | ||||||
|           16.5e12, |  | ||||||
|           17e12, |  | ||||||
|           17.5e12, |  | ||||||
|           18e12, |  | ||||||
|           18.25e12, |  | ||||||
|           18.5e12, |  | ||||||
|           18.75e12, |  | ||||||
|           19e12, |  | ||||||
|           19.5e12, |  | ||||||
|           20e12, |  | ||||||
|           20.5e12, |  | ||||||
|           21e12, |  | ||||||
|           21.5e12, |  | ||||||
|           22e12, |  | ||||||
|           22.5e12, |  | ||||||
|           23e12, |  | ||||||
|           23.5e12, |  | ||||||
|           24e12, |  | ||||||
|           24.5e12, |  | ||||||
|           25e12, |  | ||||||
|           25.5e12, |  | ||||||
|           26e12, |  | ||||||
|           26.5e12, |  | ||||||
|           27e12, |  | ||||||
|           27.5e12, |  | ||||||
|           28e12, |  | ||||||
|           28.5e12, |  | ||||||
|           29e12, |  | ||||||
|           29.5e12, |  | ||||||
|           30e12, |  | ||||||
|           30.5e12, |  | ||||||
|           31e12, |  | ||||||
|           31.5e12, |  | ||||||
|           32e12, |  | ||||||
|           32.5e12, |  | ||||||
|           33e12, |  | ||||||
|           33.5e12, |  | ||||||
|           34e12, |  | ||||||
|           34.5e12, |  | ||||||
|           35e12, |  | ||||||
|           35.5e12, |  | ||||||
|           36e12, |  | ||||||
|           36.5e12, |  | ||||||
|           37e12, |  | ||||||
|           37.5e12, |  | ||||||
|           38e12, |  | ||||||
|           38.5e12, |  | ||||||
|           39e12, |  | ||||||
|           39.5e12, |  | ||||||
|           40e12, |  | ||||||
|           40.5e12, |  | ||||||
|           41e12, |  | ||||||
|           41.5e12, |  | ||||||
|           42e12 |  | ||||||
|         ] |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   ], |  | ||||||
|   "Span": [ |  | ||||||
|     { |  | ||||||
|       "power_mode": true, |  | ||||||
|       "delta_power_range_db": [ -2, 3, 0.5 ], |  | ||||||
|       "max_fiber_lineic_loss_for_raman": 0.25, |  | ||||||
|       "target_extended_gain": 2.5, |  | ||||||
|       "max_length": 150, |  | ||||||
|       "length_units": "km", |  | ||||||
|       "max_loss": 28, |  | ||||||
|       "padding": 10, |  | ||||||
|       "EOL": 0, |  | ||||||
|       "con_in": 0, |  | ||||||
|       "con_out": 0 |  | ||||||
|     } |  | ||||||
|   ], |  | ||||||
|   "Roadm": [ |  | ||||||
|     { |  | ||||||
|       "target_pch_out_db": -20, |  | ||||||
|       "add_drop_osnr": 38, |  | ||||||
|       "pmd": 0, |  | ||||||
|       "restrictions": { |  | ||||||
|         "preamp_variety_list": [ |  | ||||||
|           "openroadm_ila_low_noise", |  | ||||||
|           "openroadm_ila_standard", |  | ||||||
|           "openroadm_mw_mw_preamp" |  | ||||||
|         ], |  | ||||||
|         "booster_variety_list": [ |  | ||||||
|           "openroadm_ila_low_noise", |  | ||||||
|           "openroadm_ila_standard", |  | ||||||
|           "openroadm_mw_mw_booster" |  | ||||||
|         ] |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   ], |  | ||||||
|   "SI": [ |  | ||||||
|     { |  | ||||||
|       "f_min": 191.3e12, |  | ||||||
|       "baud_rate": 32e9, |  | ||||||
|       "f_max": 195.1e12, |  | ||||||
|       "spacing": 50e9, |  | ||||||
|       "power_dbm": 0, |  | ||||||
|       "power_range_db": [ 0, 0, 1 ], |  | ||||||
|       "roll_off": 0.15, |  | ||||||
|       "tx_osnr": 40, |  | ||||||
|       "sys_margins": 2 |  | ||||||
|     } |  | ||||||
|   ], |  | ||||||
|   "Transceiver": [ |  | ||||||
|     { |  | ||||||
|       "type_variety": "vendorA_trx-type1", |  | ||||||
|       "frequency": { |  | ||||||
|         "min": 191.35e12, |  | ||||||
|         "max": 196.1e12 |  | ||||||
|       }, |  | ||||||
|       "mode": [ |  | ||||||
|         { |  | ||||||
|  |  | ||||||
|           "format": "mode 1", |  | ||||||
|           "baud_rate": 32e9, |  | ||||||
|           "OSNR": 11, |  | ||||||
|           "bit_rate": 100e9, |  | ||||||
|           "roll_off": 0.15, |  | ||||||
|           "tx_osnr": 40, |  | ||||||
|           "min_spacing": 37.5e9, |  | ||||||
|           "cost": 1 |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "format": "mode 2", |  | ||||||
|           "baud_rate": 66e9, |  | ||||||
|           "OSNR": 15, |  | ||||||
|           "bit_rate": 200e9, |  | ||||||
|           "roll_off": 0.15, |  | ||||||
|           "tx_osnr": 40, |  | ||||||
|           "min_spacing": 75e9, |  | ||||||
|           "cost": 1 |  | ||||||
|         } |  | ||||||
|       ] |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type_variety": "Voyager", |  | ||||||
|       "frequency": { |  | ||||||
|         "min": 191.35e12, |  | ||||||
|         "max": 196.1e12 |  | ||||||
|       }, |  | ||||||
|       "mode": [ |  | ||||||
|         { |  | ||||||
|           "format": "mode 1", |  | ||||||
|           "baud_rate": 32e9, |  | ||||||
|           "OSNR": 12, |  | ||||||
|           "bit_rate": 100e9, |  | ||||||
|           "roll_off": 0.15, |  | ||||||
|           "tx_osnr": 40, |  | ||||||
|           "min_spacing": 37.5e9, |  | ||||||
|           "cost": 1 |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "format": "mode 3", |  | ||||||
|           "baud_rate": 44e9, |  | ||||||
|           "OSNR": 18, |  | ||||||
|           "bit_rate": 300e9, |  | ||||||
|           "roll_off": 0.15, |  | ||||||
|           "tx_osnr": 40, |  | ||||||
|           "min_spacing": 62.5e9, |  | ||||||
|           "cost": 1 |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "format": "mode 2", |  | ||||||
|           "baud_rate": 66e9, |  | ||||||
|           "OSNR": 21, |  | ||||||
|           "bit_rate": 400e9, |  | ||||||
|           "roll_off": 0.15, |  | ||||||
|           "tx_osnr": 40, |  | ||||||
|           "min_spacing": 75e9, |  | ||||||
|           "cost": 1 |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "format": "mode 4", |  | ||||||
|           "baud_rate": 66e9, |  | ||||||
|           "OSNR": 16, |  | ||||||
|           "bit_rate": 200e9, |  | ||||||
|           "roll_off": 0.15, |  | ||||||
|           "tx_osnr": 40, |  | ||||||
|           "min_spacing": 75e9, |  | ||||||
|           "cost": 1 |  | ||||||
|         } |  | ||||||
|       ] |  | ||||||
|     } |  | ||||||
|   ] |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @@ -1,985 +0,0 @@ | |||||||
| { |  | ||||||
|   "tip-photonic-equipment:amplifier": [ |  | ||||||
|     { |  | ||||||
|       "type": "fixed27", |  | ||||||
|       "gain-min": "27.0", |  | ||||||
|       "frequency-min": "191.35", |  | ||||||
|       "frequency-max": "196.1", |  | ||||||
|       "gain-flatmax": "27.0", |  | ||||||
|       "max-power-out": "21.0", |  | ||||||
|       "has-output-voa": false, |  | ||||||
|       "polynomial-NF": { |  | ||||||
|         "a": "0.0", |  | ||||||
|         "b": "0.0", |  | ||||||
|         "c": "0.0", |  | ||||||
|         "d": "5.5" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type": "fixed22", |  | ||||||
|       "gain-min": "22.0", |  | ||||||
|       "frequency-min": "191.35", |  | ||||||
|       "frequency-max": "196.1", |  | ||||||
|       "gain-flatmax": "22.0", |  | ||||||
|       "max-power-out": "21.0", |  | ||||||
|       "has-output-voa": false, |  | ||||||
|       "polynomial-NF": { |  | ||||||
|         "a": "0.0", |  | ||||||
|         "b": "0.0", |  | ||||||
|         "c": "0.0", |  | ||||||
|         "d": "5.5" |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   ], |  | ||||||
|   "tip-photonic-equipment:fiber": [ |  | ||||||
|     { |  | ||||||
|       "type": "SSMF", |  | ||||||
|       "chromatic-dispersion": "16.7", |  | ||||||
|       "gamma": "1.27", |  | ||||||
|       "pmd-coefficient": "0.0400028124" |  | ||||||
|     } |  | ||||||
|   ], |  | ||||||
|   "tip-photonic-equipment:transceiver": [ |  | ||||||
|     { |  | ||||||
|       "type": "Cassini", |  | ||||||
|       "frequency-min": "191.35", |  | ||||||
|       "frequency-max": "196.1", |  | ||||||
|       "mode": [ |  | ||||||
|         { |  | ||||||
|           "name": "dp-qpsk", |  | ||||||
|           "bit-rate": 100, |  | ||||||
|           "baud-rate": "32.0", |  | ||||||
|           "required-osnr": "11.0", |  | ||||||
|           "in-band-tx-osnr": "40.0", |  | ||||||
|           "grid-spacing": "37.5", |  | ||||||
|           "tx-roll-off": "0.15", |  | ||||||
|           "tip-photonic-simulation:cost": 1 |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           "name": "16-qam", |  | ||||||
|           "bit-rate": 200, |  | ||||||
|           "baud-rate": "66.0", |  | ||||||
|           "required-osnr": "15.0", |  | ||||||
|           "in-band-tx-osnr": "40.0", |  | ||||||
|           "grid-spacing": "75.0", |  | ||||||
|           "tx-roll-off": "0.15", |  | ||||||
|           "tip-photonic-simulation:cost": 1 |  | ||||||
|         } |  | ||||||
|       ] |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type": "Voyager", |  | ||||||
|       "frequency-min": "191.35", |  | ||||||
|       "frequency-max": "196.1", |  | ||||||
|       "mode": [ |  | ||||||
|         { |  | ||||||
|           "name": "mode 1", |  | ||||||
|           "bit-rate": 100, |  | ||||||
|           "baud-rate": "32.0", |  | ||||||
|           "required-osnr": "12.0", |  | ||||||
|           "in-band-tx-osnr": "40.0", |  | ||||||
|           "grid-spacing": "37.5", |  | ||||||
|           "tx-roll-off": "0.15", |  | ||||||
|           "tip-photonic-simulation:cost": 1 |  | ||||||
|         } |  | ||||||
|       ] |  | ||||||
|     } |  | ||||||
|   ], |  | ||||||
|   "tip-photonic-equipment:roadm": [ |  | ||||||
|     { |  | ||||||
|       "type": "default", |  | ||||||
|       "add-drop-osnr": "30.0", |  | ||||||
|       "polarization-mode-dispersion": "0.0", |  | ||||||
|       "target-channel-out-power": "-25.0", |  | ||||||
|       "compatible-preamp": [], |  | ||||||
|       "compatible-booster": [] |  | ||||||
|     } |  | ||||||
|   ], |  | ||||||
|   "tip-photonic-simulation:simulation": { |  | ||||||
|     "grid": { |  | ||||||
|       "frequency-min": "191.6", |  | ||||||
|       "frequency-max": "195.1", |  | ||||||
|       "spacing": "50.0", |  | ||||||
|       "power": "0.0", |  | ||||||
|       "tx-roll-off": "0.15", |  | ||||||
|       "tx-osnr": "40.0", |  | ||||||
|       "baud-rate": "32.0" |  | ||||||
|     }, |  | ||||||
|     "autodesign": { |  | ||||||
|       "allowed-inline-edfa": [], |  | ||||||
|       "power-adjustment-for-span-loss": { |  | ||||||
|         "maximal-reduction": "-2.0", |  | ||||||
|         "maximal-boost": "3.0", |  | ||||||
|         "excursion-step-size": "0.5" |  | ||||||
|       }, |  | ||||||
|       "gain-mode": [ |  | ||||||
|         null |  | ||||||
|       ] |  | ||||||
|     }, |  | ||||||
|     "system-margin": "2.0" |  | ||||||
|   }, |  | ||||||
|   "ietf-network:networks": { |  | ||||||
|     "network": [ |  | ||||||
|       { |  | ||||||
|         "network-id": "GNPy", |  | ||||||
|         "network-types": { |  | ||||||
|           "tip-photonic-topology:photonic-topology": {} |  | ||||||
|         }, |  | ||||||
|         "node": [ |  | ||||||
|           { |  | ||||||
|             "node-id": "TCVR 1", |  | ||||||
|             "tip-photonic-topology:transceiver": { |  | ||||||
|               "model": "Cassini" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": -415, |  | ||||||
|                 "Y-co-ordinate": -73, |  | ||||||
|                 "city": "TCVR 1", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "TCVR 2", |  | ||||||
|             "tip-photonic-topology:transceiver": { |  | ||||||
|               "model": "Cassini" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": 543, |  | ||||||
|                 "Y-co-ordinate": -88, |  | ||||||
|                 "city": "TCVR 2", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "ROADM 1", |  | ||||||
|             "tip-photonic-topology:roadm": { |  | ||||||
|               "model": "" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": 38, |  | ||||||
|                 "Y-co-ordinate": -195, |  | ||||||
|                 "city": "ROADM 1", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "ROADM 2", |  | ||||||
|             "tip-photonic-topology:roadm": { |  | ||||||
|               "model": "" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": -127, |  | ||||||
|                 "Y-co-ordinate": 143, |  | ||||||
|                 "city": "ROADM 2", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "ROADM 3", |  | ||||||
|             "tip-photonic-topology:roadm": { |  | ||||||
|               "model": "" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": 164, |  | ||||||
|                 "Y-co-ordinate": 171, |  | ||||||
|                 "city": "ROADM 3", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "ROADM 4", |  | ||||||
|             "tip-photonic-topology:roadm": { |  | ||||||
|               "model": "" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": -270, |  | ||||||
|                 "Y-co-ordinate": -34, |  | ||||||
|                 "city": "ROADM 4", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "ROADM 5", |  | ||||||
|             "tip-photonic-topology:roadm": { |  | ||||||
|               "model": "" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": 365, |  | ||||||
|                 "Y-co-ordinate": -34, |  | ||||||
|                 "city": "ROADM 5", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "EDFA 1", |  | ||||||
|             "tip-photonic-topology:amplifier": { |  | ||||||
|               "model": "", |  | ||||||
|               "gain-target": "0.0", |  | ||||||
|               "tilt-target": "0.0", |  | ||||||
|               "out-voa-target": "0.0" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": -206, |  | ||||||
|                 "Y-co-ordinate": -144, |  | ||||||
|                 "city": "EDFA 1", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "EDFA 2", |  | ||||||
|             "tip-photonic-topology:amplifier": { |  | ||||||
|               "model": "", |  | ||||||
|               "gain-target": "0.0", |  | ||||||
|               "tilt-target": "0.0", |  | ||||||
|               "out-voa-target": "0.0" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": -165, |  | ||||||
|                 "Y-co-ordinate": -80, |  | ||||||
|                 "city": "EDFA 2", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "EDFA 3", |  | ||||||
|             "tip-photonic-topology:amplifier": { |  | ||||||
|               "model": "", |  | ||||||
|               "gain-target": "0.0", |  | ||||||
|               "tilt-target": "0.0", |  | ||||||
|               "out-voa-target": "0.0" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": -77, |  | ||||||
|                 "Y-co-ordinate": -186, |  | ||||||
|                 "city": "EDFA 3", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "EDFA 4", |  | ||||||
|             "tip-photonic-topology:amplifier": { |  | ||||||
|               "model": "", |  | ||||||
|               "gain-target": "0.0", |  | ||||||
|               "tilt-target": "0.0", |  | ||||||
|               "out-voa-target": "0.0" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": -43, |  | ||||||
|                 "Y-co-ordinate": -111, |  | ||||||
|                 "city": "EDFA 4", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "EDFA 5", |  | ||||||
|             "tip-photonic-topology:amplifier": { |  | ||||||
|               "model": "", |  | ||||||
|               "gain-target": "0.0", |  | ||||||
|               "tilt-target": "0.0", |  | ||||||
|               "out-voa-target": "0.0" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": 99, |  | ||||||
|                 "Y-co-ordinate": -119, |  | ||||||
|                 "city": "EDFA 5", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "EDFA 6", |  | ||||||
|             "tip-photonic-topology:amplifier": { |  | ||||||
|               "model": "", |  | ||||||
|               "gain-target": "0.0", |  | ||||||
|               "tilt-target": "0.0", |  | ||||||
|               "out-voa-target": "0.0" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": 126, |  | ||||||
|                 "Y-co-ordinate": -196, |  | ||||||
|                 "city": "EDFA 6", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "EDFA 7", |  | ||||||
|             "tip-photonic-topology:amplifier": { |  | ||||||
|               "model": "", |  | ||||||
|               "gain-target": "0.0", |  | ||||||
|               "tilt-target": "0.0", |  | ||||||
|               "out-voa-target": "0.0" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": 255, |  | ||||||
|                 "Y-co-ordinate": -49, |  | ||||||
|                 "city": "EDFA 7", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "EDFA 8", |  | ||||||
|             "tip-photonic-topology:amplifier": { |  | ||||||
|               "model": "", |  | ||||||
|               "gain-target": "0.0", |  | ||||||
|               "tilt-target": "0.0", |  | ||||||
|               "out-voa-target": "0.0" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": 315, |  | ||||||
|                 "Y-co-ordinate": -123, |  | ||||||
|                 "city": "EDFA 8", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "EDFA 9", |  | ||||||
|             "tip-photonic-topology:amplifier": { |  | ||||||
|               "model": "", |  | ||||||
|               "gain-target": "0.0", |  | ||||||
|               "tilt-target": "0.0", |  | ||||||
|               "out-voa-target": "0.0" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": 302, |  | ||||||
|                 "Y-co-ordinate": 26, |  | ||||||
|                 "city": "EDFA 9", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "EDFA 10", |  | ||||||
|             "tip-photonic-topology:amplifier": { |  | ||||||
|               "model": "", |  | ||||||
|               "gain-target": "0.0", |  | ||||||
|               "tilt-target": "0.0", |  | ||||||
|               "out-voa-target": "0.0" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": 387, |  | ||||||
|                 "Y-co-ordinate": 74, |  | ||||||
|                 "city": "EDFA 10", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "EDFA 11", |  | ||||||
|             "tip-photonic-topology:amplifier": { |  | ||||||
|               "model": "", |  | ||||||
|               "gain-target": "0.0", |  | ||||||
|               "tilt-target": "0.0", |  | ||||||
|               "out-voa-target": "0.0" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": 219, |  | ||||||
|                 "Y-co-ordinate": 97, |  | ||||||
|                 "city": "EDFA 11", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "EDFA 12", |  | ||||||
|             "tip-photonic-topology:amplifier": { |  | ||||||
|               "model": "", |  | ||||||
|               "gain-target": "0.0", |  | ||||||
|               "tilt-target": "0.0", |  | ||||||
|               "out-voa-target": "0.0" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": 279, |  | ||||||
|                 "Y-co-ordinate": 168, |  | ||||||
|                 "city": "EDFA 12", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "EDFA 13", |  | ||||||
|             "tip-photonic-topology:amplifier": { |  | ||||||
|               "model": "", |  | ||||||
|               "gain-target": "0.0", |  | ||||||
|               "tilt-target": "0.0", |  | ||||||
|               "out-voa-target": "0.0" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": 80, |  | ||||||
|                 "Y-co-ordinate": 101, |  | ||||||
|                 "city": "EDFA 13", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "EDFA 14", |  | ||||||
|             "tip-photonic-topology:amplifier": { |  | ||||||
|               "model": "", |  | ||||||
|               "gain-target": "0.0", |  | ||||||
|               "tilt-target": "0.0", |  | ||||||
|               "out-voa-target": "0.0" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": 53, |  | ||||||
|                 "Y-co-ordinate": 195, |  | ||||||
|                 "city": "EDFA 14", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "EDFA 15", |  | ||||||
|             "tip-photonic-topology:amplifier": { |  | ||||||
|               "model": "", |  | ||||||
|               "gain-target": "0.0", |  | ||||||
|               "tilt-target": "0.0", |  | ||||||
|               "out-voa-target": "0.0" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": -44, |  | ||||||
|                 "Y-co-ordinate": 101, |  | ||||||
|                 "city": "EDFA 15", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "EDFA 16", |  | ||||||
|             "tip-photonic-topology:amplifier": { |  | ||||||
|               "model": "", |  | ||||||
|               "gain-target": "0.0", |  | ||||||
|               "tilt-target": "0.0", |  | ||||||
|               "out-voa-target": "0.0" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": -72, |  | ||||||
|                 "Y-co-ordinate": 195, |  | ||||||
|                 "city": "EDFA 16", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "EDFA 17", |  | ||||||
|             "tip-photonic-topology:amplifier": { |  | ||||||
|               "model": "", |  | ||||||
|               "gain-target": "0.0", |  | ||||||
|               "tilt-target": "0.0", |  | ||||||
|               "out-voa-target": "0.0" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": -220, |  | ||||||
|                 "Y-co-ordinate": 149, |  | ||||||
|                 "city": "EDFA 17", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "EDFA 18", |  | ||||||
|             "tip-photonic-topology:amplifier": { |  | ||||||
|               "model": "", |  | ||||||
|               "gain-target": "0.0", |  | ||||||
|               "tilt-target": "0.0", |  | ||||||
|               "out-voa-target": "0.0" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": -156, |  | ||||||
|                 "Y-co-ordinate": 75, |  | ||||||
|                 "city": "EDFA 18", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "EDFA 19", |  | ||||||
|             "tip-photonic-topology:amplifier": { |  | ||||||
|               "model": "", |  | ||||||
|               "gain-target": "0.0", |  | ||||||
|               "tilt-target": "0.0", |  | ||||||
|               "out-voa-target": "0.0" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": -286, |  | ||||||
|                 "Y-co-ordinate": 72, |  | ||||||
|                 "city": "EDFA 19", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "node-id": "EDFA 20", |  | ||||||
|             "tip-photonic-topology:amplifier": { |  | ||||||
|               "model": "", |  | ||||||
|               "gain-target": "0.0", |  | ||||||
|               "tilt-target": "0.0", |  | ||||||
|               "out-voa-target": "0.0" |  | ||||||
|             }, |  | ||||||
|             "metadata": { |  | ||||||
|               "Positions": { |  | ||||||
|                 "X-co-ordinate": -214, |  | ||||||
|                 "Y-co-ordinate": 21, |  | ||||||
|                 "city": "EDFA 20", |  | ||||||
|                 "region": "" |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|           } |  | ||||||
|         ], |  | ||||||
|         "ietf-network-topology:link": [ |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Fiber 1 - 3", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "EDFA 1" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "EDFA 3" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:fiber": { |  | ||||||
|               "type": "SSMF", |  | ||||||
|               "length": "1.0", |  | ||||||
|               "attenuation-in": "0.0", |  | ||||||
|               "conn-att-in": "0.5", |  | ||||||
|               "conn-att-out": "0.5" |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Fiber 4 - 2", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "EDFA 4" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "EDFA 2" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:fiber": { |  | ||||||
|               "type": "SSMF", |  | ||||||
|               "length": "1.0", |  | ||||||
|               "attenuation-in": "0.0", |  | ||||||
|               "conn-att-in": "0.5", |  | ||||||
|               "conn-att-out": "0.5" |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Fiber 6 - 8", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "EDFA 6" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "EDFA 8" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:fiber": { |  | ||||||
|               "type": "SSMF", |  | ||||||
|               "length": "1.0", |  | ||||||
|               "attenuation-in": "0.0", |  | ||||||
|               "conn-att-in": "0.5", |  | ||||||
|               "conn-att-out": "0.5" |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Fiber 7 - 5", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "EDFA 7" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "EDFA 5" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:fiber": { |  | ||||||
|               "type": "SSMF", |  | ||||||
|               "length": "1.0", |  | ||||||
|               "attenuation-in": "0.0", |  | ||||||
|               "conn-att-in": "0.5", |  | ||||||
|               "conn-att-out": "0.5" |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Fiber 10 - 12", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "EDFA 10" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "EDFA 12" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:fiber": { |  | ||||||
|               "type": "SSMF", |  | ||||||
|               "length": "1.0", |  | ||||||
|               "attenuation-in": "0.0", |  | ||||||
|               "conn-att-in": "0.5", |  | ||||||
|               "conn-att-out": "0.5" |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Fiber 11 - 9", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "EDFA 11" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "EDFA 9" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:fiber": { |  | ||||||
|               "type": "SSMF", |  | ||||||
|               "length": "1.0", |  | ||||||
|               "attenuation-in": "0.0", |  | ||||||
|               "conn-att-in": "0.5", |  | ||||||
|               "conn-att-out": "0.5" |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Fiber 14 - 16", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "EDFA 14" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "EDFA 16" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:fiber": { |  | ||||||
|               "type": "SSMF", |  | ||||||
|               "length": "1.0", |  | ||||||
|               "attenuation-in": "0.0", |  | ||||||
|               "conn-att-in": "0.5", |  | ||||||
|               "conn-att-out": "0.5" |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Fiber 15 - 13", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "EDFA 15" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "EDFA 13" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:fiber": { |  | ||||||
|               "type": "SSMF", |  | ||||||
|               "length": "1.0", |  | ||||||
|               "attenuation-in": "0.0", |  | ||||||
|               "conn-att-in": "0.5", |  | ||||||
|               "conn-att-out": "0.5" |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Fiber 20 - 18", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "EDFA 20" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "EDFA 18" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:fiber": { |  | ||||||
|               "type": "SSMF", |  | ||||||
|               "length": "1.0", |  | ||||||
|               "attenuation-in": "0.0", |  | ||||||
|               "conn-att-in": "0.5", |  | ||||||
|               "conn-att-out": "0.5" |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Fiber 17 - 19", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "EDFA 17" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "EDFA 19" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:fiber": { |  | ||||||
|               "type": "SSMF", |  | ||||||
|               "length": "1.0", |  | ||||||
|               "attenuation-in": "0.0", |  | ||||||
|               "conn-att-in": "0.5", |  | ||||||
|               "conn-att-out": "0.5" |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 1 - 4", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "TCVR 1" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "ROADM 4" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 4 - 1", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "ROADM 4" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "TCVR 1" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 4 - 1", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "ROADM 4" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "EDFA 1" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 3 - 1", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "EDFA 3" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "ROADM 1" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 1 - 6", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "ROADM 1" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "EDFA 6" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 8 - 5", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "EDFA 8" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "ROADM 5" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 5 - 2", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "ROADM 5" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "TCVR 2" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 2 - 5", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "TCVR 2" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "ROADM 5" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 5 - 10", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "ROADM 5" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "EDFA 10" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 12 - 3", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "EDFA 12" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "ROADM 3" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 3 - 14", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "ROADM 3" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "EDFA 14" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 16 - 2", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "EDFA 16" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "ROADM 2" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 2 - 17", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "ROADM 2" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "EDFA 17" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 19 - 4", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "EDFA 19" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "ROADM 4" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 4 - 20", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "ROADM 4" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "EDFA 20" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 18 - 2", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "EDFA 18" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "ROADM 2" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 2 - 15", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "ROADM 2" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "EDFA 15" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 13 - 3", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "EDFA 13" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "ROADM 3" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 3 - 11", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "ROADM 3" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "EDFA 11" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 9 - 5", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "EDFA 9" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "ROADM 5" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 5 - 7", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "ROADM 5" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "EDFA 7" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 5 - 1", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "EDFA 5" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "ROADM 1" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 1 - 4", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "ROADM 1" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "EDFA 4" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Patch 2 - 4", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "EDFA 2" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "ROADM 4" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:patch": {} |  | ||||||
|           }, |  | ||||||
|           { |  | ||||||
|             "link-id": "1-Service 1 - 2", |  | ||||||
|             "source": { |  | ||||||
|               "source-node": "TCVR 1" |  | ||||||
|             }, |  | ||||||
|             "destination": { |  | ||||||
|               "dest-node": "TCVR 2" |  | ||||||
|             }, |  | ||||||
|             "tip-photonic-topology:service": { |  | ||||||
|               "band-width": 100 |  | ||||||
|             } |  | ||||||
|           } |  | ||||||
|         ] |  | ||||||
|       } |  | ||||||
|     ] |  | ||||||
|   } |  | ||||||
| } |  | ||||||
							
								
								
									
										1810
									
								
								Data/yang.json
									
									
									
									
									
								
							
							
						
						
									
										1810
									
								
								Data/yang.json
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -11,44 +11,23 @@ | |||||||
|     <meta name="viewport" content="width=device-width, initial-scale=1" /> |     <meta name="viewport" content="width=device-width, initial-scale=1" /> | ||||||
|     <link rel="icon" href="Assets/img/telecom-favicon.ico" type="image/gif" sizes="16x16"> |     <link rel="icon" href="Assets/img/telecom-favicon.ico" type="image/gif" sizes="16x16"> | ||||||
|     <script src="js/Helper/Helper.js"></script> |     <script src="js/Helper/Helper.js"></script> | ||||||
|  |  | ||||||
|     <link href="css/cdn/bootstrap.min.css" rel="stylesheet" integrity="sha384-zCbKRCUGaJDkqS1kPbPd7TveP5iyJE0EjAuZQTgFLD2ylzuqKfdKlfG/eSrtxUkn" crossorigin="anonymous" /> |     <link href="css/cdn/bootstrap.min.css" rel="stylesheet" integrity="sha384-zCbKRCUGaJDkqS1kPbPd7TveP5iyJE0EjAuZQTgFLD2ylzuqKfdKlfG/eSrtxUkn" crossorigin="anonymous" /> | ||||||
|  |  | ||||||
|     <link rel="stylesheet" href="css/Style.css" /> |     <link rel="stylesheet" href="css/Style.css" /> | ||||||
|     <link href="css/cdn/font-awesome.min.css" rel="stylesheet" /> |     <link href="css/cdn/font-awesome.min.css" rel="stylesheet" /> | ||||||
|  |  | ||||||
|     <link href="css/cdn/roboto-css.css" rel="stylesheet" /> |     <link href="css/cdn/roboto-css.css" rel="stylesheet" /> | ||||||
|     <link href="css/cdn/oswald-css.css" rel="stylesheet" /> |     <link href="css/cdn/oswald-css.css" rel="stylesheet" /> | ||||||
|     <link href="css/cdn/icon.css" rel="stylesheet" /> |     <link href="css/cdn/icon.css" rel="stylesheet" /> | ||||||
|  |  | ||||||
|     <script src="js/CdnURL/polyfill.min.js" integrity="sha512-uzOpZ74myvXTYZ+mXUsPhDF+/iL/n32GDxdryI2SJronkEyKC8FBFRLiBQ7l7U/PTYebDbgTtbqTa6/vGtU23A==" crossorigin="anonymous"></script> |  | ||||||
|     <script src="js/CdnURL/runtime.js"></script> |  | ||||||
|  |  | ||||||
|     <script src="js/Network Graph/FileSaver.js"></script> |     <script src="js/Network Graph/FileSaver.js"></script> | ||||||
|     <script src="js/Network Graph/jsstore.js"></script> |  | ||||||
|     <script src="js/Network Graph/jsstore.worker.js"></script> |  | ||||||
|  |  | ||||||
|     <!--<script src="js/vis-network.min.js"></script>--> |  | ||||||
|     <!--<script src="js/CdnURL/vis.js"></script>--> |  | ||||||
|     <!--<script src="https://cdnjs.cloudflare.com/ajax/libs/vis/4.21.0/vis.js"></script>--> |  | ||||||
|  |  | ||||||
|     <script src="js/visunminify.js"></script> |     <script src="js/visunminify.js"></script> | ||||||
|     <link href="css/cdn/vis-network.min.css" rel="stylesheet" type="text/css" /> |     <link href="css/cdn/vis-network.min.css" rel="stylesheet" type="text/css" /> | ||||||
|     <script src="js/CdnURL/lodash.min.js"></script> |     <script src="js/CdnURL/lodash.min.js"></script> | ||||||
|     <script src="js/CdnURL/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script> |     <script src="js/CdnURL/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script> | ||||||
|     <link href="css/cdn/all.css" rel="stylesheet" /> |     <link href="css/cdn/all.css" rel="stylesheet" /> | ||||||
|  |  | ||||||
|     <script src="js/alea.js"></script> |     <script src="js/alea.js"></script> | ||||||
|     <script src="js/exampleUtil.js"></script> |     <script src="js/exampleUtil.js"></script> | ||||||
|     <script src="js/LocalDB/taffy.js"></script> |     <script src="js/LocalDB/taffy.js"></script> | ||||||
|     <script src="js/LocalDB/taffy-min.js"></script> |  | ||||||
|     <script src="js/jquery-2.0.3.js"></script> |  | ||||||
|     <script src="js/sweetalert2@9.js"></script> |  | ||||||
|     <script src="js/Network Graph/stylenetwork.js"></script> |     <script src="js/Network Graph/stylenetwork.js"></script> | ||||||
|  |  | ||||||
|     <script src="js/Network Graph/canvas-toBlob.js"></script> |  | ||||||
|     <script src="js/CdnURL/html2canvas.min.js" integrity="sha256-c3RzsUWg+y2XljunEQS0LqWdQ04X1D3j22fd/8JCAKw=" crossorigin="anonymous"></script> |     <script src="js/CdnURL/html2canvas.min.js" integrity="sha256-c3RzsUWg+y2XljunEQS0LqWdQ04X1D3j22fd/8JCAKw=" crossorigin="anonymous"></script> | ||||||
|     <script src="js/CdnURL/FileSaver.min.js" integrity="sha256-FPJJt8nA+xL4RU6/gsriA8p8xAeLGatoyTjldvQKGdE=" crossorigin="anonymous"></script> |  | ||||||
|     <script src="js/validation.js"></script> |     <script src="js/validation.js"></script> | ||||||
| </head> | </head> | ||||||
|  |  | ||||||
| @@ -1330,10 +1309,6 @@ | |||||||
|  |  | ||||||
|     <!-- Script language --> |     <!-- Script language --> | ||||||
|     <script src="js/main.js"></script> |     <script src="js/main.js"></script> | ||||||
|  |  | ||||||
|  |  | ||||||
|     <!--<script src="js/CdnURL/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" |  | ||||||
|             crossorigin="anonymous"></script>--> |  | ||||||
|     <script src="js/CdnURL/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" |     <script src="js/CdnURL/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" | ||||||
|             crossorigin="anonymous"></script> |             crossorigin="anonymous"></script> | ||||||
|     <script src="js/CdnURL/bootstrap.min.js" integrity="sha384-VHvPCCyXqtD5DqJeNxl2dtTyhF78xXNXdkwX1CZeRusQfRKp+tA7hAShOK/B/fQ2" |     <script src="js/CdnURL/bootstrap.min.js" integrity="sha384-VHvPCCyXqtD5DqJeNxl2dtTyhF78xXNXdkwX1CZeRusQfRKp+tA7hAShOK/B/fQ2" | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								js/CdnURL/FileSaver.min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								js/CdnURL/FileSaver.min.js
									
									
									
									
										vendored
									
									
								
							| @@ -1,2 +0,0 @@ | |||||||
| /*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */ |  | ||||||
| var saveAs=saveAs||function(e){"use strict";if(typeof e==="undefined"||typeof navigator!=="undefined"&&/MSIE [1-9]\./.test(navigator.userAgent)){return}var t=e.document,n=function(){return e.URL||e.webkitURL||e},r=t.createElementNS("http://www.w3.org/1999/xhtml","a"),o="download"in r,a=function(e){var t=new MouseEvent("click");e.dispatchEvent(t)},i=/constructor/i.test(e.HTMLElement)||e.safari,f=/CriOS\/[\d]+/.test(navigator.userAgent),u=function(t){(e.setImmediate||e.setTimeout)(function(){throw t},0)},s="application/octet-stream",d=1e3*40,c=function(e){var t=function(){if(typeof e==="string"){n().revokeObjectURL(e)}else{e.remove()}};setTimeout(t,d)},l=function(e,t,n){t=[].concat(t);var r=t.length;while(r--){var o=e["on"+t[r]];if(typeof o==="function"){try{o.call(e,n||e)}catch(a){u(a)}}}},p=function(e){if(/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)){return new Blob([String.fromCharCode(65279),e],{type:e.type})}return e},v=function(t,u,d){if(!d){t=p(t)}var v=this,w=t.type,m=w===s,y,h=function(){l(v,"writestart progress write writeend".split(" "))},S=function(){if((f||m&&i)&&e.FileReader){var r=new FileReader;r.onloadend=function(){var t=f?r.result:r.result.replace(/^data:[^;]*;/,"data:attachment/file;");var n=e.open(t,"_blank");if(!n)e.location.href=t;t=undefined;v.readyState=v.DONE;h()};r.readAsDataURL(t);v.readyState=v.INIT;return}if(!y){y=n().createObjectURL(t)}if(m){e.location.href=y}else{var o=e.open(y,"_blank");if(!o){e.location.href=y}}v.readyState=v.DONE;h();c(y)};v.readyState=v.INIT;if(o){y=n().createObjectURL(t);setTimeout(function(){r.href=y;r.download=u;a(r);h();c(y);v.readyState=v.DONE});return}S()},w=v.prototype,m=function(e,t,n){return new v(e,t||e.name||"download",n)};if(typeof navigator!=="undefined"&&navigator.msSaveOrOpenBlob){return function(e,t,n){t=t||e.name||"download";if(!n){e=p(e)}return navigator.msSaveOrOpenBlob(e,t)}}w.abort=function(){};w.readyState=w.INIT=0;w.WRITING=1;w.DONE=2;w.error=w.onwritestart=w.onprogress=w.onwrite=w.onabort=w.onerror=w.onwriteend=null;return m}(typeof self!=="undefined"&&self||typeof window!=="undefined"&&window||this.content);if(typeof module!=="undefined"&&module.exports){module.exports.saveAs=saveAs}else if(typeof define!=="undefined"&&define!==null&&define.amd!==null){define("FileSaver.js",function(){return saveAs})} |  | ||||||
							
								
								
									
										1
									
								
								js/CdnURL/polyfill.min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								js/CdnURL/polyfill.min.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -1,657 +0,0 @@ | |||||||
| /** |  | ||||||
|  * Copyright (c) 2014, Facebook, Inc. |  | ||||||
|  * All rights reserved. |  | ||||||
|  * |  | ||||||
|  * This source code is licensed under the BSD-style license found in the |  | ||||||
|  * https://raw.github.com/facebook/regenerator/master/LICENSE file. An |  | ||||||
|  * additional grant of patent rights can be found in the PATENTS file in |  | ||||||
|  * the same directory. |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| !(function(global) { |  | ||||||
|   "use strict"; |  | ||||||
|  |  | ||||||
|   var hasOwn = Object.prototype.hasOwnProperty; |  | ||||||
|   var undefined; // More compressible than void 0. |  | ||||||
|   var iteratorSymbol = |  | ||||||
|     typeof Symbol === "function" && Symbol.iterator || "@@iterator"; |  | ||||||
|  |  | ||||||
|   var inModule = typeof module === "object"; |  | ||||||
|   var runtime = global.regeneratorRuntime; |  | ||||||
|   if (runtime) { |  | ||||||
|     if (inModule) { |  | ||||||
|       // If regeneratorRuntime is defined globally and we're in a module, |  | ||||||
|       // make the exports object identical to regeneratorRuntime. |  | ||||||
|       module.exports = runtime; |  | ||||||
|     } |  | ||||||
|     // Don't bother evaluating the rest of this file if the runtime was |  | ||||||
|     // already defined globally. |  | ||||||
|     return; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   // Define the runtime globally (as expected by generated code) as either |  | ||||||
|   // module.exports (if we're in a module) or a new, empty object. |  | ||||||
|   runtime = global.regeneratorRuntime = inModule ? module.exports : {}; |  | ||||||
|  |  | ||||||
|   function wrap(innerFn, outerFn, self, tryLocsList) { |  | ||||||
|     // If outerFn provided, then outerFn.prototype instanceof Generator. |  | ||||||
|     var generator = Object.create((outerFn || Generator).prototype); |  | ||||||
|     var context = new Context(tryLocsList || []); |  | ||||||
|  |  | ||||||
|     // The ._invoke method unifies the implementations of the .next, |  | ||||||
|     // .throw, and .return methods. |  | ||||||
|     generator._invoke = makeInvokeMethod(innerFn, self, context); |  | ||||||
|  |  | ||||||
|     return generator; |  | ||||||
|   } |  | ||||||
|   runtime.wrap = wrap; |  | ||||||
|  |  | ||||||
|   // Try/catch helper to minimize deoptimizations. Returns a completion |  | ||||||
|   // record like context.tryEntries[i].completion. This interface could |  | ||||||
|   // have been (and was previously) designed to take a closure to be |  | ||||||
|   // invoked without arguments, but in all the cases we care about we |  | ||||||
|   // already have an existing method we want to call, so there's no need |  | ||||||
|   // to create a new function object. We can even get away with assuming |  | ||||||
|   // the method takes exactly one argument, since that happens to be true |  | ||||||
|   // in every case, so we don't have to touch the arguments object. The |  | ||||||
|   // only additional allocation required is the completion record, which |  | ||||||
|   // has a stable shape and so hopefully should be cheap to allocate. |  | ||||||
|   function tryCatch(fn, obj, arg) { |  | ||||||
|     try { |  | ||||||
|       return { type: "normal", arg: fn.call(obj, arg) }; |  | ||||||
|     } catch (err) { |  | ||||||
|       return { type: "throw", arg: err }; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   var GenStateSuspendedStart = "suspendedStart"; |  | ||||||
|   var GenStateSuspendedYield = "suspendedYield"; |  | ||||||
|   var GenStateExecuting = "executing"; |  | ||||||
|   var GenStateCompleted = "completed"; |  | ||||||
|  |  | ||||||
|   // Returning this object from the innerFn has the same effect as |  | ||||||
|   // breaking out of the dispatch switch statement. |  | ||||||
|   var ContinueSentinel = {}; |  | ||||||
|  |  | ||||||
|   // Dummy constructor functions that we use as the .constructor and |  | ||||||
|   // .constructor.prototype properties for functions that return Generator |  | ||||||
|   // objects. For full spec compliance, you may wish to configure your |  | ||||||
|   // minifier not to mangle the names of these two functions. |  | ||||||
|   function Generator() {} |  | ||||||
|   function GeneratorFunction() {} |  | ||||||
|   function GeneratorFunctionPrototype() {} |  | ||||||
|  |  | ||||||
|   var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype; |  | ||||||
|   GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype; |  | ||||||
|   GeneratorFunctionPrototype.constructor = GeneratorFunction; |  | ||||||
|   GeneratorFunction.displayName = "GeneratorFunction"; |  | ||||||
|  |  | ||||||
|   // Helper for defining the .next, .throw, and .return methods of the |  | ||||||
|   // Iterator interface in terms of a single ._invoke method. |  | ||||||
|   function defineIteratorMethods(prototype) { |  | ||||||
|     ["next", "throw", "return"].forEach(function(method) { |  | ||||||
|       prototype[method] = function(arg) { |  | ||||||
|         return this._invoke(method, arg); |  | ||||||
|       }; |  | ||||||
|     }); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   runtime.isGeneratorFunction = function(genFun) { |  | ||||||
|     var ctor = typeof genFun === "function" && genFun.constructor; |  | ||||||
|     return ctor |  | ||||||
|       ? ctor === GeneratorFunction || |  | ||||||
|         // For the native GeneratorFunction constructor, the best we can |  | ||||||
|         // do is to check its .name property. |  | ||||||
|         (ctor.displayName || ctor.name) === "GeneratorFunction" |  | ||||||
|       : false; |  | ||||||
|   }; |  | ||||||
|  |  | ||||||
|   runtime.mark = function(genFun) { |  | ||||||
|     if (Object.setPrototypeOf) { |  | ||||||
|       Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); |  | ||||||
|     } else { |  | ||||||
|       genFun.__proto__ = GeneratorFunctionPrototype; |  | ||||||
|     } |  | ||||||
|     genFun.prototype = Object.create(Gp); |  | ||||||
|     return genFun; |  | ||||||
|   }; |  | ||||||
|  |  | ||||||
|   // Within the body of any async function, `await x` is transformed to |  | ||||||
|   // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test |  | ||||||
|   // `value instanceof AwaitArgument` to determine if the yielded value is |  | ||||||
|   // meant to be awaited. Some may consider the name of this method too |  | ||||||
|   // cutesy, but they are curmudgeons. |  | ||||||
|   runtime.awrap = function(arg) { |  | ||||||
|     return new AwaitArgument(arg); |  | ||||||
|   }; |  | ||||||
|  |  | ||||||
|   function AwaitArgument(arg) { |  | ||||||
|     this.arg = arg; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   function AsyncIterator(generator) { |  | ||||||
|     // This invoke function is written in a style that assumes some |  | ||||||
|     // calling function (or Promise) will handle exceptions. |  | ||||||
|     function invoke(method, arg) { |  | ||||||
|       var result = generator[method](arg); |  | ||||||
|       var value = result.value; |  | ||||||
|       return value instanceof AwaitArgument |  | ||||||
|         ? Promise.resolve(value.arg).then(invokeNext, invokeThrow) |  | ||||||
|         : Promise.resolve(value).then(function(unwrapped) { |  | ||||||
|             // When a yielded Promise is resolved, its final value becomes |  | ||||||
|             // the .value of the Promise<{value,done}> result for the |  | ||||||
|             // current iteration. If the Promise is rejected, however, the |  | ||||||
|             // result for this iteration will be rejected with the same |  | ||||||
|             // reason. Note that rejections of yielded Promises are not |  | ||||||
|             // thrown back into the generator function, as is the case |  | ||||||
|             // when an awaited Promise is rejected. This difference in |  | ||||||
|             // behavior between yield and await is important, because it |  | ||||||
|             // allows the consumer to decide what to do with the yielded |  | ||||||
|             // rejection (swallow it and continue, manually .throw it back |  | ||||||
|             // into the generator, abandon iteration, whatever). With |  | ||||||
|             // await, by contrast, there is no opportunity to examine the |  | ||||||
|             // rejection reason outside the generator function, so the |  | ||||||
|             // only option is to throw it from the await expression, and |  | ||||||
|             // let the generator function handle the exception. |  | ||||||
|             result.value = unwrapped; |  | ||||||
|             return result; |  | ||||||
|           }); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     if (typeof process === "object" && process.domain) { |  | ||||||
|       invoke = process.domain.bind(invoke); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     var invokeNext = invoke.bind(generator, "next"); |  | ||||||
|     var invokeThrow = invoke.bind(generator, "throw"); |  | ||||||
|     var invokeReturn = invoke.bind(generator, "return"); |  | ||||||
|     var previousPromise; |  | ||||||
|  |  | ||||||
|     function enqueue(method, arg) { |  | ||||||
|       function callInvokeWithMethodAndArg() { |  | ||||||
|         return invoke(method, arg); |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       return previousPromise = |  | ||||||
|         // If enqueue has been called before, then we want to wait until |  | ||||||
|         // all previous Promises have been resolved before calling invoke, |  | ||||||
|         // so that results are always delivered in the correct order. If |  | ||||||
|         // enqueue has not been called before, then it is important to |  | ||||||
|         // call invoke immediately, without waiting on a callback to fire, |  | ||||||
|         // so that the async generator function has the opportunity to do |  | ||||||
|         // any necessary setup in a predictable way. This predictability |  | ||||||
|         // is why the Promise constructor synchronously invokes its |  | ||||||
|         // executor callback, and why async functions synchronously |  | ||||||
|         // execute code before the first await. Since we implement simple |  | ||||||
|         // async functions in terms of async generators, it is especially |  | ||||||
|         // important to get this right, even though it requires care. |  | ||||||
|         previousPromise ? previousPromise.then( |  | ||||||
|           callInvokeWithMethodAndArg, |  | ||||||
|           // Avoid propagating failures to Promises returned by later |  | ||||||
|           // invocations of the iterator. |  | ||||||
|           callInvokeWithMethodAndArg |  | ||||||
|         ) : new Promise(function (resolve) { |  | ||||||
|           resolve(callInvokeWithMethodAndArg()); |  | ||||||
|         }); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     // Define the unified helper method that is used to implement .next, |  | ||||||
|     // .throw, and .return (see defineIteratorMethods). |  | ||||||
|     this._invoke = enqueue; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   defineIteratorMethods(AsyncIterator.prototype); |  | ||||||
|  |  | ||||||
|   // Note that simple async functions are implemented on top of |  | ||||||
|   // AsyncIterator objects; they just return a Promise for the value of |  | ||||||
|   // the final result produced by the iterator. |  | ||||||
|   runtime.async = function(innerFn, outerFn, self, tryLocsList) { |  | ||||||
|     var iter = new AsyncIterator( |  | ||||||
|       wrap(innerFn, outerFn, self, tryLocsList) |  | ||||||
|     ); |  | ||||||
|  |  | ||||||
|     return runtime.isGeneratorFunction(outerFn) |  | ||||||
|       ? iter // If outerFn is a generator, return the full iterator. |  | ||||||
|       : iter.next().then(function(result) { |  | ||||||
|           return result.done ? result.value : iter.next(); |  | ||||||
|         }); |  | ||||||
|   }; |  | ||||||
|  |  | ||||||
|   function makeInvokeMethod(innerFn, self, context) { |  | ||||||
|     var state = GenStateSuspendedStart; |  | ||||||
|  |  | ||||||
|     return function invoke(method, arg) { |  | ||||||
|       if (state === GenStateExecuting) { |  | ||||||
|         throw new Error("Generator is already running"); |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       if (state === GenStateCompleted) { |  | ||||||
|         if (method === "throw") { |  | ||||||
|           throw arg; |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         // Be forgiving, per 25.3.3.3.3 of the spec: |  | ||||||
|         // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume |  | ||||||
|         return doneResult(); |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       while (true) { |  | ||||||
|         var delegate = context.delegate; |  | ||||||
|         if (delegate) { |  | ||||||
|           if (method === "return" || |  | ||||||
|               (method === "throw" && delegate.iterator[method] === undefined)) { |  | ||||||
|             // A return or throw (when the delegate iterator has no throw |  | ||||||
|             // method) always terminates the yield* loop. |  | ||||||
|             context.delegate = null; |  | ||||||
|  |  | ||||||
|             // If the delegate iterator has a return method, give it a |  | ||||||
|             // chance to clean up. |  | ||||||
|             var returnMethod = delegate.iterator["return"]; |  | ||||||
|             if (returnMethod) { |  | ||||||
|               var record = tryCatch(returnMethod, delegate.iterator, arg); |  | ||||||
|               if (record.type === "throw") { |  | ||||||
|                 // If the return method threw an exception, let that |  | ||||||
|                 // exception prevail over the original return or throw. |  | ||||||
|                 method = "throw"; |  | ||||||
|                 arg = record.arg; |  | ||||||
|                 continue; |  | ||||||
|               } |  | ||||||
|             } |  | ||||||
|  |  | ||||||
|             if (method === "return") { |  | ||||||
|               // Continue with the outer return, now that the delegate |  | ||||||
|               // iterator has been terminated. |  | ||||||
|               continue; |  | ||||||
|             } |  | ||||||
|           } |  | ||||||
|  |  | ||||||
|           var record = tryCatch( |  | ||||||
|             delegate.iterator[method], |  | ||||||
|             delegate.iterator, |  | ||||||
|             arg |  | ||||||
|           ); |  | ||||||
|  |  | ||||||
|           if (record.type === "throw") { |  | ||||||
|             context.delegate = null; |  | ||||||
|  |  | ||||||
|             // Like returning generator.throw(uncaught), but without the |  | ||||||
|             // overhead of an extra function call. |  | ||||||
|             method = "throw"; |  | ||||||
|             arg = record.arg; |  | ||||||
|             continue; |  | ||||||
|           } |  | ||||||
|  |  | ||||||
|           // Delegate generator ran and handled its own exceptions so |  | ||||||
|           // regardless of what the method was, we continue as if it is |  | ||||||
|           // "next" with an undefined arg. |  | ||||||
|           method = "next"; |  | ||||||
|           arg = undefined; |  | ||||||
|  |  | ||||||
|           var info = record.arg; |  | ||||||
|           if (info.done) { |  | ||||||
|             context[delegate.resultName] = info.value; |  | ||||||
|             context.next = delegate.nextLoc; |  | ||||||
|           } else { |  | ||||||
|             state = GenStateSuspendedYield; |  | ||||||
|             return info; |  | ||||||
|           } |  | ||||||
|  |  | ||||||
|           context.delegate = null; |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         if (method === "next") { |  | ||||||
|           context._sent = arg; |  | ||||||
|  |  | ||||||
|           if (state === GenStateSuspendedYield) { |  | ||||||
|             context.sent = arg; |  | ||||||
|           } else { |  | ||||||
|             context.sent = undefined; |  | ||||||
|           } |  | ||||||
|         } else if (method === "throw") { |  | ||||||
|           if (state === GenStateSuspendedStart) { |  | ||||||
|             state = GenStateCompleted; |  | ||||||
|             throw arg; |  | ||||||
|           } |  | ||||||
|  |  | ||||||
|           if (context.dispatchException(arg)) { |  | ||||||
|             // If the dispatched exception was caught by a catch block, |  | ||||||
|             // then let that catch block handle the exception normally. |  | ||||||
|             method = "next"; |  | ||||||
|             arg = undefined; |  | ||||||
|           } |  | ||||||
|  |  | ||||||
|         } else if (method === "return") { |  | ||||||
|           context.abrupt("return", arg); |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         state = GenStateExecuting; |  | ||||||
|  |  | ||||||
|         var record = tryCatch(innerFn, self, context); |  | ||||||
|         if (record.type === "normal") { |  | ||||||
|           // If an exception is thrown from innerFn, we leave state === |  | ||||||
|           // GenStateExecuting and loop back for another invocation. |  | ||||||
|           state = context.done |  | ||||||
|             ? GenStateCompleted |  | ||||||
|             : GenStateSuspendedYield; |  | ||||||
|  |  | ||||||
|           var info = { |  | ||||||
|             value: record.arg, |  | ||||||
|             done: context.done |  | ||||||
|           }; |  | ||||||
|  |  | ||||||
|           if (record.arg === ContinueSentinel) { |  | ||||||
|             if (context.delegate && method === "next") { |  | ||||||
|               // Deliberately forget the last sent value so that we don't |  | ||||||
|               // accidentally pass it on to the delegate. |  | ||||||
|               arg = undefined; |  | ||||||
|             } |  | ||||||
|           } else { |  | ||||||
|             return info; |  | ||||||
|           } |  | ||||||
|  |  | ||||||
|         } else if (record.type === "throw") { |  | ||||||
|           state = GenStateCompleted; |  | ||||||
|           // Dispatch the exception by looping back around to the |  | ||||||
|           // context.dispatchException(arg) call above. |  | ||||||
|           method = "throw"; |  | ||||||
|           arg = record.arg; |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     }; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   // Define Generator.prototype.{next,throw,return} in terms of the |  | ||||||
|   // unified ._invoke helper method. |  | ||||||
|   defineIteratorMethods(Gp); |  | ||||||
|  |  | ||||||
|   Gp[iteratorSymbol] = function() { |  | ||||||
|     return this; |  | ||||||
|   }; |  | ||||||
|  |  | ||||||
|   Gp.toString = function() { |  | ||||||
|     return "[object Generator]"; |  | ||||||
|   }; |  | ||||||
|  |  | ||||||
|   function pushTryEntry(locs) { |  | ||||||
|     var entry = { tryLoc: locs[0] }; |  | ||||||
|  |  | ||||||
|     if (1 in locs) { |  | ||||||
|       entry.catchLoc = locs[1]; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     if (2 in locs) { |  | ||||||
|       entry.finallyLoc = locs[2]; |  | ||||||
|       entry.afterLoc = locs[3]; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     this.tryEntries.push(entry); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   function resetTryEntry(entry) { |  | ||||||
|     var record = entry.completion || {}; |  | ||||||
|     record.type = "normal"; |  | ||||||
|     delete record.arg; |  | ||||||
|     entry.completion = record; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   function Context(tryLocsList) { |  | ||||||
|     // The root entry object (effectively a try statement without a catch |  | ||||||
|     // or a finally block) gives us a place to store values thrown from |  | ||||||
|     // locations where there is no enclosing try statement. |  | ||||||
|     this.tryEntries = [{ tryLoc: "root" }]; |  | ||||||
|     tryLocsList.forEach(pushTryEntry, this); |  | ||||||
|     this.reset(true); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   runtime.keys = function(object) { |  | ||||||
|     var keys = []; |  | ||||||
|     for (var key in object) { |  | ||||||
|       keys.push(key); |  | ||||||
|     } |  | ||||||
|     keys.reverse(); |  | ||||||
|  |  | ||||||
|     // Rather than returning an object with a next method, we keep |  | ||||||
|     // things simple and return the next function itself. |  | ||||||
|     return function next() { |  | ||||||
|       while (keys.length) { |  | ||||||
|         var key = keys.pop(); |  | ||||||
|         if (key in object) { |  | ||||||
|           next.value = key; |  | ||||||
|           next.done = false; |  | ||||||
|           return next; |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       // To avoid creating an additional object, we just hang the .value |  | ||||||
|       // and .done properties off the next function object itself. This |  | ||||||
|       // also ensures that the minifier will not anonymize the function. |  | ||||||
|       next.done = true; |  | ||||||
|       return next; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
|  |  | ||||||
|   function values(iterable) { |  | ||||||
|     if (iterable) { |  | ||||||
|       var iteratorMethod = iterable[iteratorSymbol]; |  | ||||||
|       if (iteratorMethod) { |  | ||||||
|         return iteratorMethod.call(iterable); |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       if (typeof iterable.next === "function") { |  | ||||||
|         return iterable; |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       if (!isNaN(iterable.length)) { |  | ||||||
|         var i = -1, next = function next() { |  | ||||||
|           while (++i < iterable.length) { |  | ||||||
|             if (hasOwn.call(iterable, i)) { |  | ||||||
|               next.value = iterable[i]; |  | ||||||
|               next.done = false; |  | ||||||
|               return next; |  | ||||||
|             } |  | ||||||
|           } |  | ||||||
|  |  | ||||||
|           next.value = undefined; |  | ||||||
|           next.done = true; |  | ||||||
|  |  | ||||||
|           return next; |  | ||||||
|         }; |  | ||||||
|  |  | ||||||
|         return next.next = next; |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     // Return an iterator with no values. |  | ||||||
|     return { next: doneResult }; |  | ||||||
|   } |  | ||||||
|   runtime.values = values; |  | ||||||
|  |  | ||||||
|   function doneResult() { |  | ||||||
|     return { value: undefined, done: true }; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   Context.prototype = { |  | ||||||
|     constructor: Context, |  | ||||||
|  |  | ||||||
|     reset: function(skipTempReset) { |  | ||||||
|       this.prev = 0; |  | ||||||
|       this.next = 0; |  | ||||||
|       this.sent = undefined; |  | ||||||
|       this.done = false; |  | ||||||
|       this.delegate = null; |  | ||||||
|  |  | ||||||
|       this.tryEntries.forEach(resetTryEntry); |  | ||||||
|  |  | ||||||
|       if (!skipTempReset) { |  | ||||||
|         for (var name in this) { |  | ||||||
|           // Not sure about the optimal order of these conditions: |  | ||||||
|           if (name.charAt(0) === "t" && |  | ||||||
|               hasOwn.call(this, name) && |  | ||||||
|               !isNaN(+name.slice(1))) { |  | ||||||
|             this[name] = undefined; |  | ||||||
|           } |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|  |  | ||||||
|     stop: function() { |  | ||||||
|       this.done = true; |  | ||||||
|  |  | ||||||
|       var rootEntry = this.tryEntries[0]; |  | ||||||
|       var rootRecord = rootEntry.completion; |  | ||||||
|       if (rootRecord.type === "throw") { |  | ||||||
|         throw rootRecord.arg; |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       return this.rval; |  | ||||||
|     }, |  | ||||||
|  |  | ||||||
|     dispatchException: function(exception) { |  | ||||||
|       if (this.done) { |  | ||||||
|         throw exception; |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       var context = this; |  | ||||||
|       function handle(loc, caught) { |  | ||||||
|         record.type = "throw"; |  | ||||||
|         record.arg = exception; |  | ||||||
|         context.next = loc; |  | ||||||
|         return !!caught; |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       for (var i = this.tryEntries.length - 1; i >= 0; --i) { |  | ||||||
|         var entry = this.tryEntries[i]; |  | ||||||
|         var record = entry.completion; |  | ||||||
|  |  | ||||||
|         if (entry.tryLoc === "root") { |  | ||||||
|           // Exception thrown outside of any try block that could handle |  | ||||||
|           // it, so set the completion value of the entire function to |  | ||||||
|           // throw the exception. |  | ||||||
|           return handle("end"); |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         if (entry.tryLoc <= this.prev) { |  | ||||||
|           var hasCatch = hasOwn.call(entry, "catchLoc"); |  | ||||||
|           var hasFinally = hasOwn.call(entry, "finallyLoc"); |  | ||||||
|  |  | ||||||
|           if (hasCatch && hasFinally) { |  | ||||||
|             if (this.prev < entry.catchLoc) { |  | ||||||
|               return handle(entry.catchLoc, true); |  | ||||||
|             } else if (this.prev < entry.finallyLoc) { |  | ||||||
|               return handle(entry.finallyLoc); |  | ||||||
|             } |  | ||||||
|  |  | ||||||
|           } else if (hasCatch) { |  | ||||||
|             if (this.prev < entry.catchLoc) { |  | ||||||
|               return handle(entry.catchLoc, true); |  | ||||||
|             } |  | ||||||
|  |  | ||||||
|           } else if (hasFinally) { |  | ||||||
|             if (this.prev < entry.finallyLoc) { |  | ||||||
|               return handle(entry.finallyLoc); |  | ||||||
|             } |  | ||||||
|  |  | ||||||
|           } else { |  | ||||||
|             throw new Error("try statement without catch or finally"); |  | ||||||
|           } |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|  |  | ||||||
|     abrupt: function(type, arg) { |  | ||||||
|       for (var i = this.tryEntries.length - 1; i >= 0; --i) { |  | ||||||
|         var entry = this.tryEntries[i]; |  | ||||||
|         if (entry.tryLoc <= this.prev && |  | ||||||
|             hasOwn.call(entry, "finallyLoc") && |  | ||||||
|             this.prev < entry.finallyLoc) { |  | ||||||
|           var finallyEntry = entry; |  | ||||||
|           break; |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       if (finallyEntry && |  | ||||||
|           (type === "break" || |  | ||||||
|            type === "continue") && |  | ||||||
|           finallyEntry.tryLoc <= arg && |  | ||||||
|           arg <= finallyEntry.finallyLoc) { |  | ||||||
|         // Ignore the finally entry if control is not jumping to a |  | ||||||
|         // location outside the try/catch block. |  | ||||||
|         finallyEntry = null; |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       var record = finallyEntry ? finallyEntry.completion : {}; |  | ||||||
|       record.type = type; |  | ||||||
|       record.arg = arg; |  | ||||||
|  |  | ||||||
|       if (finallyEntry) { |  | ||||||
|         this.next = finallyEntry.finallyLoc; |  | ||||||
|       } else { |  | ||||||
|         this.complete(record); |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       return ContinueSentinel; |  | ||||||
|     }, |  | ||||||
|  |  | ||||||
|     complete: function(record, afterLoc) { |  | ||||||
|       if (record.type === "throw") { |  | ||||||
|         throw record.arg; |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       if (record.type === "break" || |  | ||||||
|           record.type === "continue") { |  | ||||||
|         this.next = record.arg; |  | ||||||
|       } else if (record.type === "return") { |  | ||||||
|         this.rval = record.arg; |  | ||||||
|         this.next = "end"; |  | ||||||
|       } else if (record.type === "normal" && afterLoc) { |  | ||||||
|         this.next = afterLoc; |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|  |  | ||||||
|     finish: function(finallyLoc) { |  | ||||||
|       for (var i = this.tryEntries.length - 1; i >= 0; --i) { |  | ||||||
|         var entry = this.tryEntries[i]; |  | ||||||
|         if (entry.finallyLoc === finallyLoc) { |  | ||||||
|           this.complete(entry.completion, entry.afterLoc); |  | ||||||
|           resetTryEntry(entry); |  | ||||||
|           return ContinueSentinel; |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|  |  | ||||||
|     "catch": function(tryLoc) { |  | ||||||
|       for (var i = this.tryEntries.length - 1; i >= 0; --i) { |  | ||||||
|         var entry = this.tryEntries[i]; |  | ||||||
|         if (entry.tryLoc === tryLoc) { |  | ||||||
|           var record = entry.completion; |  | ||||||
|           if (record.type === "throw") { |  | ||||||
|             var thrown = record.arg; |  | ||||||
|             resetTryEntry(entry); |  | ||||||
|           } |  | ||||||
|           return thrown; |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       // The context.catch method must only be called with a location |  | ||||||
|       // argument that corresponds to a known catch block. |  | ||||||
|       throw new Error("illegal catch attempt"); |  | ||||||
|     }, |  | ||||||
|  |  | ||||||
|     delegateYield: function(iterable, resultName, nextLoc) { |  | ||||||
|       this.delegate = { |  | ||||||
|         iterator: values(iterable), |  | ||||||
|         resultName: resultName, |  | ||||||
|         nextLoc: nextLoc |  | ||||||
|       }; |  | ||||||
|  |  | ||||||
|       return ContinueSentinel; |  | ||||||
|     } |  | ||||||
|   }; |  | ||||||
| })( |  | ||||||
|   // Among the various tricks for obtaining a reference to the global |  | ||||||
|   // object, this seems to be the most reliable technique that does not |  | ||||||
|   // use indirect eval (which violates Content Security Policy). |  | ||||||
|   typeof global === "object" ? global : |  | ||||||
|   typeof window === "object" ? window : |  | ||||||
|   typeof self === "object" ? self : this |  | ||||||
| ); |  | ||||||
							
								
								
									
										1
									
								
								js/LocalDB/taffy-min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								js/LocalDB/taffy-min.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -1,166 +0,0 @@ | |||||||
|   |  | ||||||
| //prefixes of implementation that we want to test |  | ||||||
| window.indexedDB = window.indexedDB || window.mozIndexedDB || |  | ||||||
|     window.webkitIndexedDB || window.msIndexedDB; |  | ||||||
|  |  | ||||||
| //prefixes of window.IDB objects |  | ||||||
| window.IDBTransaction = window.IDBTransaction || |  | ||||||
|     window.webkitIDBTransaction || window.msIDBTransaction; |  | ||||||
| window.IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange || |  | ||||||
|     window.msIDBKeyRange |  | ||||||
|  |  | ||||||
| if (!window.indexedDB) { |  | ||||||
|     window.alert("Your browser doesn't support a stable version of IndexedDB.") |  | ||||||
| } |  | ||||||
|  |  | ||||||
| //const employeeData = [ |  | ||||||
| //    { id: "1", name: "gopal", age: 35, email: "gopal@tutorialspoint.com" }, |  | ||||||
| //    { id: "2", name: "prasad", age: 32, email: "prasad@tutorialspoint.com" } |  | ||||||
| //]; |  | ||||||
| var db; |  | ||||||
| var request = window.indexedDB.open("newDatabase", 1); |  | ||||||
|  |  | ||||||
| request.onerror = function (event) { |  | ||||||
|     console.log("error: "); |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| request.onsuccess = function (event) { |  | ||||||
|     db = request.result; |  | ||||||
|     console.log("success: " + db); |  | ||||||
|     readAll(); |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| request.onupgradeneeded = function (event) { |  | ||||||
|     var db = event.target.result; |  | ||||||
|     var objectStore = db.createObjectStore("employee", { keyPath: "id" }); |  | ||||||
|  |  | ||||||
|     //for (var i in employeeData) { |  | ||||||
|     //    objectStore.add(employeeData[i]); |  | ||||||
|     //} |  | ||||||
| } |  | ||||||
| var datas = ""; |  | ||||||
| function read(id) { |  | ||||||
|     var transaction = db.transaction(["employee"]); |  | ||||||
|     var objectStore = transaction.objectStore("employee"); |  | ||||||
|     var request = objectStore.get(id); |  | ||||||
|     //console.log(request); |  | ||||||
|     datas = request; |  | ||||||
|     request.onerror = function (event) { |  | ||||||
|         alert("Unable to retrieve daa from database!"); |  | ||||||
|     }; |  | ||||||
|  |  | ||||||
|     request.onsuccess = function (event) { |  | ||||||
|         // Do something with the request.result! |  | ||||||
|         if (request.result) { |  | ||||||
|             $("#txtID").val(request.result.id); |  | ||||||
|             $("#txtName").val(request.result.name); |  | ||||||
|             $("#txtAge").val(request.result.age); |  | ||||||
|             $("#txtEmail").val(request.result.email); |  | ||||||
|             // alert("Name: " + request.result.name + " Age: " + request.result.age + ", Email: " + request.result.email); |  | ||||||
|         } |  | ||||||
|         else { |  | ||||||
|             alert("given id couldn't be found in your database!"); |  | ||||||
|         } |  | ||||||
|     }; |  | ||||||
| } |  | ||||||
|  |  | ||||||
|  |  | ||||||
| function clear() { |  | ||||||
|     $("#txtID").val(''); |  | ||||||
|     $("#txtName").val(''); |  | ||||||
|     $("#txtAge").val(''); |  | ||||||
|     $("#txtEmail").val(''); |  | ||||||
| } |  | ||||||
| function readAll() { |  | ||||||
|     var objectStore = db.transaction("employee").objectStore("employee"); |  | ||||||
|     $("#tblData tbody").empty(); |  | ||||||
|     objectStore.openCursor().onsuccess = function (event) { |  | ||||||
|         var cursor = event.target.result; |  | ||||||
|  |  | ||||||
|  |  | ||||||
|         if (cursor) { |  | ||||||
|             var data = "<tr><td>" + cursor.key + "</td><td>" + cursor.value.name + "</td><td>" + cursor.value.age + "</td><td>" + cursor.value.email + "</td><td><input type ='button' onclick = read('" + cursor.key + "') value='Read'/><input type ='button' onclick = remove('" + cursor.key + "') value='Remove'/></td></tr>"; |  | ||||||
|             $("#tblData tbody").append(data); |  | ||||||
|             cursor.continue(); |  | ||||||
|         } |  | ||||||
|         //else { |  | ||||||
|         //    alert("No more entries!"); |  | ||||||
|         //} |  | ||||||
|  |  | ||||||
|     }; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| function add() { |  | ||||||
|     var request = db.transaction(["employee"], "readwrite") |  | ||||||
|         .objectStore("employee") |  | ||||||
|         .add({ id: $("#txtID").val(), name: $("#txtName").val(), age: $("#txtAge").val(), email: $("#txtEmail").val() }); |  | ||||||
|  |  | ||||||
|     request.onsuccess = function (event) { |  | ||||||
|         alert("record has been added to your database."); |  | ||||||
|         clear(); |  | ||||||
|         readAll(); |  | ||||||
|     }; |  | ||||||
|  |  | ||||||
|     request.onerror = function (event) { |  | ||||||
|         alert("Unable to add data\r\n record is aready exist in your database! "); |  | ||||||
|     } |  | ||||||
| } |  | ||||||
|  |  | ||||||
| function update() { |  | ||||||
|     |  | ||||||
|      |  | ||||||
|     readyByID($("#txtID").val()); |  | ||||||
|     datas.result.name = $("#txtName").val(); |  | ||||||
|     datas.result.age = $("#txtAge").val(); |  | ||||||
|     datas.result.email = $("#txtEmail").val(); |  | ||||||
|  |  | ||||||
|     //console.log(datas.result) |  | ||||||
|     var request = db.transaction(["employee"], "readwrite") |  | ||||||
|         .objectStore("employee") |  | ||||||
|         //.put({ id: $("#txtID").val(), name: $("#txtName").val(), age: $("#txtAge").val(), email: $("#txtEmail").val() }); |  | ||||||
|         .put(datas.result); |  | ||||||
|  |  | ||||||
|     request.onsuccess = function (event) { |  | ||||||
|         alert("record has been updated to your database."); |  | ||||||
|         clear(); |  | ||||||
|         readAll(); |  | ||||||
|     }; |  | ||||||
|  |  | ||||||
|     request.onerror = function (event) { |  | ||||||
|         alert("Unable to add data\r\n this record aready exist in your database! "); |  | ||||||
|     } |  | ||||||
| } |  | ||||||
|  |  | ||||||
| function readyByID(id) { |  | ||||||
|     var transaction = db.transaction(["employee"]); |  | ||||||
|     var objectStore = transaction.objectStore("employee"); |  | ||||||
|     var request = objectStore.get(id); |  | ||||||
|  |  | ||||||
|     request.onerror = function (event) { |  | ||||||
|         alert("Unable to retrieve daa from database!"); |  | ||||||
|     }; |  | ||||||
|  |  | ||||||
|     request.onsuccess = function (event) { |  | ||||||
|         // Do something with the request.result! |  | ||||||
|         //debugger; |  | ||||||
|         if (request.result) { |  | ||||||
|             datas = request; |  | ||||||
|             //return datas |  | ||||||
|         } |  | ||||||
|         else { |  | ||||||
|             alert("given id couldn't be found in your database!"); |  | ||||||
|         } |  | ||||||
|     }; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| function remove(id) { |  | ||||||
|     var request = db.transaction(["employee"], "readwrite") |  | ||||||
|         .objectStore("employee") |  | ||||||
|         .delete(id); |  | ||||||
|  |  | ||||||
|     request.onsuccess = function (event) { |  | ||||||
|         alert("record entry has been removed from your database."); |  | ||||||
|         clear(); |  | ||||||
|         readAll(); |  | ||||||
|     }; |  | ||||||
| } |  | ||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1
									
								
								js/Network Graph/NetworkGraph.min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								js/Network Graph/NetworkGraph.min.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,125 +0,0 @@ | |||||||
| /* canvas-toBlob.js |  | ||||||
|  * A canvas.toBlob() implementation. |  | ||||||
|  * 2016-05-26 |  | ||||||
|  *  |  | ||||||
|  * By Eli Grey, http://eligrey.com and Devin Samarin, https://github.com/eboyjr |  | ||||||
|  * License: MIT |  | ||||||
|  *   See https://github.com/eligrey/canvas-toBlob.js/blob/master/LICENSE.md |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| /*global self */ |  | ||||||
| /*jslint bitwise: true, regexp: true, confusion: true, es5: true, vars: true, white: true, |  | ||||||
|   plusplus: true */ |  | ||||||
|  |  | ||||||
| /*! @source http://purl.eligrey.com/github/canvas-toBlob.js/blob/master/canvas-toBlob.js */ |  | ||||||
|  |  | ||||||
| (function (view) { |  | ||||||
|     "use strict"; |  | ||||||
|     var |  | ||||||
|         Uint8Array = view.Uint8Array |  | ||||||
|         , HTMLCanvasElement = view.HTMLCanvasElement |  | ||||||
|         , canvas_proto = HTMLCanvasElement && HTMLCanvasElement.prototype |  | ||||||
|         , is_base64_regex = /\s*;\s*base64\s*(?:;|$)/i |  | ||||||
|         , to_data_url = "toDataURL" |  | ||||||
|         , base64_ranks |  | ||||||
|         , decode_base64 = function (base64) { |  | ||||||
|             var |  | ||||||
|                 len = base64.length |  | ||||||
|                 , buffer = new Uint8Array(len / 4 * 3 | 0) |  | ||||||
|                 , i = 0 |  | ||||||
|                 , outptr = 0 |  | ||||||
|                 , last = [0, 0] |  | ||||||
|                 , state = 0 |  | ||||||
|                 , save = 0 |  | ||||||
|                 , rank |  | ||||||
|                 , code |  | ||||||
|                 , undef |  | ||||||
|                 ; |  | ||||||
|             while (len--) { |  | ||||||
|                 code = base64.charCodeAt(i++); |  | ||||||
|                 rank = base64_ranks[code - 43]; |  | ||||||
|                 if (rank !== 255 && rank !== undef) { |  | ||||||
|                     last[1] = last[0]; |  | ||||||
|                     last[0] = code; |  | ||||||
|                     save = (save << 6) | rank; |  | ||||||
|                     state++; |  | ||||||
|                     if (state === 4) { |  | ||||||
|                         buffer[outptr++] = save >>> 16; |  | ||||||
|                         if (last[1] !== 61 /* padding character */) { |  | ||||||
|                             buffer[outptr++] = save >>> 8; |  | ||||||
|                         } |  | ||||||
|                         if (last[0] !== 61 /* padding character */) { |  | ||||||
|                             buffer[outptr++] = save; |  | ||||||
|                         } |  | ||||||
|                         state = 0; |  | ||||||
|                     } |  | ||||||
|                 } |  | ||||||
|             } |  | ||||||
|             // 2/3 chance there's going to be some null bytes at the end, but that |  | ||||||
|             // doesn't really matter with most image formats. |  | ||||||
|             // If it somehow matters for you, truncate the buffer up outptr. |  | ||||||
|             return buffer; |  | ||||||
|         } |  | ||||||
|         ; |  | ||||||
|     if (Uint8Array) { |  | ||||||
|         base64_ranks = new Uint8Array([ |  | ||||||
|             62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1 |  | ||||||
|             , -1, -1, 0, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |  | ||||||
|             , 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 |  | ||||||
|             , -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35 |  | ||||||
|             , 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51 |  | ||||||
|         ]); |  | ||||||
|     } |  | ||||||
|     if (HTMLCanvasElement && (!canvas_proto.toBlob || !canvas_proto.toBlobHD)) { |  | ||||||
|         if (!canvas_proto.toBlob) |  | ||||||
|             canvas_proto.toBlob = function (callback, type /*, ...args*/) { |  | ||||||
|                 if (!type) { |  | ||||||
|                     type = "image/png"; |  | ||||||
|                 } if (this.mozGetAsFile) { |  | ||||||
|                     callback(this.mozGetAsFile("canvas", type)); |  | ||||||
|                     return; |  | ||||||
|                 } if (this.msToBlob && /^\s*image\/png\s*(?:$|;)/i.test(type)) { |  | ||||||
|                     callback(this.msToBlob()); |  | ||||||
|                     return; |  | ||||||
|                 } |  | ||||||
|  |  | ||||||
|                 var |  | ||||||
|                     args = Array.prototype.slice.call(arguments, 1) |  | ||||||
|                     , dataURI = this[to_data_url].apply(this, args) |  | ||||||
|                     , header_end = dataURI.indexOf(",") |  | ||||||
|                     , data = dataURI.substring(header_end + 1) |  | ||||||
|                     , is_base64 = is_base64_regex.test(dataURI.substring(0, header_end)) |  | ||||||
|                     , blob |  | ||||||
|                     ; |  | ||||||
|                 if (Blob.fake) { |  | ||||||
|                     // no reason to decode a data: URI that's just going to become a data URI again |  | ||||||
|                     blob = new Blob |  | ||||||
|                     if (is_base64) { |  | ||||||
|                         blob.encoding = "base64"; |  | ||||||
|                     } else { |  | ||||||
|                         blob.encoding = "URI"; |  | ||||||
|                     } |  | ||||||
|                     blob.data = data; |  | ||||||
|                     blob.size = data.length; |  | ||||||
|                 } else if (Uint8Array) { |  | ||||||
|                     if (is_base64) { |  | ||||||
|                         blob = new Blob([decode_base64(data)], { type: type }); |  | ||||||
|                     } else { |  | ||||||
|                         blob = new Blob([decodeURIComponent(data)], { type: type }); |  | ||||||
|                     } |  | ||||||
|                 } |  | ||||||
|                 callback(blob); |  | ||||||
|             }; |  | ||||||
|  |  | ||||||
|         if (!canvas_proto.toBlobHD && canvas_proto.toDataURLHD) { |  | ||||||
|             canvas_proto.toBlobHD = function () { |  | ||||||
|                 to_data_url = "toDataURLHD"; |  | ||||||
|                 var blob = this.toBlob(); |  | ||||||
|                 to_data_url = "toDataURL"; |  | ||||||
|                 return blob; |  | ||||||
|             } |  | ||||||
|         } else { |  | ||||||
|             canvas_proto.toBlobHD = canvas_proto.toBlob; |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| }(typeof self !== "undefined" && self || typeof window !== "undefined" && window || this.content || this)); |  | ||||||
							
								
								
									
										13
									
								
								js/Network Graph/jquery.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								js/Network Graph/jquery.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										8829
									
								
								js/jquery-2.0.3.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8829
									
								
								js/jquery-2.0.3.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										16
									
								
								js/jquery.min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								js/jquery.min.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -1,519 +0,0 @@ | |||||||
| let attenuator = document.querySelector('#attenuator'); |  | ||||||
| let roadm = document.querySelector('#roadm'); |  | ||||||
| let ILA = document.querySelector('#ILA'); |  | ||||||
| let amplifier = document.querySelector('#amplifier'); |  | ||||||
| let dualfiber = document.querySelector('#dualfiber'); |  | ||||||
| let service = document.querySelector('#service'); |  | ||||||
| let transceiver = document.querySelector('#transceiver'); |  | ||||||
| let singlefiber = document.querySelector('#singlefiber'); |  | ||||||
| let singlepatch = document.querySelector('#singlepatch'); |  | ||||||
| let dualpatch = document.querySelector('#dualpatch'); |  | ||||||
| let ramanamp = document.querySelector('#ramanamp'); |  | ||||||
|  |  | ||||||
|  |  | ||||||
| let drawerclose = document.getElementById('drawer-close') |  | ||||||
|  |  | ||||||
| function openDrawer(node) { |  | ||||||
|     switch (node) { |  | ||||||
|         case 'attenuator': |  | ||||||
|             roadm.classList.remove('d-visible'); |  | ||||||
|             ILA.classList.remove('d-visible'); |  | ||||||
|             amplifier.classList.remove('d-visible'); |  | ||||||
|             dualfiber.classList.remove('d-visible'); |  | ||||||
|             service.classList.remove('d-visible'); |  | ||||||
|             attenuator.classList.add('d-visible'); |  | ||||||
|             transceiver.classList.remove('d-visible'); |  | ||||||
|             singlefiber.classList.remove('d-visible'); |  | ||||||
|             singlepatch.classList.remove('d-visible'); |  | ||||||
|             dualpatch.classList.remove('d-visible'); |  | ||||||
|             ramanamp.classList.remove('d-visible'); |  | ||||||
|  |  | ||||||
|             //  drawerclose.classList.add("drawerleft") |  | ||||||
|             break; |  | ||||||
|         case 'roadm': |  | ||||||
|             attenuator.classList.remove('d-visible'); |  | ||||||
|             ILA.classList.remove('d-visible'); |  | ||||||
|             amplifier.classList.remove('d-visible'); |  | ||||||
|             dualfiber.classList.remove('d-visible'); |  | ||||||
|             service.classList.remove('d-visible'); |  | ||||||
|             transceiver.classList.remove('d-visible'); |  | ||||||
|             singlefiber.classList.remove('d-visible'); |  | ||||||
|             singlepatch.classList.remove('d-visible'); |  | ||||||
|             dualpatch.classList.remove('d-visible'); |  | ||||||
|             roadm.classList.add('d-visible'); |  | ||||||
|             ramanamp.classList.remove('d-visible'); |  | ||||||
|             // drawerclose.classList.add("drawerleft") |  | ||||||
|             break; |  | ||||||
|         case 'ILA': |  | ||||||
|             attenuator.classList.remove('d-visible'); |  | ||||||
|             ILA.classList.add('d-visible'); |  | ||||||
|             amplifier.classList.remove('d-visible'); |  | ||||||
|             dualfiber.classList.remove('d-visible'); |  | ||||||
|             service.classList.remove('d-visible'); |  | ||||||
|             roadm.classList.remove('d-visible'); |  | ||||||
|             transceiver.classList.remove('d-visible'); |  | ||||||
|             singlefiber.classList.remove('d-visible'); |  | ||||||
|             singlepatch.classList.remove('d-visible'); |  | ||||||
|             // drawerclose.classList.add("drawerleft") |  | ||||||
|             dualpatch.classList.remove('d-visible'); |  | ||||||
|             ramanamp.classList.remove('d-visible'); |  | ||||||
|             break; |  | ||||||
|         case 'amplifier': |  | ||||||
|             attenuator.classList.remove('d-visible'); |  | ||||||
|             ILA.classList.remove('d-visible'); |  | ||||||
|             amplifier.classList.add('d-visible'); |  | ||||||
|             dualfiber.classList.remove('d-visible'); |  | ||||||
|             service.classList.remove('d-visible'); |  | ||||||
|             roadm.classList.remove('d-visible'); |  | ||||||
|             transceiver.classList.remove('d-visible'); |  | ||||||
|             singlefiber.classList.remove('d-visible'); |  | ||||||
|             singlepatch.classList.remove('d-visible'); |  | ||||||
|             dualpatch.classList.remove('d-visible'); |  | ||||||
|             // drawerclose.classList.add("drawerleft") |  | ||||||
|             ramanamp.classList.remove('d-visible'); |  | ||||||
|             break; |  | ||||||
|         case 'dualfiber': |  | ||||||
|             attenuator.classList.remove('d-visible'); |  | ||||||
|             ILA.classList.remove('d-visible'); |  | ||||||
|             amplifier.classList.remove('d-visible'); |  | ||||||
|             dualfiber.classList.add('d-visible'); |  | ||||||
|             service.classList.remove('d-visible'); |  | ||||||
|             roadm.classList.remove('d-visible'); |  | ||||||
|             transceiver.classList.remove('d-visible'); |  | ||||||
|             singlefiber.classList.remove('d-visible'); |  | ||||||
|             singlepatch.classList.remove('d-visible'); |  | ||||||
|             // drawerclose.classList.add("drawerleft") |  | ||||||
|             dualpatch.classList.remove('d-visible'); |  | ||||||
|             ramanamp.classList.remove('d-visible'); |  | ||||||
|             break; |  | ||||||
|         case 'create': |  | ||||||
|             attenuator.classList.remove('d-visible'); |  | ||||||
|             ILA.classList.remove('d-visible'); |  | ||||||
|             amplifier.classList.remove('d-visible'); |  | ||||||
|             dualfiber.classList.remove('d-visible'); |  | ||||||
|             service.classList.remove('d-visible'); |  | ||||||
|             roadm.classList.remove('d-visible'); |  | ||||||
|             transceiver.classList.remove('d-visible'); |  | ||||||
|             singlefiber.classList.remove('d-visible'); |  | ||||||
|             singlepatch.classList.remove('d-visible'); |  | ||||||
|             dualpatch.classList.remove('d-visible'); |  | ||||||
|             // drawerclose.classList.add("drawerleft") |  | ||||||
|             ramanamp.classList.remove('d-visible'); |  | ||||||
|             break; |  | ||||||
|         case 'transceiver': |  | ||||||
|             attenuator.classList.remove('d-visible'); |  | ||||||
|             ILA.classList.remove('d-visible'); |  | ||||||
|             amplifier.classList.remove('d-visible'); |  | ||||||
|             dualfiber.classList.remove('d-visible'); |  | ||||||
|             service.classList.remove('d-visible'); |  | ||||||
|             roadm.classList.remove('d-visible'); |  | ||||||
|             transceiver.classList.add('d-visible'); |  | ||||||
|             singlefiber.classList.remove('d-visible'); |  | ||||||
|             singlepatch.classList.remove('d-visible'); |  | ||||||
|             // drawerclose.classList.add("drawerleft") |  | ||||||
|             dualpatch.classList.remove('d-visible'); |  | ||||||
|             ramanamp.classList.remove('d-visible'); |  | ||||||
|             break; |  | ||||||
|         case 'singlefiber': |  | ||||||
|             attenuator.classList.remove('d-visible'); |  | ||||||
|             ILA.classList.remove('d-visible'); |  | ||||||
|             amplifier.classList.remove('d-visible'); |  | ||||||
|             dualfiber.classList.remove('d-visible'); |  | ||||||
|             service.classList.remove('d-visible'); |  | ||||||
|             roadm.classList.remove('d-visible'); |  | ||||||
|             transceiver.classList.remove('d-visible'); |  | ||||||
|             singlefiber.classList.add('d-visible'); |  | ||||||
|             singlepatch.classList.remove('d-visible'); |  | ||||||
|             // drawerclose.classList.add("drawerleft") |  | ||||||
|             dualpatch.classList.remove('d-visible'); |  | ||||||
|             ramanamp.classList.remove('d-visible'); |  | ||||||
|             break; |  | ||||||
|         case 'dualpatch': |  | ||||||
|             attenuator.classList.remove('d-visible'); |  | ||||||
|             ILA.classList.remove('d-visible'); |  | ||||||
|             amplifier.classList.remove('d-visible'); |  | ||||||
|             dualfiber.classList.remove('d-visible'); |  | ||||||
|             service.classList.remove('d-visible'); |  | ||||||
|             roadm.classList.remove('d-visible'); |  | ||||||
|             transceiver.classList.remove('d-visible'); |  | ||||||
|             singlefiber.classList.remove('d-visible'); |  | ||||||
|             singlepatch.classList.remove('d-visible'); |  | ||||||
|             dualpatch.classList.add('d-visible'); |  | ||||||
|             // drawerclose.classList.add("drawerleft") |  | ||||||
|             ramanamp.classList.remove('d-visible'); |  | ||||||
|             break; |  | ||||||
|         case 'singlepatch': |  | ||||||
|             attenuator.classList.remove('d-visible'); |  | ||||||
|             ILA.classList.remove('d-visible'); |  | ||||||
|             amplifier.classList.remove('d-visible'); |  | ||||||
|             dualfiber.classList.remove('d-visible'); |  | ||||||
|             service.classList.remove('d-visible'); |  | ||||||
|             roadm.classList.remove('d-visible'); |  | ||||||
|             transceiver.classList.remove('d-visible'); |  | ||||||
|             singlefiber.classList.remove('d-visible'); |  | ||||||
|             singlepatch.classList.add('d-visible'); |  | ||||||
|             dualpatch.classList.remove('d-visible'); |  | ||||||
|             // drawerclose.classList.add("drawerleft") |  | ||||||
|             ramanamp.classList.remove('d-visible'); |  | ||||||
|             break; |  | ||||||
|         case 'service': |  | ||||||
|             attenuator.classList.remove('d-visible'); |  | ||||||
|             ILA.classList.remove('d-visible'); |  | ||||||
|             amplifier.classList.remove('d-visible'); |  | ||||||
|             dualfiber.classList.remove('d-visible'); |  | ||||||
|             service.classList.add('d-visible'); |  | ||||||
|             roadm.classList.remove('d-visible'); |  | ||||||
|             transceiver.classList.remove('d-visible'); |  | ||||||
|             singlefiber.classList.remove('d-visible'); |  | ||||||
|             singlepatch.classList.remove('d-visible'); |  | ||||||
|             // drawerclose.classList.add("drawerleft") |  | ||||||
|             dualpatch.classList.remove('d-visible'); |  | ||||||
|             ramanamp.classList.remove('d-visible'); |  | ||||||
|             break; |  | ||||||
|         case 'ramanamp': |  | ||||||
|             attenuator.classList.remove('d-visible'); |  | ||||||
|             ILA.classList.remove('d-visible'); |  | ||||||
|             amplifier.classList.remove('d-visible'); |  | ||||||
|             dualfiber.classList.remove('d-visible'); |  | ||||||
|             service.classList.remove('d-visible'); |  | ||||||
|             roadm.classList.remove('d-visible'); |  | ||||||
|             transceiver.classList.remove('d-visible'); |  | ||||||
|             singlefiber.classList.remove('d-visible'); |  | ||||||
|             singlepatch.classList.remove('d-visible'); |  | ||||||
|             // drawerclose.classList.add("drawerleft") |  | ||||||
|             dualpatch.classList.remove('d-visible'); |  | ||||||
|             ramanamp.classList.add('d-visible'); |  | ||||||
|             break; |  | ||||||
|     } |  | ||||||
| } |  | ||||||
|  |  | ||||||
| function closeDrawer(node) { |  | ||||||
|     switch (node) { |  | ||||||
|         case 'attenuator': |  | ||||||
|             attenuator.classList.remove('d-visible'); |  | ||||||
|             // drawerclose.classList.remove("drawerleft") |  | ||||||
|             break; |  | ||||||
|         case 'roadm': |  | ||||||
|             roadm.classList.remove('d-visible'); |  | ||||||
|             // drawerclose.classList.remove("drawerleft") |  | ||||||
|             break; |  | ||||||
|         case 'ILA': |  | ||||||
|             ILA.classList.remove('d-visible'); |  | ||||||
|             // drawerclose.classList.remove("drawerleft") |  | ||||||
|             break; |  | ||||||
|         case 'amplifier': |  | ||||||
|             amplifier.classList.remove('d-visible'); |  | ||||||
|             // drawerclose.classList.remove("drawerleft") |  | ||||||
|             break; |  | ||||||
|         case 'create': |  | ||||||
|             create.classList.remove('d-visible'); |  | ||||||
|             // drawerclose.classList.remove("drawerleft") |  | ||||||
|             break; |  | ||||||
|         case 'singlefiber': |  | ||||||
|             singlefiber.classList.remove('d-visible'); |  | ||||||
|             // drawerclose.classList.remove("drawerleft") |  | ||||||
|             break; |  | ||||||
|         case 'transceiver': |  | ||||||
|             transceiver.classList.remove('d-visible'); |  | ||||||
|             // drawerclose.classList.remove("drawerleft") |  | ||||||
|             break; |  | ||||||
|         case 'singlepatch': |  | ||||||
|             singlepatch.classList.remove('d-visible'); |  | ||||||
|             // drawerclose.classList.remove("drawerleft") |  | ||||||
|             break; |  | ||||||
|         case 'dualpatch': |  | ||||||
|             dualpatch.classList.remove('d-visible'); |  | ||||||
|             // drawerclose.classList.remove("drawerleft") |  | ||||||
|             break; |  | ||||||
|         case 'dualfiber': |  | ||||||
|             dualfiber.classList.remove('d-visible'); |  | ||||||
|             // drawerclose.classList.remove("drawerleft") |  | ||||||
|             break; |  | ||||||
|         case 'service': |  | ||||||
|             service.classList.remove('d-visible'); |  | ||||||
|         // drawerclose.classList.remove("drawerleft") |  | ||||||
|         case 'ramanamp': |  | ||||||
|             ramanamp.classList.remove('d-visible'); |  | ||||||
|         // drawerclose.classList.remove("drawerleft") |  | ||||||
|     } |  | ||||||
| } |  | ||||||
|  |  | ||||||
| //sidebar |  | ||||||
|  |  | ||||||
| // let sidebarleft = document.querySelector('#sidebar'); |  | ||||||
| // let buttonleft = document.getElementById('lefttoggle'); |  | ||||||
| // buttonleft.addEventListener("click",function(){ |  | ||||||
| //   sidebarleft.classList.toggle("d-left-none") |  | ||||||
| //   buttonleft.classList.toggle('ml--btn') |  | ||||||
| // }) |  | ||||||
|  |  | ||||||
|  |  | ||||||
| var tabcontent = document.querySelector(".stp-tab"); |  | ||||||
| var arrowbtn1 = document.querySelector("#toggle-arrow-1"); |  | ||||||
| var arrowbtn2 = document.querySelector("#toggle-arrow-2"); |  | ||||||
| var arrowbtn3 = document.querySelector("#toggle-arrow-3"); |  | ||||||
| var arrowbtn4 = document.querySelector("#toggle-arrow-4"); |  | ||||||
| //var arrowbtn5 = document.querySelector("#toggle-arrow-5"); |  | ||||||
| var sidebartext = document.querySelectorAll(".sidebar-text"); |  | ||||||
| var sidebartext1 = document.querySelectorAll(".sidebar-text1"); |  | ||||||
| var sidebartext2 = document.querySelectorAll(".sidebar-text2"); |  | ||||||
| var sidebartext3 = document.querySelectorAll(".sidebar-text3"); |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| arrowbtn2.addEventListener("click", function () { |  | ||||||
|     tabcontent.classList.toggle('left-59') |  | ||||||
|     for (var i = 0; i < sidebartext1.length; i++) { |  | ||||||
|         sidebartext1[i].classList.toggle("d-none") |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|  |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| arrowbtn3.addEventListener("click", function () { |  | ||||||
|     tabcontent.classList.toggle('left-59') |  | ||||||
|     for (var i = 0; i < sidebartext2.length; i++) { |  | ||||||
|         sidebartext2[i].classList.toggle("d-none") |  | ||||||
|     } |  | ||||||
|  |  | ||||||
| }) |  | ||||||
| arrowbtn4.addEventListener("click", function () { |  | ||||||
|     tabcontent.classList.toggle('left-59') |  | ||||||
|     for (var i = 0; i < sidebartext3.length; i++) { |  | ||||||
|         sidebartext3[i].classList.toggle("d-none") |  | ||||||
|     } |  | ||||||
| }) |  | ||||||
| //arrowbtn5.addEventListener("click", function () { |  | ||||||
| //    tabcontent.classList.toggle('left-59') |  | ||||||
| //    for (var i = 0; i < sidebartext4.length; i++) { |  | ||||||
| //        sidebartext4[i].classList.toggle("d-none") |  | ||||||
| //    } |  | ||||||
| //}) |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| function stepColor(index) { |  | ||||||
|  |  | ||||||
|     showMenu = 0; |  | ||||||
|     modeHighLight(); |  | ||||||
|  |  | ||||||
|     switch (index) { |  | ||||||
|         case 1: |  | ||||||
|             break; |  | ||||||
|         case 2: |  | ||||||
|  |  | ||||||
|             currentStepper = "stepCreateTopology"; |  | ||||||
|             showMenu = 1; |  | ||||||
|             //let prev = document.querySelector("#step2").previousElementSibling; |  | ||||||
|             //if (prev.id === "step1") { |  | ||||||
|             //    let step1 = document.getElementById("step1").childNodes; |  | ||||||
|             //    step1[1].classList.add("tab-nav-completed"); |  | ||||||
|             //    step1[1].classList.add("text-tab-completed") |  | ||||||
|             //} |  | ||||||
|             break; |  | ||||||
|         case 3: |  | ||||||
|             currentStepper = "stepAddService"; |  | ||||||
|             showMenu = 2; |  | ||||||
|             //let prev1 = document.querySelector("#step3").previousElementSibling; |  | ||||||
|             //if (prev1.id === "step2") { |  | ||||||
|             //    let step1 = document.getElementById("step2").childNodes; |  | ||||||
|             //    step1[1].classList.add("tab-nav-completed"); |  | ||||||
|             //    step1[1].classList.add("text-tab-completed") |  | ||||||
|             //} |  | ||||||
|             break; |  | ||||||
|         case 4: |  | ||||||
|             currentStepper = "stepSaveNetwork"; |  | ||||||
|             //let prev2 = document.querySelector("#step4").previousElementSibling; |  | ||||||
|             //if (prev2.id === "step3") { |  | ||||||
|             //    let step1 = document.getElementById("step3").childNodes; |  | ||||||
|             //    step1[1].classList.add("tab-nav-completed"); |  | ||||||
|             //    step1[1].classList.add("text-tab-completed") |  | ||||||
|             //} |  | ||||||
|             break; |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| var btnAddRoadm = "#btnAddRoadm"; |  | ||||||
| var btnAddFused = "#btnAddFused"; |  | ||||||
| var btnAddILA = "#btnAddILA"; |  | ||||||
| var btnAddAmplifier = "#btnAddAmplifier"; |  | ||||||
| var btnAddTransceiver = "#btnAddTransceiver"; |  | ||||||
| var btnAddDualFiber = "#btnAddDualFiber"; |  | ||||||
| var btnAddSingleFiber = "#btnAddSingleFiber"; |  | ||||||
| var btnServiceActive = "#btnServiceActive"; |  | ||||||
| var btnAddSinglePatch = "#btnAddSinglePatch"; |  | ||||||
| var btnAddDualPatch = "#btnAddDualPatch"; |  | ||||||
| var btnAddRamAmp = "#btnAddRamAmp"; |  | ||||||
| function modeHighLight(node) { |  | ||||||
|     disableFiberService(); |  | ||||||
|     showHideDrawerandMenu(); |  | ||||||
|     switch (node) { |  | ||||||
|         case 'Roadm': |  | ||||||
|             $(btnAddRoadm).addClass('highlight'); |  | ||||||
|             $(btnAddFused).removeClass('highlight'); |  | ||||||
|             $(btnAddILA).removeClass('highlight'); |  | ||||||
|             $(btnAddAmplifier).removeClass('highlight'); |  | ||||||
|             $(btnAddTransceiver).removeClass('highlight'); |  | ||||||
|             $(btnAddDualFiber).removeClass('highlight'); |  | ||||||
|             $(btnAddSingleFiber).removeClass('highlight'); |  | ||||||
|             $(btnAddSinglePatch).removeClass('highlight'); |  | ||||||
|             $(btnAddDualPatch).removeClass('highlight'); |  | ||||||
|             $(btnAddRamAmp).removeClass('highlight'); |  | ||||||
|             break; |  | ||||||
|         case 'ILA': |  | ||||||
|             $(btnAddRoadm).removeClass('highlight'); |  | ||||||
|             $(btnAddFused).removeClass('highlight'); |  | ||||||
|             $(btnAddILA).addClass('highlight'); |  | ||||||
|             $(btnAddAmplifier).removeClass('highlight'); |  | ||||||
|             $(btnAddTransceiver).removeClass('highlight'); |  | ||||||
|             $(btnAddDualFiber).removeClass('highlight'); |  | ||||||
|             $(btnAddSingleFiber).removeClass('highlight'); |  | ||||||
|             $(btnAddSinglePatch).removeClass('highlight'); |  | ||||||
|             $(btnAddDualPatch).removeClass('highlight'); |  | ||||||
|             $(btnAddRamAmp).removeClass('highlight'); |  | ||||||
|             break; |  | ||||||
|         case 'amplifier': |  | ||||||
|             $(btnAddRoadm).removeClass('highlight'); |  | ||||||
|             $(btnAddFused).removeClass('highlight'); |  | ||||||
|             $(btnAddILA).removeClass('highlight'); |  | ||||||
|             $(btnAddAmplifier).addClass('highlight'); |  | ||||||
|             $(btnAddTransceiver).removeClass('highlight'); |  | ||||||
|             $(btnAddDualFiber).removeClass('highlight'); |  | ||||||
|             $(btnAddSingleFiber).removeClass('highlight'); |  | ||||||
|             $(btnAddSinglePatch).removeClass('highlight'); |  | ||||||
|             $(btnAddDualPatch).removeClass('highlight'); |  | ||||||
|             $(btnAddRamAmp).removeClass('highlight'); |  | ||||||
|             break; |  | ||||||
|         case 'fused': |  | ||||||
|             $(btnAddRoadm).removeClass('highlight'); |  | ||||||
|             $(btnAddFused).addClass('highlight'); |  | ||||||
|             $(btnAddILA).removeClass('highlight'); |  | ||||||
|             $(btnAddAmplifier).removeClass('highlight'); |  | ||||||
|             $(btnAddTransceiver).removeClass('highlight'); |  | ||||||
|             $(btnAddDualFiber).removeClass('highlight'); |  | ||||||
|             $(btnAddSingleFiber).removeClass('highlight'); |  | ||||||
|             $(btnAddSinglePatch).removeClass('highlight'); |  | ||||||
|             $(btnAddDualPatch).removeClass('highlight'); |  | ||||||
|             $(btnAddRamAmp).removeClass('highlight'); |  | ||||||
|             break; |  | ||||||
|         case 'transceiver': |  | ||||||
|             $(btnAddRoadm).removeClass('highlight'); |  | ||||||
|             $(btnAddFused).removeClass('highlight'); |  | ||||||
|             $(btnAddILA).removeClass('highlight'); |  | ||||||
|             $(btnAddAmplifier).removeClass('highlight'); |  | ||||||
|             $(btnAddTransceiver).addClass('highlight'); |  | ||||||
|             $(btnAddDualFiber).removeClass('highlight'); |  | ||||||
|             $(btnAddSingleFiber).removeClass('highlight'); |  | ||||||
|             $(btnAddSinglePatch).removeClass('highlight'); |  | ||||||
|             $(btnAddDualPatch).removeClass('highlight'); |  | ||||||
|             $(btnAddRamAmp).removeClass('highlight'); |  | ||||||
|             break; |  | ||||||
|         case 'dualfiber': |  | ||||||
|             $(btnAddRoadm).removeClass('highlight'); |  | ||||||
|             $(btnAddFused).removeClass('highlight'); |  | ||||||
|             $(btnAddILA).removeClass('highlight'); |  | ||||||
|             $(btnAddAmplifier).removeClass('highlight'); |  | ||||||
|             $(btnAddTransceiver).removeClass('highlight'); |  | ||||||
|             $(btnAddDualFiber).addClass('highlight'); |  | ||||||
|             $(btnAddSingleFiber).removeClass('highlight'); |  | ||||||
|             $(btnAddSinglePatch).removeClass('highlight'); |  | ||||||
|             $(btnAddDualPatch).removeClass('highlight'); |  | ||||||
|             $(btnAddRamAmp).removeClass('highlight'); |  | ||||||
|             break; |  | ||||||
|         case 'singlefiber': |  | ||||||
|             $(btnAddRoadm).removeClass('highlight'); |  | ||||||
|             $(btnAddFused).removeClass('highlight'); |  | ||||||
|             $(btnAddILA).removeClass('highlight'); |  | ||||||
|             $(btnAddAmplifier).removeClass('highlight'); |  | ||||||
|             $(btnAddTransceiver).removeClass('highlight'); |  | ||||||
|             $(btnAddDualFiber).removeClass('highlight'); |  | ||||||
|             $(btnAddSingleFiber).addClass('highlight'); |  | ||||||
|             $(btnAddSinglePatch).removeClass('highlight'); |  | ||||||
|             $(btnAddDualPatch).removeClass('highlight'); |  | ||||||
|             $(btnAddRamAmp).removeClass('highlight'); |  | ||||||
|             break; |  | ||||||
|         case 'singlepatch': |  | ||||||
|             $(btnAddRoadm).removeClass('highlight'); |  | ||||||
|             $(btnAddFused).removeClass('highlight'); |  | ||||||
|             $(btnAddILA).removeClass('highlight'); |  | ||||||
|             $(btnAddAmplifier).removeClass('highlight'); |  | ||||||
|             $(btnAddTransceiver).removeClass('highlight'); |  | ||||||
|             $(btnAddDualFiber).removeClass('highlight'); |  | ||||||
|             $(btnAddSingleFiber).removeClass('highlight'); |  | ||||||
|             $(btnAddSinglePatch).addClass('highlight'); |  | ||||||
|             $(btnAddDualPatch).removeClass('highlight'); |  | ||||||
|             $(btnAddRamAmp).removeClass('highlight'); |  | ||||||
|             break; |  | ||||||
|         case 'dualpatch': |  | ||||||
|             $(btnAddRoadm).removeClass('highlight'); |  | ||||||
|             $(btnAddFused).removeClass('highlight'); |  | ||||||
|             $(btnAddILA).removeClass('highlight'); |  | ||||||
|             $(btnAddAmplifier).removeClass('highlight'); |  | ||||||
|             $(btnAddTransceiver).removeClass('highlight'); |  | ||||||
|             $(btnAddDualFiber).removeClass('highlight'); |  | ||||||
|             $(btnAddSingleFiber).removeClass('highlight'); |  | ||||||
|             $(btnAddSinglePatch).removeClass('highlight'); |  | ||||||
|             $(btnAddDualPatch).addClass('highlight'); |  | ||||||
|             $(btnAddRamAmp).removeClass('highlight'); |  | ||||||
|             break; |  | ||||||
|         case 'ramanamp': |  | ||||||
|             $(btnAddRoadm).removeClass('highlight'); |  | ||||||
|             $(btnAddFused).removeClass('highlight'); |  | ||||||
|             $(btnAddILA).removeClass('highlight'); |  | ||||||
|             $(btnAddAmplifier).removeClass('highlight'); |  | ||||||
|             $(btnAddTransceiver).removeClass('highlight'); |  | ||||||
|             $(btnAddDualFiber).removeClass('highlight'); |  | ||||||
|             $(btnAddSingleFiber).removeClass('highlight'); |  | ||||||
|             $(btnAddSinglePatch).removeClass('highlight'); |  | ||||||
|             $(btnAddDualPatch).removeClass('highlight'); |  | ||||||
|             $(btnAddRamAmp).addClass('highlight'); |  | ||||||
|             break; |  | ||||||
|         case 'service': |  | ||||||
|             $(btnServiceActive).addClass('highlight'); |  | ||||||
|             break; |  | ||||||
|         default: |  | ||||||
|             $(btnAddRoadm).removeClass('highlight'); |  | ||||||
|             $(btnAddFused).removeClass('highlight'); |  | ||||||
|             $(btnAddILA).removeClass('highlight'); |  | ||||||
|             $(btnAddAmplifier).removeClass('highlight'); |  | ||||||
|             $(btnAddTransceiver).removeClass('highlight'); |  | ||||||
|             $(btnAddDualFiber).removeClass('highlight'); |  | ||||||
|             $(btnAddSingleFiber).removeClass('highlight'); |  | ||||||
|             $(btnServiceActive).removeClass('highlight'); |  | ||||||
|             $(btnAddSinglePatch).removeClass('highlight'); |  | ||||||
|             $(btnAddDualPatch).removeClass('highlight'); |  | ||||||
|             $(btnAddRamAmp).removeClass('highlight'); |  | ||||||
|  |  | ||||||
|     } |  | ||||||
| } |  | ||||||
|  |  | ||||||
| function showHideDrawerandMenu() { |  | ||||||
|     document.getElementById("roadmMenu").style.display = "none"; |  | ||||||
|     document.getElementById("attenuatorMenu").style.display = "none"; |  | ||||||
|     document.getElementById("ILAMenu").style.display = "none"; |  | ||||||
|     document.getElementById("amplifierMenu").style.display = "none"; |  | ||||||
|     document.getElementById("transceiverMenu").style.display = "none"; |  | ||||||
|     document.getElementById("serviceMenu").style.display = "none"; |  | ||||||
|     document.getElementById("singleFiberMenu").style.display = "none"; |  | ||||||
|     document.getElementById("dualFiberMenu").style.display = "none"; |  | ||||||
|     document.getElementById("singlePatchMenu").style.display = "none"; |  | ||||||
|     document.getElementById("dualPatchMenu").style.display = "none"; |  | ||||||
|     document.getElementById("ramanAmpMenu").style.display = "none"; |  | ||||||
|  |  | ||||||
|     closeDrawer('roadm'); |  | ||||||
|     closeDrawer('attenuator'); |  | ||||||
|     closeDrawer('ILA'); |  | ||||||
|     closeDrawer('amplifier'); |  | ||||||
|     closeDrawer('transceiver'); |  | ||||||
|     closeDrawer('service'); |  | ||||||
|     closeDrawer('dualfiber'); |  | ||||||
|     closeDrawer('singlefiber'); |  | ||||||
|     closeDrawer('singlepatch'); |  | ||||||
|     closeDrawer('dualpatch'); |  | ||||||
|     closeDrawer('ramanamp'); |  | ||||||
| } |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										49
									
								
								js/vis-network.min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										49
									
								
								js/vis-network.min.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
		Reference in New Issue
	
	Block a user
	 sakv2e10204
					sakv2e10204