Compare commits
	
		
			750 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					4a9010737a | ||
| 
						 | 
					b2d9a829e9 | ||
| 
						 | 
					c6a85d76cc | ||
| 
						 | 
					4a74bfebc4 | ||
| 
						 | 
					44c29c7912 | ||
| 
						 | 
					653cd758f4 | ||
| 
						 | 
					e65f577202 | ||
| 
						 | 
					3f9478de30 | ||
| 
						 | 
					070a03c73e | ||
| 
						 | 
					244692e766 | ||
| 
						 | 
					a154fffcce | ||
| 
						 | 
					ae0c529fca | ||
| 
						 | 
					edcca87acf | ||
| 
						 | 
					356188a350 | ||
| 
						 | 
					cafb950aa7 | ||
| 
						 | 
					549627a355 | ||
| 
						 | 
					e6307648da | ||
| 
						 | 
					fab4467bfd | ||
| 
						 | 
					37666c5075 | ||
| 
						 | 
					871efc88b5 | ||
| 
						 | 
					db5611233b | ||
| 
						 | 
					caa1fd4d9b | ||
| 
						 | 
					be3f5548f4 | ||
| 
						 | 
					a33740c372 | ||
| 
						 | 
					130d71d5a0 | ||
| 
						 | 
					bcd9c692e6 | ||
| 
						 | 
					5947f3362d | ||
| 
						 | 
					4bbfbb82bc | ||
| 
						 | 
					6f7876d3e7 | ||
| 
						 | 
					d4aff8067e | ||
| 
						 | 
					eaca70d29b | ||
| 
						 | 
					a1889c88d3 | ||
| 
						 | 
					53b3926e29 | ||
| 
						 | 
					745e76db79 | ||
| 
						 | 
					82e153c277 | ||
| 
						 | 
					b080b73b97 | ||
| 
						 | 
					1c05d8df28 | ||
| 
						 | 
					efc80a183b | ||
| 
						 | 
					8a92912035 | ||
| 
						 | 
					b870cf828a | ||
| 
						 | 
					4cb4fe53a5 | ||
| 
						 | 
					f70992e9a1 | ||
| 
						 | 
					eb48d77636 | ||
| 
						 | 
					df1686a2ae | ||
| 
						 | 
					8781c78c15 | ||
| 
						 | 
					ad5b0ce2a0 | ||
| 
						 | 
					039e641046 | ||
| 
						 | 
					f1f62efe6f | ||
| 
						 | 
					b3053f32b2 | ||
| 
						 | 
					09184b0402 | ||
| 
						 | 
					98562fd967 | ||
| 
						 | 
					65e9e64cb4 | ||
| 
						 | 
					573ecbd58d | ||
| 
						 | 
					a801fcca49 | ||
| 
						 | 
					e9d16ee172 | ||
| 
						 | 
					db4dfc93e8 | ||
| 
						 | 
					cf17f03ae0 | ||
| 
						 | 
					64f3ee797e | ||
| 
						 | 
					e287705e88 | ||
| 
						 | 
					9583b2bae0 | ||
| 
						 | 
					2698993a6d | ||
| 
						 | 
					a14b595e8c | ||
| 
						 | 
					d7957b85ae | ||
| 
						 | 
					227a51423d | ||
| 
						 | 
					ea0e7340cc | ||
| 
						 | 
					999680e94b | ||
| 
						 | 
					566dbbb157 | ||
| 
						 | 
					75d995d54e | ||
| 
						 | 
					908faa491b | ||
| 
						 | 
					7a254e343e | ||
| 
						 | 
					016ac336b9 | ||
| 
						 | 
					1cfd3a10ad | ||
| 
						 | 
					1838029d22 | ||
| 
						 | 
					7767043a5a | ||
| 
						 | 
					b1cfa6db19 | ||
| 
						 | 
					623d5a5546 | ||
| 
						 | 
					8c676eb965 | ||
| 
						 | 
					1e4ccce36c | ||
| 
						 | 
					1808206e74 | ||
| 
						 | 
					0fbc2b92aa | ||
| 
						 | 
					42d274e988 | ||
| 
						 | 
					ec64680a66 | ||
| 
						 | 
					d006b89efd | ||
| 
						 | 
					48654c382d | ||
| 
						 | 
					8d23168a87 | ||
| 
						 | 
					e27baaec9d | ||
| 
						 | 
					31a37ae506 | ||
| 
						 | 
					6360f90102 | ||
| 
						 | 
					b829003711 | ||
| 
						 | 
					fae773b25a | ||
| 
						 | 
					0e8df4441d | ||
| 
						 | 
					35e7e26d67 | ||
| 
						 | 
					14c88280f5 | ||
| 
						 | 
					aaab9d3bc5 | ||
| 
						 | 
					02095595c6 | ||
| 
						 | 
					9a80664ce2 | ||
| 
						 | 
					b69e7e4ddf | ||
| 
						 | 
					db642782b0 | ||
| 
						 | 
					33dedbbfa3 | ||
| 
						 | 
					a8f53de511 | ||
| 
						 | 
					3b7dad989f | ||
| 
						 | 
					4d62c5298a | ||
| 
						 | 
					538c6b5233 | ||
| 
						 | 
					969a14802b | ||
| 
						 | 
					5c7f683d16 | ||
| 
						 | 
					c7874e5e40 | ||
| 
						 | 
					628e4fa873 | ||
| 
						 | 
					8e01abbeb6 | ||
| 
						 | 
					89ee99f98d | ||
| 
						 | 
					21452d091f | ||
| 
						 | 
					d21f55b476 | ||
| 
						 | 
					d01453ea1d | ||
| 
						 | 
					09e3327e94 | ||
| 
						 | 
					00deeb9fdd | ||
| 
						 | 
					0aed1ba04f | ||
| 
						 | 
					526947e3a1 | ||
| 
						 | 
					b52308df80 | ||
| 
						 | 
					bdb9e02df0 | ||
| 
						 | 
					6273020127 | ||
| 
						 | 
					4d1a464954 | ||
| 
						 | 
					9711ab6c5f | ||
| 
						 | 
					95963eb0be | ||
| 
						 | 
					0596edb0a1 | ||
| 
						 | 
					7ac82d4ad9 | ||
| 
						 | 
					74a9ad955b | ||
| 
						 | 
					c23cce672c | ||
| 
						 | 
					d39b4b3624 | ||
| 
						 | 
					2c3ebeec09 | ||
| 
						 | 
					86f2ffa61f | ||
| 
						 | 
					017781ff35 | ||
| 
						 | 
					7d72ad0f37 | ||
| 
						 | 
					152033f98a | ||
| 
						 | 
					c21bf5b87d | ||
| 
						 | 
					fa60d40171 | ||
| 
						 | 
					d80d5557c8 | ||
| 
						 | 
					6c7ac8d7f4 | ||
| 
						 | 
					d72867da35 | ||
| 
						 | 
					14347b73f2 | ||
| 
						 | 
					11e2bf4cbb | ||
| 
						 | 
					b2553d35fd | ||
| 
						 | 
					58f8a02557 | ||
| 
						 | 
					34450144ba | ||
| 
						 | 
					f9e08d53af | ||
| 
						 | 
					006e402d9f | ||
| 
						 | 
					8132012534 | ||
| 
						 | 
					3e8f02eea4 | ||
| 
						 | 
					7312980453 | ||
| 
						 | 
					8c20d41d89 | ||
| 
						 | 
					d50d53ac1f | ||
| 
						 | 
					b0d7ab2e81 | ||
| 
						 | 
					91223b7518 | ||
| 
						 | 
					616e4b6e0c | ||
| 
						 | 
					5170ea81e7 | ||
| 
						 | 
					53a8cd8ee4 | ||
| 
						 | 
					2229e8cb7d | ||
| 
						 | 
					9ce1041b0e | ||
| 
						 | 
					187065098b | ||
| 
						 | 
					467bdf0045 | ||
| 
						 | 
					9462b5b461 | ||
| 
						 | 
					da7f29a9e0 | ||
| 
						 | 
					d06bfd91ff | ||
| 
						 | 
					b9bba10697 | ||
| 
						 | 
					4581de92ad | ||
| 
						 | 
					72c520cca7 | ||
| 
						 | 
					835ee2a046 | ||
| 
						 | 
					d03dee8fda | ||
| 
						 | 
					6e89598a51 | ||
| 
						 | 
					0a2aa6f734 | ||
| 
						 | 
					2e7836eec3 | ||
| 
						 | 
					31bdda8bf8 | ||
| 
						 | 
					2fc93fa819 | ||
| 
						 | 
					3c5a939b16 | ||
| 
						 | 
					0f40c4cd49 | ||
| 
						 | 
					7ad184cb48 | ||
| 
						 | 
					41a7d5d0a8 | ||
| 
						 | 
					78c48e004c | ||
| 
						 | 
					7106d61881 | ||
| 
						 | 
					8ead4c4708 | ||
| 
						 | 
					52ca7d3503 | ||
| 
						 | 
					7d504da0a8 | ||
| 
						 | 
					c6dee2252b | ||
| 
						 | 
					680c4a9ec4 | ||
| 
						 | 
					3887d57fa4 | ||
| 
						 | 
					d733daed9d | ||
| 
						 | 
					de8651ab52 | ||
| 
						 | 
					0ce641d10b | ||
| 
						 | 
					316224b424 | ||
| 
						 | 
					cf9bbce284 | ||
| 
						 | 
					6eae6c046e | ||
| 
						 | 
					837a430228 | ||
| 
						 | 
					71431f8fb5 | ||
| 
						 | 
					0c7cd1f299 | ||
| 
						 | 
					674682e919 | ||
| 
						 | 
					a5ca8115af | ||
| 
						 | 
					d4338fce42 | ||
| 
						 | 
					14e8135f81 | ||
| 
						 | 
					e925f07505 | ||
| 
						 | 
					b792b51bd0 | ||
| 
						 | 
					fb64813b2a | ||
| 
						 | 
					b16e0e33ab | ||
| 
						 | 
					818921e4a2 | ||
| 
						 | 
					6c437459ca | ||
| 
						 | 
					b276901874 | ||
| 
						 | 
					85b92f46f5 | ||
| 
						 | 
					237b8b5ede | ||
| 
						 | 
					438d008c34 | ||
| 
						 | 
					53a3de1ebc | ||
| 
						 | 
					2d35747e75 | ||
| 
						 | 
					71feebea6d | ||
| 
						 | 
					c8c75e7a70 | ||
| 
						 | 
					7b2263e9a5 | ||
| 
						 | 
					9cd216bbba | ||
| 
						 | 
					e032ff4485 | ||
| 
						 | 
					fbe9ca5dd9 | ||
| 
						 | 
					4533bb6dd7 | ||
| 
						 | 
					3320c03603 | ||
| 
						 | 
					c3574d96d7 | ||
| 
						 | 
					ebd2419634 | ||
| 
						 | 
					133c256543 | ||
| 
						 | 
					98a2a72f33 | ||
| 
						 | 
					bc12b598ce | ||
| 
						 | 
					a34f679c43 | ||
| 
						 | 
					f008fd082e | ||
| 
						 | 
					d2fd895582 | ||
| 
						 | 
					746a812ae8 | ||
| 
						 | 
					b67c69b88b | ||
| 
						 | 
					f6ee20730a | ||
| 
						 | 
					2829a96c84 | ||
| 
						 | 
					37e1a92a89 | ||
| 
						 | 
					81c4717472 | ||
| 
						 | 
					94aac686c9 | ||
| 
						 | 
					b75848515b | ||
| 
						 | 
					a26cf9a3ff | ||
| 
						 | 
					a7e4f728d2 | ||
| 
						 | 
					921d234972 | ||
| 
						 | 
					6bec9f977f | ||
| 
						 | 
					6eaa9f8af1 | ||
| 
						 | 
					5ef189b445 | ||
| 
						 | 
					9f8283892e | ||
| 
						 | 
					6ba2dc9601 | ||
| 
						 | 
					e23512c860 | ||
| 
						 | 
					32b6fe1625 | ||
| 
						 | 
					8663b6d108 | ||
| 
						 | 
					7794aa4c99 | ||
| 
						 | 
					ba90ea59f4 | ||
| 
						 | 
					aadb4c44a1 | ||
| 
						 | 
					467ad39873 | ||
| 
						 | 
					0a92b2db48 | ||
| 
						 | 
					60a8f1ea61 | ||
| 
						 | 
					1063061b47 | ||
| 
						 | 
					54186575e0 | ||
| 
						 | 
					114005d572 | ||
| 
						 | 
					cde59a5ab1 | ||
| 
						 | 
					e6bb26ce12 | ||
| 
						 | 
					0cde953d58 | ||
| 
						 | 
					ce7a804a70 | ||
| 
						 | 
					67716aedde | ||
| 
						 | 
					54a98cd6e5 | ||
| 
						 | 
					31a901bea9 | ||
| 
						 | 
					f0fdc90226 | ||
| 
						 | 
					e14f892bc6 | ||
| 
						 | 
					39158b0d1e | ||
| 
						 | 
					acc264534e | ||
| 
						 | 
					48dcb4acbf | ||
| 
						 | 
					1c40f9eb4c | ||
| 
						 | 
					9e418eb423 | ||
| 
						 | 
					e4ff3a87a7 | ||
| 
						 | 
					e82551c97f | ||
| 
						 | 
					d877a4aecf | ||
| 
						 | 
					5c50a40bdb | ||
| 
						 | 
					9caf0f375c | ||
| 
						 | 
					1ed8285452 | ||
| 
						 | 
					16170e613c | ||
| 
						 | 
					b3fb45dd36 | ||
| 
						 | 
					54f5912da6 | ||
| 
						 | 
					8542ded488 | ||
| 
						 | 
					e6561faf8c | ||
| 
						 | 
					f291b7b0fc | ||
| 
						 | 
					d9ea2abf1a | ||
| 
						 | 
					60a072809b | ||
| 
						 | 
					9828d6457d | ||
| 
						 | 
					d6f390d7d4 | ||
| 
						 | 
					6ddafc8de0 | ||
| 
						 | 
					ed5c83cf66 | ||
| 
						 | 
					bf227b5e6f | ||
| 
						 | 
					8bc1350e2e | ||
| 
						 | 
					3aa0dd2f51 | ||
| 
						 | 
					6c1f1e1db7 | ||
| 
						 | 
					0c615fcb3b | ||
| 
						 | 
					3ca900af6c | ||
| 
						 | 
					1481626b1b | ||
| 
						 | 
					a0ba5aeca4 | ||
| 
						 | 
					f48a922b4c | ||
| 
						 | 
					2418273191 | ||
| 
						 | 
					09a10d7838 | ||
| 
						 | 
					40ed1dd612 | ||
| 
						 | 
					2aa38f1117 | ||
| 
						 | 
					5d81ad9830 | ||
| 
						 | 
					dffb45e233 | ||
| 
						 | 
					5606c7b29a | ||
| 
						 | 
					9d5b4f63d3 | ||
| 
						 | 
					2c353023ab | ||
| 
						 | 
					6992cdbaa4 | ||
| 
						 | 
					9576079bfa | ||
| 
						 | 
					1e08ccaae3 | ||
| 
						 | 
					80e07eb53a | ||
| 
						 | 
					54b7a27e65 | ||
| 
						 | 
					5dc6100e8e | ||
| 
						 | 
					a5c1a7122d | ||
| 
						 | 
					61442462c7 | ||
| 
						 | 
					917c31bef4 | ||
| 
						 | 
					989439587f | ||
| 
						 | 
					e74130733e | ||
| 
						 | 
					2cce9a4f4c | ||
| 
						 | 
					b721dfeb71 | ||
| 
						 | 
					645b9b2c37 | ||
| 
						 | 
					b419ebfe5d | ||
| 
						 | 
					96d40a2946 | ||
| 
						 | 
					e9b40573c7 | ||
| 
						 | 
					ad316dfeac | ||
| 
						 | 
					62cbaf3c04 | ||
| 
						 | 
					cdb7eb3da9 | ||
| 
						 | 
					671e0bbf71 | ||
| 
						 | 
					50704b7b6a | ||
| 
						 | 
					c198d1f593 | ||
| 
						 | 
					c91cd2eecf | ||
| 
						 | 
					31e47f4a04 | ||
| 
						 | 
					470a9c4afa | ||
| 
						 | 
					98692be3ba | ||
| 
						 | 
					5c5077d7ec | ||
| 
						 | 
					8cbecc20bc | ||
| 
						 | 
					c13cae9ab3 | ||
| 
						 | 
					74de687b90 | ||
| 
						 | 
					ed3aca7d0c | ||
| 
						 | 
					c9467f31c8 | ||
| 
						 | 
					ad08632809 | ||
| 
						 | 
					e9562dcf82 | ||
| 
						 | 
					bea47b2640 | ||
| 
						 | 
					242078ec15 | ||
| 
						 | 
					5ca140df46 | ||
| 
						 | 
					1259212cb2 | ||
| 
						 | 
					750fa5be5e | ||
| 
						 | 
					299c43e10d | ||
| 
						 | 
					969450cad3 | ||
| 
						 | 
					3da330b637 | ||
| 
						 | 
					86bd64e887 | ||
| 
						 | 
					e02f939cb8 | ||
| 
						 | 
					2deebea6c8 | ||
| 
						 | 
					fc2b1bb23c | ||
| 
						 | 
					848d94bad1 | ||
| 
						 | 
					4bde6e2d1f | ||
| 
						 | 
					e7694b644f | ||
| 
						 | 
					07b3ac967a | ||
| 
						 | 
					c955bd9126 | ||
| 
						 | 
					ee69783a66 | ||
| 
						 | 
					b43c86520f | ||
| 
						 | 
					0952f62bf0 | ||
| 
						 | 
					44be7ec634 | ||
| 
						 | 
					cddb0e94fa | ||
| 
						 | 
					1a9fb77361 | ||
| 
						 | 
					f7392461ad | ||
| 
						 | 
					b567dc26f8 | ||
| 
						 | 
					a08f84f5b3 | ||
| 
						 | 
					b1277ff2ac | ||
| 
						 | 
					aea1550a77 | ||
| 
						 | 
					262c1fe1e2 | ||
| 
						 | 
					2d1e684c69 | ||
| 
						 | 
					5c6fb8b9ec | ||
| 
						 | 
					a6be8b08c3 | ||
| 
						 | 
					6503c1b84d | ||
| 
						 | 
					1fc1588303 | ||
| 
						 | 
					ae03c5c33e | ||
| 
						 | 
					2d2603ff27 | ||
| 
						 | 
					55881b0c5e | ||
| 
						 | 
					adf752db85 | ||
| 
						 | 
					d211669244 | ||
| 
						 | 
					99af39db69 | ||
| 
						 | 
					e707239d12 | ||
| 
						 | 
					d349e43523 | ||
| 
						 | 
					d52df89ab3 | ||
| 
						 | 
					ae48518271 | ||
| 
						 | 
					d7238881dc | ||
| 
						 | 
					ebf2d7d5c6 | ||
| 
						 | 
					259087aa95 | ||
| 
						 | 
					0d7e2056f0 | ||
| 
						 | 
					c35178bcbb | ||
| 
						 | 
					5da3fb6c19 | ||
| 
						 | 
					1961aa62da | ||
| 
						 | 
					8678b454e3 | ||
| 
						 | 
					b26408ade2 | ||
| 
						 | 
					e60c000aad | ||
| 
						 | 
					411c618be1 | ||
| 
						 | 
					04fe9e18b6 | ||
| 
						 | 
					b5772ce7f4 | ||
| 
						 | 
					1c3a5232c7 | ||
| 
						 | 
					35caed4b07 | ||
| 
						 | 
					6fb6e92382 | ||
| 
						 | 
					83a4493a61 | ||
| 
						 | 
					5cedcf1ebf | ||
| 
						 | 
					2ebc649fdf | ||
| 
						 | 
					996e9c2e4b | ||
| 
						 | 
					01f27da4b2 | ||
| 
						 | 
					6151dcb8ff | ||
| 
						 | 
					26e4dd9859 | ||
| 
						 | 
					531b240990 | ||
| 
						 | 
					3e82403d41 | ||
| 
						 | 
					3564abfa29 | ||
| 
						 | 
					cd87fb4500 | ||
| 
						 | 
					65ffc7a656 | ||
| 
						 | 
					dab7aa77c9 | ||
| 
						 | 
					6847b5180a | ||
| 
						 | 
					e0ba4e4b20 | ||
| 
						 | 
					955becdb46 | ||
| 
						 | 
					daba3a3f28 | ||
| 
						 | 
					33b8d1a1f5 | ||
| 
						 | 
					0a4a5b392c | ||
| 
						 | 
					4422d54b74 | ||
| 
						 | 
					e4883bf588 | ||
| 
						 | 
					961243eefd | ||
| 
						 | 
					c9c3e003eb | ||
| 
						 | 
					0faa9f63d2 | ||
| 
						 | 
					a44932d4f8 | ||
| 
						 | 
					5e35c23883 | ||
| 
						 | 
					550f5ad299 | ||
| 
						 | 
					dd19ed8bcd | ||
| 
						 | 
					ff34e1098c | ||
| 
						 | 
					763922b349 | ||
| 
						 | 
					757844d3ac | ||
| 
						 | 
					e5775e548f | ||
| 
						 | 
					477e686806 | ||
| 
						 | 
					8d5f912adc | ||
| 
						 | 
					45f206d947 | ||
| 
						 | 
					2a271e9dea | ||
| 
						 | 
					a007903ea2 | ||
| 
						 | 
					bb55498285 | ||
| 
						 | 
					39b482bab9 | ||
| 
						 | 
					8b91d3c7e5 | ||
| 
						 | 
					f56611b0e1 | ||
| 
						 | 
					760a6f50b2 | ||
| 
						 | 
					c5f629d761 | ||
| 
						 | 
					b754dfff73 | ||
| 
						 | 
					3d4937144f | ||
| 
						 | 
					f7f01f4c90 | ||
| 
						 | 
					8ce89f1621 | ||
| 
						 | 
					00cdb0bf1e | ||
| 
						 | 
					3ce188333e | ||
| 
						 | 
					7ddf82cf1b | ||
| 
						 | 
					1e17da594d | ||
| 
						 | 
					299922a38a | ||
| 
						 | 
					8360644864 | ||
| 
						 | 
					d445766f01 | ||
| 
						 | 
					601c369f2d | ||
| 
						 | 
					818bdd67ba | ||
| 
						 | 
					967ef64728 | ||
| 
						 | 
					6607d52539 | ||
| 
						 | 
					d48925f9ba | ||
| 
						 | 
					e36c682fb1 | ||
| 
						 | 
					63c7212685 | ||
| 
						 | 
					6f5d2170c2 | ||
| 
						 | 
					a6ba03c33b | ||
| 
						 | 
					b7c18bd320 | ||
| 
						 | 
					0ff74497ad | ||
| 
						 | 
					cc658f0223 | ||
| 
						 | 
					c634082608 | ||
| 
						 | 
					8c3b3d8ac1 | ||
| 
						 | 
					f791e19ae7 | ||
| 
						 | 
					c19f6cc535 | ||
| 
						 | 
					b256b941a6 | ||
| 
						 | 
					6a2501ad81 | ||
| 
						 | 
					323a9e3f99 | ||
| 
						 | 
					352891d7d1 | ||
| 
						 | 
					b094d88770 | ||
| 
						 | 
					f9a762ffc1 | ||
| 
						 | 
					3476a235ab | ||
| 
						 | 
					c978301d23 | ||
| 
						 | 
					e61475e9ac | ||
| 
						 | 
					e440d10bce | ||
| 
						 | 
					b4b74c9949 | ||
| 
						 | 
					157f32f094 | ||
| 
						 | 
					1ce58a361f | ||
| 
						 | 
					d19b7bafd9 | ||
| 
						 | 
					797caf0e7b | ||
| 
						 | 
					0e17964204 | ||
| 
						 | 
					eca61f9418 | ||
| 
						 | 
					658a4c0f1a | ||
| 
						 | 
					50fa8d1c1d | ||
| 
						 | 
					9e7b252700 | ||
| 
						 | 
					9fc9163453 | ||
| 
						 | 
					1f01a1b8b6 | ||
| 
						 | 
					8055b6891c | ||
| 
						 | 
					6416f24f93 | ||
| 
						 | 
					7cbf3c0dfa | ||
| 
						 | 
					28526885f6 | ||
| 
						 | 
					da50285edf | ||
| 
						 | 
					3bf4400836 | ||
| 
						 | 
					d1afb828d4 | ||
| 
						 | 
					ac0398d8f3 | ||
| 
						 | 
					671057e507 | ||
| 
						 | 
					78fe66a155 | ||
| 
						 | 
					1900a2cc1e | ||
| 
						 | 
					d202938370 | ||
| 
						 | 
					6f66d7134d | ||
| 
						 | 
					a70d363b62 | ||
| 
						 | 
					3799d6d187 | ||
| 
						 | 
					1fd56085f2 | ||
| 
						 | 
					61de7f7abf | ||
| 
						 | 
					bd37b67ab8 | ||
| 
						 | 
					6c0a5c0806 | ||
| 
						 | 
					5be16c47be | ||
| 
						 | 
					ebe37afa4a | ||
| 
						 | 
					4ec232f35c | ||
| 
						 | 
					53e2909690 | ||
| 
						 | 
					092653c838 | ||
| 
						 | 
					d204861c56 | ||
| 
						 | 
					1494dd5ee9 | ||
| 
						 | 
					4a3e697d78 | ||
| 
						 | 
					f234ca2985 | ||
| 
						 | 
					b64bbb4262 | ||
| 
						 | 
					41f139fdf1 | ||
| 
						 | 
					386b94c126 | ||
| 
						 | 
					36d2d31878 | ||
| 
						 | 
					3e0dc52376 | ||
| 
						 | 
					aef48107fe | ||
| 
						 | 
					9fb2c92a15 | ||
| 
						 | 
					6dbe24e34f | ||
| 
						 | 
					656d407ade | ||
| 
						 | 
					133af50067 | ||
| 
						 | 
					bb03f0d250 | ||
| 
						 | 
					4d373fb1c7 | ||
| 
						 | 
					c21453861f | ||
| 
						 | 
					587a0aac68 | ||
| 
						 | 
					58a083109e | ||
| 
						 | 
					97d326ac88 | ||
| 
						 | 
					909616efbe | ||
| 
						 | 
					fa566c2101 | ||
| 
						 | 
					8a7d740c95 | ||
| 
						 | 
					69e5c2ef48 | ||
| 
						 | 
					f202cd7327 | ||
| 
						 | 
					f6861ec122 | ||
| 
						 | 
					76a10f3dd7 | ||
| 
						 | 
					6c16125fa4 | ||
| 
						 | 
					d6b9d445aa | ||
| 
						 | 
					5403ce690e | ||
| 
						 | 
					8bb3f64e70 | ||
| 
						 | 
					bcbdf3441e | ||
| 
						 | 
					4c355d8a68 | ||
| 
						 | 
					44c32f364a | ||
| 
						 | 
					439bb9667e | ||
| 
						 | 
					d0daf64ae9 | ||
| 
						 | 
					6e90ed67ad | ||
| 
						 | 
					ebc44fa1ea | ||
| 
						 | 
					5ba716a437 | ||
| 
						 | 
					b7a427fc6f | ||
| 
						 | 
					6067fcbc9e | ||
| 
						 | 
					8b767a8aff | ||
| 
						 | 
					3c6cf48d9f | ||
| 
						 | 
					c6b77aecb9 | ||
| 
						 | 
					3119c8f9a6 | ||
| 
						 | 
					ada2dea463 | ||
| 
						 | 
					9001214462 | ||
| 
						 | 
					77bc5eaabd | ||
| 
						 | 
					c4263299b9 | ||
| 
						 | 
					633b59f99f | ||
| 
						 | 
					35f1ddcbae | ||
| 
						 | 
					7279acff7e | ||
| 
						 | 
					91dc8f4c92 | ||
| 
						 | 
					dfba26b76a | ||
| 
						 | 
					4954f11c93 | ||
| 
						 | 
					40f752f48f | ||
| 
						 | 
					5ccf299003 | ||
| 
						 | 
					b5f8b3c1eb | ||
| 
						 | 
					cfe2199354 | ||
| 
						 | 
					074c973aeb | ||
| 
						 | 
					2166001174 | ||
| 
						 | 
					98b82b9fc6 | ||
| 
						 | 
					a56d92e4eb | ||
| 
						 | 
					283c8361f2 | ||
| 
						 | 
					3743fc5cfa | ||
| 
						 | 
					08d2154489 | ||
| 
						 | 
					449ce0a927 | ||
| 
						 | 
					5dff6f76d1 | ||
| 
						 | 
					5ae181cd89 | ||
| 
						 | 
					09887a439e | ||
| 
						 | 
					b1d999a42e | ||
| 
						 | 
					c857796318 | ||
| 
						 | 
					68b3693531 | ||
| 
						 | 
					79fb4c550d | ||
| 
						 | 
					b02e495028 | ||
| 
						 | 
					acdd51ffdf | ||
| 
						 | 
					69f3d96be2 | ||
| 
						 | 
					c7e3c9d8d0 | ||
| 
						 | 
					d80002afc8 | ||
| 
						 | 
					5ade42ca7c | ||
| 
						 | 
					8636215314 | ||
| 
						 | 
					4f4fe972d3 | ||
| 
						 | 
					38a39a2aaa | ||
| 
						 | 
					1d40cef5d5 | ||
| 
						 | 
					d9160aac2d | ||
| 
						 | 
					5125be8094 | ||
| 
						 | 
					cadf862c7b | ||
| 
						 | 
					13639b3a01 | ||
| 
						 | 
					f0c8a4053c | ||
| 
						 | 
					e47d8b02d3 | ||
| 
						 | 
					de7faed4c3 | ||
| 
						 | 
					fbd03c1fc5 | ||
| 
						 | 
					e23b77c400 | ||
| 
						 | 
					df6ec36515 | ||
| 
						 | 
					192836dd2c | ||
| 
						 | 
					3510f6f90b | ||
| 
						 | 
					db7394d86c | ||
| 
						 | 
					772e7cd07d | ||
| 
						 | 
					15403befc0 | ||
| 
						 | 
					4d0f7f2de2 | ||
| 
						 | 
					8cdb1865bf | ||
| 
						 | 
					c5843a55c3 | ||
| 
						 | 
					54bc4ad403 | ||
| 
						 | 
					8fe26a08b3 | ||
| 
						 | 
					75b2dd2e27 | ||
| 
						 | 
					83b7560d4d | ||
| 
						 | 
					946fbbc053 | ||
| 
						 | 
					54174dd4f2 | ||
| 
						 | 
					017d1719a6 | ||
| 
						 | 
					efdf5b2b30 | ||
| 
						 | 
					4a58852ebd | ||
| 
						 | 
					cf18a96900 | ||
| 
						 | 
					d1f4e77e6d | ||
| 
						 | 
					757b09f031 | ||
| 
						 | 
					6f78768459 | ||
| 
						 | 
					c3c31ec4ac | ||
| 
						 | 
					3dce199b79 | ||
| 
						 | 
					403e8bc185 | ||
| 
						 | 
					0f15ae7bef | ||
| 
						 | 
					112b01afff | ||
| 
						 | 
					4a45ad0025 | ||
| 
						 | 
					02385c5544 | ||
| 
						 | 
					a422d5d446 | ||
| 
						 | 
					5fe05e2890 | ||
| 
						 | 
					d9f3406ae7 | ||
| 
						 | 
					28ec0482c8 | ||
| 
						 | 
					273a91f357 | ||
| 
						 | 
					2c7df5abd1 | ||
| 
						 | 
					09232c5640 | ||
| 
						 | 
					fe84f6bdb1 | ||
| 
						 | 
					e1727d2f91 | ||
| 
						 | 
					74cac90696 | ||
| 
						 | 
					4b2bde3c3a | ||
| 
						 | 
					c4b19a3b24 | ||
| 
						 | 
					7384558ad0 | ||
| 
						 | 
					cc8be05594 | ||
| 
						 | 
					bff117e45a | ||
| 
						 | 
					62b1c23b3c | ||
| 
						 | 
					340d21edac | ||
| 
						 | 
					73a824330a | ||
| 
						 | 
					96cc7dc78b | ||
| 
						 | 
					b71b4cd1a5 | ||
| 
						 | 
					a54acfd347 | ||
| 
						 | 
					4d4af822d9 | ||
| 
						 | 
					3bc028fc3b | ||
| 
						 | 
					e1e74cb29a | ||
| 
						 | 
					d9a8a02cd7 | ||
| 
						 | 
					4c96158f11 | ||
| 
						 | 
					7162303e62 | ||
| 
						 | 
					26ef27f251 | ||
| 
						 | 
					f2f370602f | ||
| 
						 | 
					2056482179 | ||
| 
						 | 
					e8960368a5 | ||
| 
						 | 
					c017fe0774 | ||
| 
						 | 
					3ea22477ae | ||
| 
						 | 
					258ba197bb | ||
| 
						 | 
					908a034433 | ||
| 
						 | 
					101509edd6 | ||
| 
						 | 
					ae7200815d | ||
| 
						 | 
					f42b3d48d3 | ||
| 
						 | 
					e60a703f19 | ||
| 
						 | 
					281a84f19c | ||
| 
						 | 
					563b94765e | ||
| 
						 | 
					9695a3ba71 | ||
| 
						 | 
					5b6f0e8f78 | ||
| 
						 | 
					405e8eb944 | ||
| 
						 | 
					1d771a2bea | ||
| 
						 | 
					895301edd3 | ||
| 
						 | 
					568961c4d9 | ||
| 
						 | 
					ce5c25f169 | ||
| 
						 | 
					0b142b0658 | ||
| 
						 | 
					87b3450221 | ||
| 
						 | 
					97b3716dc9 | ||
| 
						 | 
					c83b8eb8aa | ||
| 
						 | 
					d5244f8626 | ||
| 
						 | 
					d5156bf000 | ||
| 
						 | 
					ae36c31dea | ||
| 
						 | 
					77224477b3 | ||
| 
						 | 
					80fa5e7d43 | ||
| 
						 | 
					84de2595b9 | ||
| 
						 | 
					c0023436e8 | ||
| 
						 | 
					6593be8bdf | ||
| 
						 | 
					fb344db120 | ||
| 
						 | 
					6cf081527f | ||
| 
						 | 
					dc4dca417b | ||
| 
						 | 
					be7a55fbc0 | ||
| 
						 | 
					7b476cf38a | ||
| 
						 | 
					236e2ced62 | ||
| 
						 | 
					e99fd9f6b2 | ||
| 
						 | 
					78eb883fef | ||
| 
						 | 
					16608c5fcf | ||
| 
						 | 
					657f61b43e | ||
| 
						 | 
					3e279aff58 | ||
| 
						 | 
					6628c69d19 | ||
| 
						 | 
					cdcd29a47c | ||
| 
						 | 
					d8ab92531f | ||
| 
						 | 
					f6876d13fe | ||
| 
						 | 
					5253009bad | ||
| 
						 | 
					d74e1f4172 | ||
| 
						 | 
					0ad81c85f2 | ||
| 
						 | 
					ec8ea71dcc | ||
| 
						 | 
					cd4be5c7b1 | ||
| 
						 | 
					e2433024d7 | ||
| 
						 | 
					ddc877ee3d | ||
| 
						 | 
					60b03d49c6 | ||
| 
						 | 
					853590376b | ||
| 
						 | 
					cccd7b7cec | ||
| 
						 | 
					1dfd8d8fb1 | ||
| 
						 | 
					68f7570720 | ||
| 
						 | 
					59e1709cff | ||
| 
						 | 
					39b05192fe | ||
| 
						 | 
					fa377132a8 | ||
| 
						 | 
					b3e5cd79ed | ||
| 
						 | 
					6f7b05649b | ||
| 
						 | 
					4861a746b4 | ||
| 
						 | 
					e75c163248 | ||
| 
						 | 
					d8b501fff0 | ||
| 
						 | 
					9de6c27c69 | ||
| 
						 | 
					80811a6071 | ||
| 
						 | 
					814cb09e44 | ||
| 
						 | 
					050a4a3b78 | ||
| 
						 | 
					ced06d1391 | ||
| 
						 | 
					9876c98628 | ||
| 
						 | 
					93c57ecfb6 | ||
| 
						 | 
					666f1a0483 | ||
| 
						 | 
					1b8abac84b | ||
| 
						 | 
					3de2ffb1a1 | ||
| 
						 | 
					419b8c84cb | ||
| 
						 | 
					c9ef0b9046 | ||
| 
						 | 
					7dc2ba9264 | ||
| 
						 | 
					a2fc111d8c | ||
| 
						 | 
					1b47daced3 | ||
| 
						 | 
					ad2be40718 | ||
| 
						 | 
					0f1d251c3a | ||
| 
						 | 
					1bdb30ef01 | ||
| 
						 | 
					dcc37a113f | ||
| 
						 | 
					8d4d90197d | 
							
								
								
									
										28
									
								
								.dockerignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,28 @@
 | 
				
			|||||||
 | 
					# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# dependencies
 | 
				
			||||||
 | 
					/node_modules
 | 
				
			||||||
 | 
					/.pnp
 | 
				
			||||||
 | 
					.pnp.js
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# testing
 | 
				
			||||||
 | 
					/coverage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# production
 | 
				
			||||||
 | 
					/build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# misc
 | 
				
			||||||
 | 
					.DS_Store
 | 
				
			||||||
 | 
					.env.local
 | 
				
			||||||
 | 
					.env.development.local
 | 
				
			||||||
 | 
					.env.test.local
 | 
				
			||||||
 | 
					.env.production.local
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					npm-debug.log*
 | 
				
			||||||
 | 
					yarn-debug.log*
 | 
				
			||||||
 | 
					yarn-error.log*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.git
 | 
				
			||||||
 | 
					.github
 | 
				
			||||||
 | 
					Dockerfile
 | 
				
			||||||
 | 
					helm
 | 
				
			||||||
							
								
								
									
										3
									
								
								.env
									
									
									
									
									
								
							
							
						
						@@ -1,2 +1 @@
 | 
				
			|||||||
REACT_APP_DEFAULT_GATEWAY_URL=https://ucentral.dpaas.arilia.com:16001
 | 
					VITE_UCENTRALSEC_URL="https://ucentral.dpaas.arilia.com:16001"
 | 
				
			||||||
REACT_APP_ALLOW_GATEWAY_CHANGE=false
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1 +1,10 @@
 | 
				
			|||||||
/src/assets
 | 
					/src/assets
 | 
				
			||||||
 | 
					/build
 | 
				
			||||||
 | 
					/node_modules
 | 
				
			||||||
 | 
					/dist
 | 
				
			||||||
 | 
					/icons
 | 
				
			||||||
 | 
					helm
 | 
				
			||||||
 | 
					docker-entrypoint.d
 | 
				
			||||||
 | 
					.dockerignore
 | 
				
			||||||
 | 
					DockerFile
 | 
				
			||||||
 | 
					.github
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										94
									
								
								.eslintrc
									
									
									
									
									
								
							
							
						
						@@ -1,30 +1,86 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    "parser": "babel-eslint",
 | 
					  "env": {
 | 
				
			||||||
    "parserOptions": {
 | 
					    "browser": true,
 | 
				
			||||||
 | 
					    "es2021": true
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "parser": "@typescript-eslint/parser",
 | 
				
			||||||
 | 
					  "parserOptions": {
 | 
				
			||||||
 | 
					    "ecmaFeatures": {
 | 
				
			||||||
 | 
					      "jsx": true
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "ecmaVersion": 12,
 | 
				
			||||||
    "sourceType": "module",
 | 
					    "sourceType": "module",
 | 
				
			||||||
    "allowImportExportEverywhere": false,
 | 
					    "allowImportExportEverywhere": false,
 | 
				
			||||||
    "codeFrame": false
 | 
					    "codeFrame": false,
 | 
				
			||||||
},
 | 
					    "project": "./tsconfig.json"
 | 
				
			||||||
"extends": ["airbnb", "prettier"],
 | 
					  },
 | 
				
			||||||
"env": {
 | 
					  "ignorePatterns": ["build/", "dist/"],
 | 
				
			||||||
    "browser": true,
 | 
					  "extends": [
 | 
				
			||||||
    "jest": true
 | 
					    "plugin:react/recommended",
 | 
				
			||||||
},
 | 
					    "plugin:@typescript-eslint/eslint-recommended",
 | 
				
			||||||
"rules": {
 | 
					    "plugin:@typescript-eslint/recommended",
 | 
				
			||||||
    "max-len": ["error", {"code": 150}],
 | 
					    "airbnb",
 | 
				
			||||||
    "prefer-promise-reject-errors": ["off"],
 | 
					    "airbnb-typescript",
 | 
				
			||||||
    "react/jsx-filename-extension": ["off"],
 | 
					    "prettier",
 | 
				
			||||||
 | 
					    "plugin:import/errors",
 | 
				
			||||||
 | 
					    "plugin:import/warnings",
 | 
				
			||||||
 | 
					    "plugin:import/typescript"
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  "plugins": ["import", "react", "@typescript-eslint", "prettier"],
 | 
				
			||||||
 | 
					  "rules": {
 | 
				
			||||||
 | 
					    "import/extensions": [
 | 
				
			||||||
 | 
					      "error",
 | 
				
			||||||
 | 
					      "ignorePackages",
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        "js": "never",
 | 
				
			||||||
 | 
					        "jsx": "never",
 | 
				
			||||||
 | 
					        "ts": "never",
 | 
				
			||||||
 | 
					        "tsx": "never"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    "@typescript-eslint/naming-convention": [
 | 
				
			||||||
 | 
					      "error",
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        "selector": "function",
 | 
				
			||||||
 | 
					        "format": ["PascalCase", "camelCase"],
 | 
				
			||||||
 | 
					        "leadingUnderscore": "allowSingleOrDouble"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    "no-restricted-syntax": ["error", "ForInStatement", "LabeledStatement", "WithStatement"],
 | 
				
			||||||
 | 
					    "react/function-component-definition": [2, { "namedComponents": "arrow-function" }],
 | 
				
			||||||
 | 
					    "import/order": [
 | 
				
			||||||
 | 
					      "error",
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        "alphabetize": {
 | 
				
			||||||
 | 
					          "order": "asc",
 | 
				
			||||||
 | 
					          "caseInsensitive": true
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "newlines-between": "never",
 | 
				
			||||||
 | 
					        "groups": ["builtin", "external", "parent", "sibling", "index"],
 | 
				
			||||||
 | 
					        "pathGroups": [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            "pattern": "react",
 | 
				
			||||||
 | 
					            "group": "external",
 | 
				
			||||||
 | 
					            "position": "before"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "pathGroupsExcludedImportTypes": ["builtin"]
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    "max-len": ["error", { "code": 150 }],
 | 
				
			||||||
 | 
					    "@typescript-eslint/ban-ts-comment": ["off"],
 | 
				
			||||||
 | 
					    "import/prefer-default-export": ["off"],
 | 
				
			||||||
    "react/prop-types": ["warn"],
 | 
					    "react/prop-types": ["warn"],
 | 
				
			||||||
    "no-return-assign": ["off"],
 | 
					    "react/require-default-props": "off",
 | 
				
			||||||
    "react/jsx-props-no-spreading": ["off"],
 | 
					    "react/jsx-props-no-spreading": ["off"],
 | 
				
			||||||
    "react/destructuring-assignment": ["off"],
 | 
					    "react/jsx-curly-newline": "off",
 | 
				
			||||||
    "no-restricted-syntax": ["error", "ForInStatement", "LabeledStatement", "WithStatement"]
 | 
					    "no-underscore-dangle": "off"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "settings": {
 | 
					  "settings": {
 | 
				
			||||||
    "import/resolver": {
 | 
					    "import/resolver": {
 | 
				
			||||||
      "node": {
 | 
					      "node": {
 | 
				
			||||||
        "paths": ["src"]
 | 
					        "paths": ["src"]
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    }
 | 
				
			||||||
  },
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										72
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,72 @@
 | 
				
			|||||||
 | 
					name: Build Docker image
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  push:
 | 
				
			||||||
 | 
					    paths-ignore:
 | 
				
			||||||
 | 
					      - '**.md'
 | 
				
			||||||
 | 
					    branches:
 | 
				
			||||||
 | 
					      - main
 | 
				
			||||||
 | 
					      - 'release/*'
 | 
				
			||||||
 | 
					    tags:
 | 
				
			||||||
 | 
					      - 'v*'
 | 
				
			||||||
 | 
					  pull_request:
 | 
				
			||||||
 | 
					    branches:
 | 
				
			||||||
 | 
					      - main
 | 
				
			||||||
 | 
					      - 'release/*'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					defaults:
 | 
				
			||||||
 | 
					  run:
 | 
				
			||||||
 | 
					    shell: bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  docker:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-20.04
 | 
				
			||||||
 | 
					    env:
 | 
				
			||||||
 | 
					      DOCKER_REGISTRY_URL: tip-tip-wlan-cloud-ucentral.jfrog.io
 | 
				
			||||||
 | 
					      DOCKER_REGISTRY_USERNAME: ucentral
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					    - name: Checkout actions repo
 | 
				
			||||||
 | 
					      uses: actions/checkout@v3
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        repository: Telecominfraproject/.github
 | 
				
			||||||
 | 
					        path: github
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Build and push Docker image
 | 
				
			||||||
 | 
					      uses: ./github/composite-actions/docker-image-build
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        image_name: owgw-ui
 | 
				
			||||||
 | 
					        registry: tip-tip-wlan-cloud-ucentral.jfrog.io
 | 
				
			||||||
 | 
					        registry_user: ucentral
 | 
				
			||||||
 | 
					        registry_password: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Notify on failure via Slack
 | 
				
			||||||
 | 
					      if: failure() && github.ref == 'refs/heads/main'
 | 
				
			||||||
 | 
					      uses: rtCamp/action-slack-notify@v2
 | 
				
			||||||
 | 
					      env:
 | 
				
			||||||
 | 
					        SLACK_USERNAME: GitHub Actions failure notifier
 | 
				
			||||||
 | 
					        SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
 | 
				
			||||||
 | 
					        SLACK_COLOR: "${{ job.status }}"
 | 
				
			||||||
 | 
					        SLACK_ICON: https://raw.githubusercontent.com/quintessence/slack-icons/master/images/github-logo-slack-icon.png
 | 
				
			||||||
 | 
					        SLACK_TITLE: Docker build failed for OWGW-UI service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  trigger-deploy-to-dev:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    if: github.ref == 'refs/heads/main'
 | 
				
			||||||
 | 
					    needs:
 | 
				
			||||||
 | 
					      - docker
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					    - name: Checkout actions repo
 | 
				
			||||||
 | 
					      uses: actions/checkout@v3
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        repository: Telecominfraproject/.github
 | 
				
			||||||
 | 
					        path: github
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Trigger deployment of the latest version to dev instance and wait for result
 | 
				
			||||||
 | 
					      uses: ./github/composite-actions/trigger-workflow-and-wait
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        owner: Telecominfraproject
 | 
				
			||||||
 | 
					        repo: wlan-testing
 | 
				
			||||||
 | 
					        workflow: ucentralgw-dev-deployment.yaml
 | 
				
			||||||
 | 
					        token: ${{ secrets.WLAN_TESTING_PAT }}
 | 
				
			||||||
 | 
					        ref: master
 | 
				
			||||||
 | 
					        inputs: '{"force_latest": "true"}'
 | 
				
			||||||
							
								
								
									
										26
									
								
								.github/workflows/cleanup.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,26 @@
 | 
				
			|||||||
 | 
					name: Clean up PR Docker images
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  pull_request:
 | 
				
			||||||
 | 
					    branches:
 | 
				
			||||||
 | 
					      - main
 | 
				
			||||||
 | 
					      - 'release/*'
 | 
				
			||||||
 | 
					    types: [ closed ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					defaults:
 | 
				
			||||||
 | 
					  run:
 | 
				
			||||||
 | 
					    shell: bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  cleanup:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - run: |
 | 
				
			||||||
 | 
					          export PR_BRANCH_TAG=$(echo ${GITHUB_HEAD_REF#refs/heads/} | tr '/' '-')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          if [[ ! $PR_BRANCH_TAG =~ (main|master|release-*) ]]; then
 | 
				
			||||||
 | 
					            echo "PR branch is $PR_BRANCH_TAG, deleting Docker image"
 | 
				
			||||||
 | 
					            curl -s -uucentral:${{ secrets.DOCKER_REGISTRY_PASSWORD }} -X DELETE "https://tip.jfrog.io/artifactory/tip-wlan-cloud-ucentral/owgw-ui/$PR_BRANCH_TAG"
 | 
				
			||||||
 | 
					          else
 | 
				
			||||||
 | 
					            echo "PR branch is $PR_BRANCH_TAG, not deleting Docker image"
 | 
				
			||||||
 | 
					          fi
 | 
				
			||||||
							
								
								
									
										24
									
								
								.github/workflows/enforce-jira-issue-key.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					name: Ensure Jira issue is linked
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  pull_request:
 | 
				
			||||||
 | 
					    types: [opened, edited, reopened, synchronize]
 | 
				
			||||||
 | 
					    branches:
 | 
				
			||||||
 | 
					      - 'release/*'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  check_for_issue_key:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - name: Checkout actions repo
 | 
				
			||||||
 | 
					        uses: actions/checkout@v3
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          repository: Telecominfraproject/.github
 | 
				
			||||||
 | 
					          path: github
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Run JIRA check
 | 
				
			||||||
 | 
					        uses: ./github/composite-actions/enforce-jira-issue-key
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          jira_base_url: ${{ secrets.TIP_JIRA_URL }}
 | 
				
			||||||
 | 
					          jira_user_email: ${{ secrets.TIP_JIRA_USER_EMAIL }}
 | 
				
			||||||
 | 
					          jira_api_token: ${{ secrets.TIP_JIRA_API_TOKEN }}
 | 
				
			||||||
							
								
								
									
										46
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,46 @@
 | 
				
			|||||||
 | 
					name: Release chart package
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  push:
 | 
				
			||||||
 | 
					    tags:
 | 
				
			||||||
 | 
					      - 'v*'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					defaults:
 | 
				
			||||||
 | 
					  run:
 | 
				
			||||||
 | 
					    shell: bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  helm-package:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-20.04
 | 
				
			||||||
 | 
					    env:
 | 
				
			||||||
 | 
					      HELM_REPO_URL: https://tip.jfrog.io/artifactory/tip-wlan-cloud-ucentral-helm/
 | 
				
			||||||
 | 
					      HELM_REPO_USERNAME: ucentral
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - name: Checkout uCentral assembly chart repo
 | 
				
			||||||
 | 
					        uses: actions/checkout@v3
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          path: wlan-cloud-ucentralgw-ui
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Build package
 | 
				
			||||||
 | 
					        working-directory: wlan-cloud-ucentralgw-ui/helm
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          helm plugin install https://github.com/aslafy-z/helm-git --version 0.10.0
 | 
				
			||||||
 | 
					          helm repo add bitnami https://charts.bitnami.com/bitnami
 | 
				
			||||||
 | 
					          helm repo update
 | 
				
			||||||
 | 
					          helm dependency update
 | 
				
			||||||
 | 
					          mkdir dist
 | 
				
			||||||
 | 
					          helm package . -d dist
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Generate GitHub release body
 | 
				
			||||||
 | 
					        working-directory: wlan-cloud-ucentralgw-ui/helm
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          pip3 install yq -q
 | 
				
			||||||
 | 
					          echo "Docker image - tip-tip-wlan-cloud-ucentral.jfrog.io/owgw-ui:$GITHUB_REF_NAME" > release.txt
 | 
				
			||||||
 | 
					          echo "Helm charted may be attached to this release" >> release.txt
 | 
				
			||||||
 | 
					          echo "Deployment artifacts may be found in https://github.com/Telecominfraproject/wlan-cloud-ucentral-deploy/tree/$GITHUB_REF_NAME" >> release.txt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Create GitHub release
 | 
				
			||||||
 | 
					        uses: softprops/action-gh-release@v1
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          body_path: wlan-cloud-ucentralgw-ui/helm/release.txt
 | 
				
			||||||
 | 
					          files: wlan-cloud-ucentralgw-ui/helm/dist/*
 | 
				
			||||||
							
								
								
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						@@ -1,9 +1,8 @@
 | 
				
			|||||||
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# dependencies
 | 
					# dependencies
 | 
				
			||||||
/node_modules
 | 
					/node_modules
 | 
				
			||||||
/.pnp
 | 
					/.pnp
 | 
				
			||||||
.pnp.js
 | 
					.pnp.js
 | 
				
			||||||
 | 
					/dev-dist
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# testing
 | 
					# testing
 | 
				
			||||||
/coverage
 | 
					/coverage
 | 
				
			||||||
@@ -19,5 +18,3 @@
 | 
				
			|||||||
.env.production.local
 | 
					.env.production.local
 | 
				
			||||||
 | 
					
 | 
				
			||||||
npm-debug.log*
 | 
					npm-debug.log*
 | 
				
			||||||
yarn-debug.log*
 | 
					 | 
				
			||||||
yarn-error.log*
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										6
									
								
								.prettierignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					/src/assets
 | 
				
			||||||
 | 
					build
 | 
				
			||||||
 | 
					dist
 | 
				
			||||||
 | 
					node_modules
 | 
				
			||||||
 | 
					.github
 | 
				
			||||||
 | 
					/helm
 | 
				
			||||||
							
								
								
									
										14
									
								
								.prettierrc
									
									
									
									
									
								
							
							
						
						@@ -1,7 +1,7 @@
 | 
				
			|||||||
{ 
 | 
					{
 | 
				
			||||||
    "printWidth": 100,
 | 
					  "printWidth": 120,
 | 
				
			||||||
    "trailingComma": "all",
 | 
					  "trailingComma": "all",
 | 
				
			||||||
    "tabWidth": 2, 
 | 
					  "tabWidth": 2,
 | 
				
			||||||
    "semi": true, 
 | 
					  "semi": true,
 | 
				
			||||||
    "singleQuote": true
 | 
					  "singleQuote": true
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										17
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,17 @@
 | 
				
			|||||||
 | 
					FROM node:18.7.0-alpine3.15 AS build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WORKDIR /app
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPY package.json package-lock.json /app/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN npm install
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPY . .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN npm run build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM nginx:1.22.0-alpine AS runtime
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPY --from=build /app/build/ /usr/share/nginx/html/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPY --from=build /app/docker-entrypoint.d/40-generate-config.sh /docker-entrypoint.d/40-generate-config.sh
 | 
				
			||||||
							
								
								
									
										31
									
								
								README.md
									
									
									
									
									
								
							
							
						
						@@ -1,36 +1,43 @@
 | 
				
			|||||||
# uCentralGW UI
 | 
					# uCentralGW UI
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## What is this?
 | 
					## What is this?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The uCentralGW Client is a user interface that lets you monitor and manage devices connected to the [uCentral gateway](https://github.com/Telecominfraproject/wlan-cloud-ucentralgw). To use the interface,
 | 
					The uCentralGW Client is a user interface that lets you monitor and manage devices connected to the [uCentral gateway](https://github.com/Telecominfraproject/wlan-cloud-ucentralgw). To use the interface,
 | 
				
			||||||
you either need to run it on your machine for [development](#development) or build it for [production](#production).
 | 
					you either need to run it on your machine for [development](#development) or build it for [production](#production).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					NOTE: This UI will be evolving as micro services are added to the uCentral program most notably with provisioning, base dashboard, firmware, device management
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Running the solution
 | 
					## Running the solution
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Development
 | 
					### Development
 | 
				
			||||||
Here are the instructions to run the solution on your machine for development purposes. You need to run these in the root folder of the project and also have npm installed on your machine. Please install `npm` for the platform you are using.
 | 
					
 | 
				
			||||||
 | 
					You need to run these commands in the root folder of the project and also have npm installed on your machine.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
git clone https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-ui
 | 
					git clone https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-ui
 | 
				
			||||||
cd wlan-cloud-ucentralgw-ui
 | 
					cd wlan-cloud-ucentralgw-ui
 | 
				
			||||||
npm install
 | 
					npm install
 | 
				
			||||||
npm start
 | 
					npm run dev
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Production
 | 
					### Production
 | 
				
			||||||
Here are the instructions to build the production veresion of the application. You need to run this in the root folder of the project and also have npm installed on your machine.
 | 
					
 | 
				
			||||||
 | 
					You need to run this in the root folder of the project and also have npm installed on your machine.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
git clone https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-ui
 | 
					git clone https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-ui
 | 
				
			||||||
cd wlan-cloud-ucentralgw-ui
 | 
					cd wlan-cloud-ucentralgw-ui
 | 
				
			||||||
 | 
					npm install
 | 
				
			||||||
npm run build
 | 
					npm run build
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Once the build is done, you can move the `build` folder on your server.
 | 
					Once the build is done, you can move the `build` folder on your server.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Environment variables
 | 
					### Configuration
 | 
				
			||||||
There are two environment variables currently used to control the gateway URL and also controlling if the users can modify the gateway URL. You can modify these values in the `.env` file located in the root of the project. 
 | 
					
 | 
				
			||||||
 | 
					You can control the uCentral Security Service URL (uCentralSec) by modifying the ENV variable "VITE_UCENTRALSEC_URL". There is an example .env file located at the root of this repository.
 | 
				
			||||||
 | 
					Here are the current default values:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
During development, you will need to stop and start the project again to see those changes come into effect.
 | 
					 | 
				
			||||||
```asm
 | 
					 | 
				
			||||||
REACT_APP_DEFAULT_GATEWAY_URL=https://ucentral.dpaas.arilia.com:16001
 | 
					 | 
				
			||||||
REACT_APP_ALLOW_GATEWAY_CHANGE=false
 | 
					 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
- `REACT_APP_DEFAULT_GATEWAY_URL` points to the actual uCentral gateway, including the port.
 | 
					VITE_UCENTRALSEC_URL="https://ucentral.dpaas.arilia.com:16001"
 | 
				
			||||||
- `REACT_APP_ALLOW_GATEWAY_CHANGE` : when set to `true` will allow a user to change the gateway name she wants to use. When set to `false`, will not show a text field for the gateway and will only allow users to go to the gateway speficied in `REACT_APP_DEFAULT_GATEWAY_URL`.
 | 
					```
 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										32
									
								
								docker-entrypoint.d/40-generate-config.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,32 @@
 | 
				
			|||||||
 | 
					#!/bin/ash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENV_CONFIG_PATH=/usr/share/nginx/html/env-config.js
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Recreate config file
 | 
				
			||||||
 | 
					rm -rf $ENV_CONFIG_PATH
 | 
				
			||||||
 | 
					touch $ENV_CONFIG_PATH
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Add assignment
 | 
				
			||||||
 | 
					echo "window._env_ = {" >> $ENV_CONFIG_PATH
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Read each line in .env file
 | 
				
			||||||
 | 
					# Each line represents key=value pairs
 | 
				
			||||||
 | 
					env | grep REACT_ | while read -r line || [[ -n "$line" ]];
 | 
				
			||||||
 | 
					do
 | 
				
			||||||
 | 
					  echo $line
 | 
				
			||||||
 | 
					  # Split env variables by character `=`
 | 
				
			||||||
 | 
					  if printf '%s\n' "$line" | grep -q -e '='; then
 | 
				
			||||||
 | 
					    varname=$(printf '%s\n' "$line" | sed -e 's/=.*//')
 | 
				
			||||||
 | 
					    varvalue=$(printf '%s\n' "$line" | sed -e 's/^[^=]*=//')
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Read value of current variable if exists as Environment variable
 | 
				
			||||||
 | 
					  value=$(printf '%s\n' "${!varname}")
 | 
				
			||||||
 | 
					  # Otherwise use value from .env file
 | 
				
			||||||
 | 
					  [[ -z $value ]] && value=${varvalue}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Append configuration property to JS file
 | 
				
			||||||
 | 
					  echo "  $varname: \"$value\"," >> $ENV_CONFIG_PATH
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "}" >> $ENV_CONFIG_PATH
 | 
				
			||||||
							
								
								
									
										1
									
								
								helm/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					*.swp
 | 
				
			||||||
							
								
								
									
										22
									
								
								helm/.helmignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					# Patterns to ignore when building packages.
 | 
				
			||||||
 | 
					# This supports shell glob matching, relative path matching, and
 | 
				
			||||||
 | 
					# negation (prefixed with !). Only one pattern per line.
 | 
				
			||||||
 | 
					.DS_Store
 | 
				
			||||||
 | 
					# Common VCS dirs
 | 
				
			||||||
 | 
					.git/
 | 
				
			||||||
 | 
					.gitignore
 | 
				
			||||||
 | 
					.bzr/
 | 
				
			||||||
 | 
					.bzrignore
 | 
				
			||||||
 | 
					.hg/
 | 
				
			||||||
 | 
					.hgignore
 | 
				
			||||||
 | 
					.svn/
 | 
				
			||||||
 | 
					# Common backup files
 | 
				
			||||||
 | 
					*.swp
 | 
				
			||||||
 | 
					*.bak
 | 
				
			||||||
 | 
					*.tmp
 | 
				
			||||||
 | 
					*~
 | 
				
			||||||
 | 
					# Various IDEs
 | 
				
			||||||
 | 
					.project
 | 
				
			||||||
 | 
					.idea/
 | 
				
			||||||
 | 
					*.tmproj
 | 
				
			||||||
 | 
					.vscode/
 | 
				
			||||||
							
								
								
									
										5
									
								
								helm/Chart.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					apiVersion: v1
 | 
				
			||||||
 | 
					appVersion: "1.0"
 | 
				
			||||||
 | 
					description: A Helm chart for Kubernetes
 | 
				
			||||||
 | 
					name: owgwui
 | 
				
			||||||
 | 
					version: 0.1.0
 | 
				
			||||||
							
								
								
									
										82
									
								
								helm/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,82 @@
 | 
				
			|||||||
 | 
					# owgwui
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This Helm chart helps to deploy OpenWIFI Web UI (further on refered as __Web UI__) to the Kubernetes clusters. It is mainly used in [assembly chart](https://github.com/Telecominfraproject/wlan-cloud-ucentral-deploy/tree/main/chart) as Web UI requires other services as dependencies that are considered in that Helm chart. This chart is purposed to define deployment logic close to the application code itself and define default values that could be overriden during deployment.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## TL;DR;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					$ helm install .
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Introduction
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This chart bootstraps the Web UI on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Installing the Chart
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Currently this chart is not assembled in charts archives, so [helm-git](https://github.com/aslafy-z/helm-git) is required for remote the installation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To install the chart with the release name `my-release`:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					$ helm install --name my-release git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-ui@helm/owgwui-0.1.0.tgz?ref=main
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The command deploys the Web UI on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> **Tip**: List all releases using `helm list`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Uninstalling the Chart
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To uninstall/delete the `my-release` deployment:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					$ helm delete my-release
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The command removes all the Kubernetes components associated with the chart and deletes the release.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Configuration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The following table lists the configurable parameters of the chart and their default values. If Default value is not listed in the table, please refer to the [Values](values.yaml) files for details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					| Parameter | Type | Description | Default |
 | 
				
			||||||
 | 
					|-----------|------|-------------|---------|
 | 
				
			||||||
 | 
					| replicaCount | number | Amount of replicas to be deployed | `1` |
 | 
				
			||||||
 | 
					| nameOverride | string | Override to be used for application deployment |  |
 | 
				
			||||||
 | 
					| fullnameOverride | string | Override to be used for application deployment (has priority over nameOverride) |  |
 | 
				
			||||||
 | 
					| images.owgwui.repository | string | Docker image repository |  |
 | 
				
			||||||
 | 
					| images.owgwui.tag | string | Docker image tag | `'master'` |
 | 
				
			||||||
 | 
					| images.owgwui.pullPolicy | string | Docker image pull policy | `'Always'` |
 | 
				
			||||||
 | 
					| services.owgwui.type | string | OpenWIFI Web UI service type | `'ClusterIP'` |
 | 
				
			||||||
 | 
					| services.owgwui.ports.http.servicePort | number | Websocket endpoint port to be exposed on service | `80` |
 | 
				
			||||||
 | 
					| services.owgwui.ports.http.targetPort | number | Websocket endpoint port to be targeted by service | `80` |
 | 
				
			||||||
 | 
					| services.owgwui.ports.http.protocol | string | Websocket endpoint protocol | `'TCP'` |
 | 
				
			||||||
 | 
					| checks.owgwui.liveness.httpGet.path | string | Liveness check path to be used | `'/'` |
 | 
				
			||||||
 | 
					| checks.owgwui.liveness.httpGet.port | number | Liveness check port to be used (should be pointint to ALB endpoint) | `http` |
 | 
				
			||||||
 | 
					| checks.owgwui.readiness.httpGet.path | string | Readiness check path to be used | `'/'` |
 | 
				
			||||||
 | 
					| checks.owgwui.readiness.httpGet.port | number | Readiness check port to be used | `http` |
 | 
				
			||||||
 | 
					| ingresses.default.enabled | boolean | Defines if the Web UI should be exposed via Ingress controller | `False` |
 | 
				
			||||||
 | 
					| ingresses.default.hosts | array | List of hosts for the exposed Web UI |  |
 | 
				
			||||||
 | 
					| ingresses.default.paths | array | List of paths to be exposed for the Web UI |  |
 | 
				
			||||||
 | 
					| public_env_variables | hash | Defines list of environment variables to be passed to the Web UI (required for application configuration) | |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					$ helm install --name my-release \
 | 
				
			||||||
 | 
					  --set replicaCount=1 \
 | 
				
			||||||
 | 
					    .
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The above command sets that only 1 instance of your app should be running
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					$ helm install --name my-release -f values.yaml .
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> **Tip**: You can use the default [values.yaml](values.yaml) as a base for customization.
 | 
				
			||||||
							
								
								
									
										42
									
								
								helm/templates/_helpers.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,42 @@
 | 
				
			|||||||
 | 
					{{/* vim: set filetype=mustache: */}}
 | 
				
			||||||
 | 
					{{/*
 | 
				
			||||||
 | 
					Expand the name of the chart.
 | 
				
			||||||
 | 
					*/}}
 | 
				
			||||||
 | 
					{{- define "owgwui.name" -}}
 | 
				
			||||||
 | 
					{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
 | 
				
			||||||
 | 
					{{- end -}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{/*
 | 
				
			||||||
 | 
					Create a default fully qualified app name.
 | 
				
			||||||
 | 
					We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
 | 
				
			||||||
 | 
					If release name contains chart name it will be used as a full name.
 | 
				
			||||||
 | 
					*/}}
 | 
				
			||||||
 | 
					{{- define "owgwui.fullname" -}}
 | 
				
			||||||
 | 
					{{- if .Values.fullnameOverride -}}
 | 
				
			||||||
 | 
					{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
 | 
				
			||||||
 | 
					{{- else -}}
 | 
				
			||||||
 | 
					{{- $name := default .Chart.Name .Values.nameOverride -}}
 | 
				
			||||||
 | 
					{{- if contains $name .Release.Name -}}
 | 
				
			||||||
 | 
					{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
 | 
				
			||||||
 | 
					{{- else -}}
 | 
				
			||||||
 | 
					{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
 | 
				
			||||||
 | 
					{{- end -}}
 | 
				
			||||||
 | 
					{{- end -}}
 | 
				
			||||||
 | 
					{{- end -}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{/*
 | 
				
			||||||
 | 
					Create chart name and version as used by the chart label.
 | 
				
			||||||
 | 
					*/}}
 | 
				
			||||||
 | 
					{{- define "owgwui.chart" -}}
 | 
				
			||||||
 | 
					{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
 | 
				
			||||||
 | 
					{{- end -}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{- define "owgwui.ingress.apiVersion" -}}
 | 
				
			||||||
 | 
					  {{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1" -}}
 | 
				
			||||||
 | 
					      {{- print "networking.k8s.io/v1" -}}
 | 
				
			||||||
 | 
					  {{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" -}}
 | 
				
			||||||
 | 
					    {{- print "networking.k8s.io/v1beta1" -}}
 | 
				
			||||||
 | 
					  {{- else -}}
 | 
				
			||||||
 | 
					    {{- print "extensions/v1beta1" -}}
 | 
				
			||||||
 | 
					  {{- end -}}
 | 
				
			||||||
 | 
					{{- end -}}
 | 
				
			||||||
							
								
								
									
										93
									
								
								helm/templates/deployment.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,93 @@
 | 
				
			|||||||
 | 
					{{- $root := . -}}
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					apiVersion: apps/v1
 | 
				
			||||||
 | 
					kind: Deployment
 | 
				
			||||||
 | 
					metadata:
 | 
				
			||||||
 | 
					  name: {{ include "owgwui.fullname" . }}
 | 
				
			||||||
 | 
					  labels:
 | 
				
			||||||
 | 
					    app.kubernetes.io/name: {{ include "owgwui.name" . }}
 | 
				
			||||||
 | 
					    helm.sh/chart: {{ include "owgwui.chart" . }}
 | 
				
			||||||
 | 
					    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
				
			||||||
 | 
					    app.kubernetes.io/managed-by: {{ .Release.Service }}
 | 
				
			||||||
 | 
					spec:
 | 
				
			||||||
 | 
					  replicas: {{ .Values.replicaCount }}
 | 
				
			||||||
 | 
					  revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
 | 
				
			||||||
 | 
					  selector:
 | 
				
			||||||
 | 
					    matchLabels:
 | 
				
			||||||
 | 
					      app.kubernetes.io/name: {{ include "owgwui.name" . }}
 | 
				
			||||||
 | 
					      app.kubernetes.io/instance: {{ .Release.Name }}
 | 
				
			||||||
 | 
					      {{- with .Values.services.owgwui.labels }}
 | 
				
			||||||
 | 
					      {{- toYaml . | nindent 6 }}
 | 
				
			||||||
 | 
					      {{- end }}
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    metadata:
 | 
				
			||||||
 | 
					      labels:
 | 
				
			||||||
 | 
					        app.kubernetes.io/name: {{ include "owgwui.name" . }}
 | 
				
			||||||
 | 
					        app.kubernetes.io/instance: {{ .Release.Name }}
 | 
				
			||||||
 | 
					        {{- with .Values.services.owgwui.labels }}
 | 
				
			||||||
 | 
					        {{- toYaml . | nindent 8 }}
 | 
				
			||||||
 | 
					        {{- end }}
 | 
				
			||||||
 | 
					      {{- if .Values.podAnnotations }}
 | 
				
			||||||
 | 
					      annotations:
 | 
				
			||||||
 | 
					        {{- with .Values.podAnnotations }}
 | 
				
			||||||
 | 
					        {{- toYaml . | nindent 8 }}
 | 
				
			||||||
 | 
					        {{- end }}
 | 
				
			||||||
 | 
					      {{- end }}
 | 
				
			||||||
 | 
					    spec:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      containers:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        - name: owgwui
 | 
				
			||||||
 | 
					          image: "{{ .Values.images.owgwui.repository }}:{{ .Values.images.owgwui.tag }}"
 | 
				
			||||||
 | 
					          imagePullPolicy: {{ .Values.images.owgwui.pullPolicy }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          env:
 | 
				
			||||||
 | 
					            - name: KUBERNETES_DEPLOYED
 | 
				
			||||||
 | 
					              value: "{{ now }}"
 | 
				
			||||||
 | 
					          {{- range $key, $value := .Values.public_env_variables }}
 | 
				
			||||||
 | 
					            - name: {{ $key }}
 | 
				
			||||||
 | 
					              value: {{ $value | quote }}
 | 
				
			||||||
 | 
					          {{- end }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          ports:
 | 
				
			||||||
 | 
					          {{- range $key, $value := .Values.services.owgwui.ports }}
 | 
				
			||||||
 | 
					            - name: {{ $key }}
 | 
				
			||||||
 | 
					              containerPort: {{ $value.targetPort }}
 | 
				
			||||||
 | 
					              protocol: {{ $value.protocol }}
 | 
				
			||||||
 | 
					          {{- end }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          {{- if .Values.checks.owgwui.liveness }}
 | 
				
			||||||
 | 
					          livenessProbe:
 | 
				
			||||||
 | 
					            {{- toYaml .Values.checks.owgwui.liveness | nindent 12 }}
 | 
				
			||||||
 | 
					          {{- end }}
 | 
				
			||||||
 | 
					          {{- if .Values.checks.owgwui.readiness }}
 | 
				
			||||||
 | 
					          readinessProbe:
 | 
				
			||||||
 | 
					            {{- toYaml .Values.checks.owgwui.readiness | nindent 12 }}
 | 
				
			||||||
 | 
					          {{- end }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          {{- with .Values.resources }}
 | 
				
			||||||
 | 
					          resources:
 | 
				
			||||||
 | 
					            {{- toYaml . | nindent 12 }}
 | 
				
			||||||
 | 
					          {{- end }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      imagePullSecrets:
 | 
				
			||||||
 | 
					      {{- range $image, $imageValue := .Values.images }}
 | 
				
			||||||
 | 
					        {{- if $imageValue.regcred }}
 | 
				
			||||||
 | 
					      - name: {{ include "owgwui.fullname" $root }}-{{ $image }}-regcred
 | 
				
			||||||
 | 
					        {{- end }}
 | 
				
			||||||
 | 
					      {{- end }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      {{- with .Values.nodeSelector }}
 | 
				
			||||||
 | 
					      nodeSelector:
 | 
				
			||||||
 | 
					        {{- toYaml . | nindent 8 }}
 | 
				
			||||||
 | 
					      {{- end }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      {{- with .Values.affinity }}
 | 
				
			||||||
 | 
					      affinity:
 | 
				
			||||||
 | 
					        {{- toYaml . | nindent 8 }}
 | 
				
			||||||
 | 
					      {{- end }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      {{- with .Values.tolerations }}
 | 
				
			||||||
 | 
					      tolerations:
 | 
				
			||||||
 | 
					        {{- toYaml . | nindent 8 }}
 | 
				
			||||||
 | 
					      {{- end }}
 | 
				
			||||||
							
								
								
									
										61
									
								
								helm/templates/ingress.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,61 @@
 | 
				
			|||||||
 | 
					{{- $root := . -}}
 | 
				
			||||||
 | 
					{{- range $ingress, $ingressValue := .Values.ingresses }}
 | 
				
			||||||
 | 
					{{- if $ingressValue.enabled }}
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					apiVersion: {{ include "owgwui.ingress.apiVersion" $root }}
 | 
				
			||||||
 | 
					kind: Ingress
 | 
				
			||||||
 | 
					metadata:
 | 
				
			||||||
 | 
					  name: {{ include "owgwui.fullname" $root }}-{{ $ingress }}
 | 
				
			||||||
 | 
					  labels:
 | 
				
			||||||
 | 
					    app.kubernetes.io/name: {{ include "owgwui.name" $root }}
 | 
				
			||||||
 | 
					    helm.sh/chart: {{ include "owgwui.chart" $root }}
 | 
				
			||||||
 | 
					    app.kubernetes.io/instance: {{ $root.Release.Name }}
 | 
				
			||||||
 | 
					    app.kubernetes.io/managed-by: {{ $root.Release.Service }}
 | 
				
			||||||
 | 
					  {{- with $ingressValue.annotations }}
 | 
				
			||||||
 | 
					  annotations:
 | 
				
			||||||
 | 
					    {{- toYaml . | nindent 4 }}
 | 
				
			||||||
 | 
					  {{- end }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					spec:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{- if $ingressValue.tls }}
 | 
				
			||||||
 | 
					  tls:
 | 
				
			||||||
 | 
					  {{- range $ingressValue.tls }}
 | 
				
			||||||
 | 
					    - hosts:
 | 
				
			||||||
 | 
					      {{- range .hosts }}
 | 
				
			||||||
 | 
					        - {{ . | quote }}
 | 
				
			||||||
 | 
					      {{- end }}
 | 
				
			||||||
 | 
					      secretName: {{ tpl .secretName $root }}
 | 
				
			||||||
 | 
					  {{- end }}
 | 
				
			||||||
 | 
					{{- end }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  rules:
 | 
				
			||||||
 | 
					  {{- range $ingressValue.hosts }}
 | 
				
			||||||
 | 
					  - host: {{ . | quote }}
 | 
				
			||||||
 | 
					    http:
 | 
				
			||||||
 | 
					      paths:
 | 
				
			||||||
 | 
					      {{- range $ingressValue.paths }}
 | 
				
			||||||
 | 
					        - path: {{ .path }}
 | 
				
			||||||
 | 
					          {{- if $root.Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
 | 
				
			||||||
 | 
					          pathType: {{ .pathType | default "ImplementationSpecific" }}
 | 
				
			||||||
 | 
					          {{- end }}
 | 
				
			||||||
 | 
					          backend:
 | 
				
			||||||
 | 
					            {{- if $root.Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
 | 
				
			||||||
 | 
					            service:
 | 
				
			||||||
 | 
					              name: {{ include "owgwui.fullname" $root }}-{{ .serviceName }}
 | 
				
			||||||
 | 
					              port:
 | 
				
			||||||
 | 
					              {{- if kindIs "string" .servicePort }}
 | 
				
			||||||
 | 
					                name: {{ .servicePort }}
 | 
				
			||||||
 | 
					              {{- else }}
 | 
				
			||||||
 | 
					                number: {{ .servicePort }}
 | 
				
			||||||
 | 
					              {{- end }}
 | 
				
			||||||
 | 
					            {{- else }}
 | 
				
			||||||
 | 
					            serviceName: {{ include "owgwui.fullname" $root }}-{{ .serviceName }}
 | 
				
			||||||
 | 
					            servicePort: {{ .servicePort }}
 | 
				
			||||||
 | 
					            {{- end }}
 | 
				
			||||||
 | 
					      {{- end }}
 | 
				
			||||||
 | 
					  {{- end }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{- end }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{- end }}
 | 
				
			||||||
							
								
								
									
										21
									
								
								helm/templates/secret-regcred.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					{{- define "imagePullSecret" }}
 | 
				
			||||||
 | 
					{{- printf "{\"auths\": {\"%s\": {\"auth\": \"%s\"}}}" .registry (printf "%s:%s" .username .password | b64enc) | b64enc }}
 | 
				
			||||||
 | 
					{{- end }}
 | 
				
			||||||
 | 
					{{- $root := . -}}
 | 
				
			||||||
 | 
					{{- range $image, $imageValue := .Values.images }}
 | 
				
			||||||
 | 
					{{- if $imageValue.regcred }}
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					apiVersion: v1
 | 
				
			||||||
 | 
					kind: Secret
 | 
				
			||||||
 | 
					type: kubernetes.io/dockerconfigjson
 | 
				
			||||||
 | 
					metadata:
 | 
				
			||||||
 | 
					  labels:
 | 
				
			||||||
 | 
					    app.kuberentes.io/name: {{ include "owgwui.name" $root }}
 | 
				
			||||||
 | 
					    helm.sh/chart: {{ include "owgwui.chart" $root }}
 | 
				
			||||||
 | 
					    app.kubernetes.io/instance: {{ $root.Release.Name }}
 | 
				
			||||||
 | 
					    app.kubernetes.io/managed-by: {{ $root.Release.Service }}
 | 
				
			||||||
 | 
					  name: {{ include "owgwui.fullname" $root }}-{{ $image }}-regcred
 | 
				
			||||||
 | 
					data:
 | 
				
			||||||
 | 
					  .dockerconfigjson: {{ template "imagePullSecret" $imageValue.regcred }}
 | 
				
			||||||
 | 
					{{- end }}
 | 
				
			||||||
 | 
					{{- end }}
 | 
				
			||||||
							
								
								
									
										48
									
								
								helm/templates/service.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,48 @@
 | 
				
			|||||||
 | 
					{{- $root := . -}}
 | 
				
			||||||
 | 
					{{- range $service, $serviceValue := .Values.services }}
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					apiVersion: v1
 | 
				
			||||||
 | 
					kind: Service
 | 
				
			||||||
 | 
					metadata:
 | 
				
			||||||
 | 
					  name: {{ include "owgwui.fullname" $root }}-{{ $service }}
 | 
				
			||||||
 | 
					  {{- with $serviceValue.annotations }}
 | 
				
			||||||
 | 
					  annotations:
 | 
				
			||||||
 | 
					    {{- toYaml . | nindent 4 }}
 | 
				
			||||||
 | 
					  {{- end }}
 | 
				
			||||||
 | 
					  labels:
 | 
				
			||||||
 | 
					    app.kubernetes.io/name: {{ include "owgwui.name" $root }}
 | 
				
			||||||
 | 
					    helm.sh/chart: {{ include "owgwui.chart" $root }}
 | 
				
			||||||
 | 
					    app.kubernetes.io/instance: {{ $root.Release.Name }}
 | 
				
			||||||
 | 
					    app.kubernetes.io/managed-by: {{ $root.Release.Service }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    {{- with $serviceValue.labels }}
 | 
				
			||||||
 | 
					    {{- toYaml . | nindent 4 }}
 | 
				
			||||||
 | 
					    {{- end }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    {{- if $serviceValue.serviceMonitor }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    {{- range $selector, $selectorValue := $serviceValue.serviceMonitor.serviceSelector }}
 | 
				
			||||||
 | 
					    {{ $selector }}: {{ tpl $selectorValue $root }}
 | 
				
			||||||
 | 
					    {{- end }}
 | 
				
			||||||
 | 
					    {{- end }}
 | 
				
			||||||
 | 
					spec:
 | 
				
			||||||
 | 
					  type: {{ $serviceValue.type }}
 | 
				
			||||||
 | 
					  ports:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  {{- range $service_service, $service_value := $serviceValue.ports }}
 | 
				
			||||||
 | 
					    - name: {{ $service_service }}
 | 
				
			||||||
 | 
					      targetPort: {{ $service_value.targetPort }}
 | 
				
			||||||
 | 
					      protocol: {{ $service_value.protocol }}
 | 
				
			||||||
 | 
					      port: {{ $service_value.servicePort }}
 | 
				
			||||||
 | 
					      {{- if and (eq "NodePort" $serviceValue.type) $service_value.nodePort }}
 | 
				
			||||||
 | 
					      nodePort: {{ $service_value.nodePort }}
 | 
				
			||||||
 | 
					      {{- end }}
 | 
				
			||||||
 | 
					  {{- end }}
 | 
				
			||||||
 | 
					  selector:
 | 
				
			||||||
 | 
					    app.kubernetes.io/name: {{ include "owgwui.name" $root }}
 | 
				
			||||||
 | 
					    app.kubernetes.io/instance: {{ $root.Release.Name }}
 | 
				
			||||||
 | 
					    {{- with $serviceValue.labels }}
 | 
				
			||||||
 | 
					    {{- toYaml . | nindent 4 }}
 | 
				
			||||||
 | 
					    {{- end }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{- end }}
 | 
				
			||||||
							
								
								
									
										78
									
								
								helm/values.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,78 @@
 | 
				
			|||||||
 | 
					# System
 | 
				
			||||||
 | 
					replicaCount: 1
 | 
				
			||||||
 | 
					revisionHistoryLimit: 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					nameOverride: ""
 | 
				
			||||||
 | 
					fullnameOverride: ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					images:
 | 
				
			||||||
 | 
					  owgwui:
 | 
				
			||||||
 | 
					    repository: tip-tip-wlan-cloud-ucentral.jfrog.io/owgw-ui
 | 
				
			||||||
 | 
					    tag: v2.10.0
 | 
				
			||||||
 | 
					    pullPolicy: Always
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					services:
 | 
				
			||||||
 | 
					  owgwui:
 | 
				
			||||||
 | 
					    type: ClusterIP
 | 
				
			||||||
 | 
					    ports:
 | 
				
			||||||
 | 
					      http:
 | 
				
			||||||
 | 
					        servicePort: 80
 | 
				
			||||||
 | 
					        targetPort: 80
 | 
				
			||||||
 | 
					        protocol: TCP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					checks:
 | 
				
			||||||
 | 
					  owgwui:
 | 
				
			||||||
 | 
					    liveness:
 | 
				
			||||||
 | 
					      httpGet:
 | 
				
			||||||
 | 
					        path: /
 | 
				
			||||||
 | 
					        port: http
 | 
				
			||||||
 | 
					    readiness:
 | 
				
			||||||
 | 
					      httpGet:
 | 
				
			||||||
 | 
					        path: /
 | 
				
			||||||
 | 
					        port: http
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ingresses:
 | 
				
			||||||
 | 
					  default:
 | 
				
			||||||
 | 
					    enabled: false
 | 
				
			||||||
 | 
					    annotations: {}
 | 
				
			||||||
 | 
					      # kubernetes.io/ingress.class: nginx
 | 
				
			||||||
 | 
					      # kubernetes.io/tls-acme: "true"
 | 
				
			||||||
 | 
					    # tls:
 | 
				
			||||||
 | 
					    # - secretName: '{{ include "owgwui.fullname" . }}-default-tls' # template may be used
 | 
				
			||||||
 | 
					    #   cert: |
 | 
				
			||||||
 | 
					    #     CERT_HERE_IN_PEM
 | 
				
			||||||
 | 
					    #   key: |
 | 
				
			||||||
 | 
					    #     KEY_HERE_IN_PEM
 | 
				
			||||||
 | 
					    #   hosts:
 | 
				
			||||||
 | 
					    #     - chart-example.local
 | 
				
			||||||
 | 
					    hosts:
 | 
				
			||||||
 | 
					    - chart-example.local
 | 
				
			||||||
 | 
					    paths:
 | 
				
			||||||
 | 
					    - path: /
 | 
				
			||||||
 | 
					      pathType: ImplementationSpecific
 | 
				
			||||||
 | 
					      serviceName: owgwui
 | 
				
			||||||
 | 
					      servicePort: http
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					resources: {}
 | 
				
			||||||
 | 
					  # We usually recommend not to specify default resources and to leave this as a conscious
 | 
				
			||||||
 | 
					  # choice for the user. This also increases chances charts run on environments with little
 | 
				
			||||||
 | 
					  # resources, such as Minikube. If you do want to specify resources, uncomment the following
 | 
				
			||||||
 | 
					  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
 | 
				
			||||||
 | 
					  # requests:
 | 
				
			||||||
 | 
					  #  cpu: 100m
 | 
				
			||||||
 | 
					  #  memory: 128Mi
 | 
				
			||||||
 | 
					  # limits:
 | 
				
			||||||
 | 
					  #  cpu: 100m
 | 
				
			||||||
 | 
					  #  memory: 128Mi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					nodeSelector: {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					tolerations: []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					affinity: {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					podAnnotations: {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Application
 | 
				
			||||||
 | 
					public_env_variables:
 | 
				
			||||||
 | 
					  REACT_APP_UCENTRALSEC_URL: https://ucentral.dpaas.arilia.com:16001
 | 
				
			||||||
							
								
								
									
										21
									
								
								index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="en">
 | 
				
			||||||
 | 
					  <head>
 | 
				
			||||||
 | 
					    <meta charset="utf-8" />
 | 
				
			||||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1" />
 | 
				
			||||||
 | 
					    <title>Controller</title>
 | 
				
			||||||
 | 
					    <meta name="description" content="OpenWiFi Controller App" />
 | 
				
			||||||
 | 
					    <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
 | 
				
			||||||
 | 
					    <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
 | 
				
			||||||
 | 
					    <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
 | 
				
			||||||
 | 
					    <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5" />
 | 
				
			||||||
 | 
					    <meta name="msapplication-TileColor" content="#da532c" />
 | 
				
			||||||
 | 
					    <script src="/env-config.js"></script>
 | 
				
			||||||
 | 
					    <meta name="theme-color" content="#000000" />
 | 
				
			||||||
 | 
					  </head>
 | 
				
			||||||
 | 
					  <body>
 | 
				
			||||||
 | 
					    <noscript>You need to enable JavaScript to run this app.</noscript>
 | 
				
			||||||
 | 
					    <div id="root"></div>
 | 
				
			||||||
 | 
					    <script type="module" src="./src/index.tsx"></script>
 | 
				
			||||||
 | 
					  </body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
@@ -1,9 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "compilerOptions": {
 | 
					 | 
				
			||||||
    "baseUrl": "src",
 | 
					 | 
				
			||||||
    "paths": {
 | 
					 | 
				
			||||||
      "*": ["*"]
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }, 
 | 
					 | 
				
			||||||
  "include": ["src"]
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										42451
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
							
								
								
									
										152
									
								
								package.json
									
									
									
									
									
								
							
							
						
						@@ -1,60 +1,98 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "ucentral-client",
 | 
					  "name": "ucentral-client",
 | 
				
			||||||
  "version": "0.9.0",
 | 
					  "version": "2.10.0(49)",
 | 
				
			||||||
 | 
					  "description": "",
 | 
				
			||||||
  "private": true,
 | 
					  "private": true,
 | 
				
			||||||
  "dependencies": {
 | 
					  "main": "index.tsx",
 | 
				
			||||||
    "@coreui/coreui": "^3.4.0",
 | 
					 | 
				
			||||||
    "@coreui/icons": "^2.0.1",
 | 
					 | 
				
			||||||
    "@coreui/icons-react": "^1.1.0",
 | 
					 | 
				
			||||||
    "@coreui/react": "^3.4.6",
 | 
					 | 
				
			||||||
    "@fortawesome/fontawesome-svg-core": "^1.2.35",
 | 
					 | 
				
			||||||
    "@fortawesome/free-solid-svg-icons": "^5.15.3",
 | 
					 | 
				
			||||||
    "@fortawesome/react-fontawesome": "^0.1.14",
 | 
					 | 
				
			||||||
    "@testing-library/jest-dom": "^5.14.1",
 | 
					 | 
				
			||||||
    "@testing-library/react": "^11.2.7",
 | 
					 | 
				
			||||||
    "@testing-library/user-event": "^13.1.9",
 | 
					 | 
				
			||||||
    "apexcharts": "^3.27.1",
 | 
					 | 
				
			||||||
    "axios": "^0.21.1",
 | 
					 | 
				
			||||||
    "axios-retry": "^3.1.9",
 | 
					 | 
				
			||||||
    "http": "^0.0.1-security",
 | 
					 | 
				
			||||||
    "https": "^1.0.0",
 | 
					 | 
				
			||||||
    "i18next": "^20.3.1",
 | 
					 | 
				
			||||||
    "i18next-browser-languagedetector": "^6.1.2",
 | 
					 | 
				
			||||||
    "i18next-http-backend": "^1.2.6",
 | 
					 | 
				
			||||||
    "prop-types": "^15.7.2",
 | 
					 | 
				
			||||||
    "react": "^17.0.2",
 | 
					 | 
				
			||||||
    "react-apexcharts": "^1.3.9",
 | 
					 | 
				
			||||||
    "react-dom": "^17.0.2",
 | 
					 | 
				
			||||||
    "react-i18next": "^11.11.0",
 | 
					 | 
				
			||||||
    "react-paginate": "^7.1.3",
 | 
					 | 
				
			||||||
    "react-redux": "^7.2.4",
 | 
					 | 
				
			||||||
    "react-router-dom": "^5.2.0",
 | 
					 | 
				
			||||||
    "react-scripts": "^4.0.3",
 | 
					 | 
				
			||||||
    "react-select": "^4.3.1",
 | 
					 | 
				
			||||||
    "react-widgets": "^5.1.1",
 | 
					 | 
				
			||||||
    "redux": "^4.1.0",
 | 
					 | 
				
			||||||
    "uuid": "^8.3.2"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "scripts": {
 | 
					  "scripts": {
 | 
				
			||||||
    "start": "react-scripts start",
 | 
					    "dev": "vite",
 | 
				
			||||||
    "build": "react-scripts build",
 | 
					    "build": "vite build",
 | 
				
			||||||
    "test": "react-scripts test",
 | 
					    "format": "prettier --write \"src/**/*x.{ts,tsx,js,jsx}\"",
 | 
				
			||||||
    "eject": "react-scripts eject"
 | 
					    "analyze": "source-map-explorer 'build/static/js/*.js'",
 | 
				
			||||||
 | 
					    "lint": "TIMING=1 eslint \"src/**/*.{ts,tsx,js,jsx}\" --fix",
 | 
				
			||||||
 | 
					    "clean": "rm -rf node_modules && rm -rf build"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "eslintConfig": {
 | 
					  "author": "",
 | 
				
			||||||
    "extends": "react-app"
 | 
					  "license": "ISC",
 | 
				
			||||||
 | 
					  "dependencies": {
 | 
				
			||||||
 | 
					    "@chakra-ui/icons": "^2.0.18",
 | 
				
			||||||
 | 
					    "@chakra-ui/react": "^2.3.6",
 | 
				
			||||||
 | 
					    "@chakra-ui/theme-tools": "^2.0.12",
 | 
				
			||||||
 | 
					    "@chakra-ui/utils": "^2.0.14",
 | 
				
			||||||
 | 
					    "@emotion/react": "^11.10.6",
 | 
				
			||||||
 | 
					    "@emotion/styled": "^11.10.6",
 | 
				
			||||||
 | 
					    "@fontsource/inter": "^4.5.15",
 | 
				
			||||||
 | 
					    "@googlemaps/react-wrapper": "^1.1.35",
 | 
				
			||||||
 | 
					    "@googlemaps/typescript-guards": "^2.0.3",
 | 
				
			||||||
 | 
					    "@hello-pangea/dnd": "^16.2.0",
 | 
				
			||||||
 | 
					    "@phosphor-icons/react": "^2.0.8",
 | 
				
			||||||
 | 
					    "@react-spring/web": "^9.7.2",
 | 
				
			||||||
 | 
					    "@tanstack/react-query": "^4.29.3",
 | 
				
			||||||
 | 
					    "@tanstack/react-table": "^8.8.5",
 | 
				
			||||||
 | 
					    "@textea/json-viewer": "^2.16.2",
 | 
				
			||||||
 | 
					    "axios": "^1.3.5",
 | 
				
			||||||
 | 
					    "buffer": "^6.0.3",
 | 
				
			||||||
 | 
					    "chakra-react-select": "^4.6.0",
 | 
				
			||||||
 | 
					    "chart.js": "^3.9.1",
 | 
				
			||||||
 | 
					    "dagre": "^0.8.5",
 | 
				
			||||||
 | 
					    "fast-equals": "^5.0.1",
 | 
				
			||||||
 | 
					    "formik": "^2.2.9",
 | 
				
			||||||
 | 
					    "framer-motion": "^10.12.2",
 | 
				
			||||||
 | 
					    "i18next": "^22.4.14",
 | 
				
			||||||
 | 
					    "i18next-browser-languagedetector": "^7.0.1",
 | 
				
			||||||
 | 
					    "i18next-http-backend": "^2.2.0",
 | 
				
			||||||
 | 
					    "libphonenumber-js": "^1.10.26",
 | 
				
			||||||
 | 
					    "prop-types": "^15.8.1",
 | 
				
			||||||
 | 
					    "react": "^18.2.0",
 | 
				
			||||||
 | 
					    "react-app-polyfill": "^3.0.0",
 | 
				
			||||||
 | 
					    "react-chartjs-2": "^4.3.1",
 | 
				
			||||||
 | 
					    "react-country-flag": "^3.1.0",
 | 
				
			||||||
 | 
					    "react-csv": "^2.2.2",
 | 
				
			||||||
 | 
					    "react-datepicker": "^4.11.0",
 | 
				
			||||||
 | 
					    "react-dom": "^18.2.0",
 | 
				
			||||||
 | 
					    "react-fast-compare": "^3.2.1",
 | 
				
			||||||
 | 
					    "react-i18next": "^12.2.0",
 | 
				
			||||||
 | 
					    "react-masonry-css": "^1.0.16",
 | 
				
			||||||
 | 
					    "react-router-dom": "^6.10.0",
 | 
				
			||||||
 | 
					    "react-table": "^7.8.0",
 | 
				
			||||||
 | 
					    "react-virtualized-auto-sizer": "^1.0.15",
 | 
				
			||||||
 | 
					    "react-window": "^1.8.9",
 | 
				
			||||||
 | 
					    "source-map-explorer": "^2.5.3",
 | 
				
			||||||
 | 
					    "typescript": "^4.8.4",
 | 
				
			||||||
 | 
					    "uuid": "^9.0.0",
 | 
				
			||||||
 | 
					    "vite": "^4.2.1",
 | 
				
			||||||
 | 
					    "yup": "^0.32.11",
 | 
				
			||||||
 | 
					    "zustand": "^4.3.7"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "husky": {
 | 
					  "devDependencies": {
 | 
				
			||||||
    "hooks": {
 | 
					    "@types/google.maps": "^3.52.5",
 | 
				
			||||||
      "pre-commit": "lint-staged"
 | 
					    "@types/node": "^18.15.11",
 | 
				
			||||||
    }
 | 
					    "@types/react": "^18.0.37",
 | 
				
			||||||
  },
 | 
					    "@types/react-csv": "^1.1.3",
 | 
				
			||||||
  "lint-staged": {
 | 
					    "@types/react-datepicker": "4.10.0",
 | 
				
			||||||
    "src/**/*.{js,jsx}": [
 | 
					    "@types/react-dom": "^18.0.11",
 | 
				
			||||||
      "eslint",
 | 
					    "@types/react-table": "^7.7.14",
 | 
				
			||||||
      "pretty-quick — staged",
 | 
					    "@types/react-virtualized-auto-sizer": "^1.0.1",
 | 
				
			||||||
      "git add"
 | 
					    "@types/react-window": "^1.8.5",
 | 
				
			||||||
    ]
 | 
					    "@types/uuid": "^9.0.1",
 | 
				
			||||||
 | 
					    "@vitejs/plugin-react": "^3.1.0",
 | 
				
			||||||
 | 
					    "eslint": "8.38.0",
 | 
				
			||||||
 | 
					    "eslint-config-airbnb": "^19.0.4",
 | 
				
			||||||
 | 
					    "eslint-config-airbnb-typescript": "^17.0.0",
 | 
				
			||||||
 | 
					    "eslint-config-airbnb-typescript-prettier": "^5.0.0",
 | 
				
			||||||
 | 
					    "eslint-config-prettier": "^8.8.0",
 | 
				
			||||||
 | 
					    "eslint-import-resolver-alias": "^1.1.2",
 | 
				
			||||||
 | 
					    "eslint-plugin-babel": "^5.3.1",
 | 
				
			||||||
 | 
					    "eslint-plugin-import": "^2.27.5",
 | 
				
			||||||
 | 
					    "eslint-plugin-jsx-a11y": "^6.7.1",
 | 
				
			||||||
 | 
					    "eslint-plugin-no-inline-styles": "^1.0.5",
 | 
				
			||||||
 | 
					    "eslint-plugin-prettier": "^4.2.1",
 | 
				
			||||||
 | 
					    "eslint-plugin-react": "^7.32.2",
 | 
				
			||||||
 | 
					    "eslint-plugin-react-hooks": "^4.6.0",
 | 
				
			||||||
 | 
					    "lint-staged": "^13.2.1",
 | 
				
			||||||
 | 
					    "prettier": "^2.8.7",
 | 
				
			||||||
 | 
					    "vite-plugin-pwa": "^0.14.7",
 | 
				
			||||||
 | 
					    "vite-tsconfig-paths": "^4.2.0"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "browserslist": {
 | 
					  "browserslist": {
 | 
				
			||||||
    "production": [
 | 
					    "production": [
 | 
				
			||||||
@@ -67,17 +105,5 @@
 | 
				
			|||||||
      "last 1 firefox version",
 | 
					      "last 1 firefox version",
 | 
				
			||||||
      "last 1 safari version"
 | 
					      "last 1 safari version"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "devDependencies": {
 | 
					 | 
				
			||||||
    "babel-eslint": "^10.1.0",
 | 
					 | 
				
			||||||
    "eslint": "^7.28.0",
 | 
					 | 
				
			||||||
    "eslint-config-airbnb": "^18.2.1",
 | 
					 | 
				
			||||||
    "eslint-config-prettier": "^8.3.0",
 | 
					 | 
				
			||||||
    "eslint-plugin-import": "^2.23.4",
 | 
					 | 
				
			||||||
    "eslint-plugin-react": "^7.24.0",
 | 
					 | 
				
			||||||
    "husky": "^6.0.0",
 | 
					 | 
				
			||||||
    "lint-staged": "^11.0.0",
 | 
					 | 
				
			||||||
    "prettier": "^2.3.1",
 | 
					 | 
				
			||||||
    "pretty-quick": "^3.1.0"
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								public/android-chrome-192x192.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 12 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/android-chrome-384x384.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 29 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/android-chrome-512x512.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 36 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/apple-touch-icon.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 11 KiB  | 
							
								
								
									
										9
									
								
								public/browserconfig.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<browserconfig>
 | 
				
			||||||
 | 
					    <msapplication>
 | 
				
			||||||
 | 
					        <tile>
 | 
				
			||||||
 | 
					            <square150x150logo src="/mstile-150x150.png"/>
 | 
				
			||||||
 | 
					            <TileColor>#414141</TileColor>
 | 
				
			||||||
 | 
					        </tile>
 | 
				
			||||||
 | 
					    </msapplication>
 | 
				
			||||||
 | 
					</browserconfig>
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								public/devices/cig_wf160d.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 104 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/cig_wf188.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 80 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/cig_wf188n.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 80 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/cig_wf194c.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 75 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/cig_wf194c4.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 75 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/cig_wf196.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 32 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/cig_wf808.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 218 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/cig_wf809.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 158 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/edgecore_eap101.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 140 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/edgecore_eap102.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 121 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/edgecore_ecs4100-12ph.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 44 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/edgecore_ecw5211.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 192 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/edgecore_ecw5410.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 197 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/edgecore_oap100.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 50 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/edgecore_spw2ac1200-lan-poe.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 59 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/edgecore_spw2ac1200.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 59 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/edgecore_ssw2ac2600.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 51 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/generic_ap.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 24 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/hfcl_ion4.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 72 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/hfcl_ion4.yml.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 72 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/indio_um-305ac.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 34 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/linksys_e8450-ubi.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 98 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/linksys_ea6350-v4.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 89 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/linksys_ea6350.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 89 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/linksys_ea8300.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 204 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/tp-link_ec420-g1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 159 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/tplink_ec420.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 159 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/tplink_ex227.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 103 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/tplink_ex228.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 103 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/tplink_ex447.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 103 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/wallys_dr40x9.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 59 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/wallys_dr6018.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 80 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/wallys_dr6018_v4.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 80 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/yuncore_ax840.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 32 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/yuncore_fap640.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 38 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/yuncore_fap650.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 47 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								public/favicon-16x16.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1021 B  | 
							
								
								
									
										
											BIN
										
									
								
								public/favicon-32x32.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.9 KiB  | 
| 
		 Before Width: | Height: | Size: 202 KiB After Width: | Height: | Size: 15 KiB  | 
@@ -1,165 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					 | 
				
			||||||
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
 | 
					 | 
				
			||||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
 | 
					 | 
				
			||||||
	 viewBox="0 0 141.5 185.6" style="enable-background:new 0 0 141.5 185.6;" xml:space="preserve">
 | 
					 | 
				
			||||||
<style type="text/css">
 | 
					 | 
				
			||||||
	.st0{fill:#414141;}
 | 
					 | 
				
			||||||
	.st1{fill:#FFFFFF;}
 | 
					 | 
				
			||||||
	.st2{fill:#FED206;}
 | 
					 | 
				
			||||||
	.st3{fill:#EB6F53;}
 | 
					 | 
				
			||||||
	.st4{fill:#3BA9B6;}
 | 
					 | 
				
			||||||
</style>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
	<g>
 | 
					 | 
				
			||||||
		<path class="st0" d="M120.7,183.9H21.5c-10.8,0-19.5-8.7-19.5-19.5V20.5c0-10.8,8.7-19.5,19.5-19.5h99.2
 | 
					 | 
				
			||||||
			c10.8,0,19.5,8.7,19.5,19.5v143.9C140.2,175.2,131.5,183.9,120.7,183.9z"/>
 | 
					 | 
				
			||||||
		<g>
 | 
					 | 
				
			||||||
			<g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M46.3,166.2v-3.4h-1.2v-0.6h3.1v0.6H47v3.4H46.3z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M49,166.2v-4h2.7v0.6h-2v1h2v0.6h-2v1.1h2v0.6H49z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M52.6,166.2v-4h0.7v3.4h1.8v0.6H52.6z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M55.7,166.2v-4h2.7v0.6h-2v1h2v0.6h-2v1.1h2v0.6H55.7z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M59.1,164.2c0-1.2,0.9-2.1,2.1-2.1c0.8,0,1.3,0.4,1.6,0.9l-0.6,0.3c-0.2-0.3-0.6-0.6-1-0.6
 | 
					 | 
				
			||||||
						c-0.8,0-1.4,0.6-1.4,1.4c0,0.8,0.6,1.4,1.4,1.4c0.4,0,0.8-0.3,1-0.6l0.6,0.3c-0.3,0.5-0.8,0.9-1.6,0.9
 | 
					 | 
				
			||||||
						C60,166.3,59.1,165.5,59.1,164.2z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M63.2,164.2c0-1.2,0.8-2.1,2-2.1c1.2,0,2,0.9,2,2.1c0,1.2-0.8,2.1-2,2.1C64,166.3,63.2,165.4,63.2,164.2z
 | 
					 | 
				
			||||||
						 M66.5,164.2c0-0.8-0.5-1.4-1.3-1.4c-0.8,0-1.3,0.6-1.3,1.4c0,0.8,0.5,1.4,1.3,1.4C66,165.7,66.5,165,66.5,164.2z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M71.3,166.2v-3.1l-1.2,3.1h-0.3l-1.2-3.1v3.1h-0.7v-4h1l1.1,2.7l1.1-2.7h1v4H71.3z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M75.7,166.2v-4h0.7v4H75.7z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M80.4,166.2l-2.1-2.8v2.8h-0.7v-4h0.7l2,2.8v-2.8h0.7v4H80.4z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M82.3,166.2v-4H85v0.6h-2v1h2v0.6h-2v1.7H82.3z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M87.9,166.2l-0.9-1.5h-0.7v1.5h-0.7v-4h1.7c0.8,0,1.3,0.5,1.3,1.2c0,0.7-0.5,1.1-0.9,1.2l1,1.6H87.9z
 | 
					 | 
				
			||||||
						 M88,163.5c0-0.4-0.3-0.6-0.7-0.6h-1v1.3h1C87.7,164.1,88,163.9,88,163.5z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M92.4,166.2l-0.3-0.8h-1.8l-0.3,0.8h-0.8l1.6-4h0.9l1.6,4H92.4z M91.2,162.9l-0.7,1.9h1.4L91.2,162.9z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M95.8,166.2v-4h1.5c0.8,0,1.2,0.5,1.2,1.2c0,0.6-0.4,1.2-1.2,1.2h-1.2v1.7H95.8z M98.2,163.4
 | 
					 | 
				
			||||||
						c0-0.5-0.3-0.9-0.9-0.9h-1.1v1.7h1.1C97.8,164.3,98.2,163.9,98.2,163.4z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M101.5,166.2l-1.1-1.6h-0.9v1.6h-0.3v-4h1.5c0.7,0,1.2,0.4,1.2,1.2c0,0.7-0.5,1.1-1.1,1.1l1.2,1.7H101.5z
 | 
					 | 
				
			||||||
						 M101.6,163.4c0-0.5-0.4-0.9-0.9-0.9h-1.1v1.7h1.1C101.2,164.3,101.6,163.9,101.6,163.4z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M102.8,164.2c0-1.2,0.8-2.1,1.9-2.1c1.2,0,1.9,0.9,1.9,2.1c0,1.2-0.8,2.1-1.9,2.1
 | 
					 | 
				
			||||||
						C103.6,166.3,102.8,165.4,102.8,164.2z M106.3,164.2c0-1-0.6-1.7-1.6-1.7c-1,0-1.6,0.7-1.6,1.7c0,1,0.6,1.7,1.6,1.7
 | 
					 | 
				
			||||||
						C105.7,166,106.3,165.2,106.3,164.2z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M106.9,165.8l0.2-0.3c0.2,0.2,0.4,0.4,0.8,0.4c0.5,0,0.9-0.4,0.9-0.9v-2.8h0.3v2.8c0,0.8-0.5,1.2-1.2,1.2
 | 
					 | 
				
			||||||
						C107.5,166.3,107.2,166.1,106.9,165.8z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M110.4,166.2v-4h2.5v0.3h-2.2v1.5h2.1v0.3h-2.1v1.6h2.2v0.3H110.4z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M113.5,164.2c0-1.2,0.9-2.1,2-2.1c0.6,0,1.1,0.3,1.5,0.7l-0.3,0.2c-0.3-0.3-0.7-0.6-1.2-0.6
 | 
					 | 
				
			||||||
						c-0.9,0-1.7,0.7-1.7,1.7c0,1,0.7,1.7,1.7,1.7c0.5,0,0.9-0.2,1.2-0.6l0.3,0.2c-0.4,0.4-0.8,0.7-1.5,0.7
 | 
					 | 
				
			||||||
						C114.4,166.3,113.5,165.5,113.5,164.2z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M118.7,166.2v-3.7h-1.3v-0.3h2.9v0.3H119v3.7H118.7z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
			</g>
 | 
					 | 
				
			||||||
			<g>
 | 
					 | 
				
			||||||
				<polygon class="st1" points="26.3,163.8 31.6,158.5 36.9,163.8 37.7,163.8 31.6,157.6 25.5,163.8 				"/>
 | 
					 | 
				
			||||||
				<polygon class="st1" points="36.9,164.7 31.6,170 26.3,164.7 25.5,164.7 31.6,170.8 37.7,164.7 				"/>
 | 
					 | 
				
			||||||
				<polygon class="st1" points="31,163.8 36.3,158.5 41.6,163.8 42.5,163.8 36.3,157.6 30.2,163.8 				"/>
 | 
					 | 
				
			||||||
				<polygon class="st1" points="41.6,164.7 36.3,170 31,164.7 30.2,164.7 36.3,170.8 42.5,164.7 				"/>
 | 
					 | 
				
			||||||
			</g>
 | 
					 | 
				
			||||||
		</g>
 | 
					 | 
				
			||||||
		<g>
 | 
					 | 
				
			||||||
			<path class="st1" d="M33.2,100.7c-4.6,0-8.3,3.7-8.3,8.3s3.7,8.3,8.3,8.3s8.3-3.7,8.3-8.3S37.8,100.7,33.2,100.7z"/>
 | 
					 | 
				
			||||||
		</g>
 | 
					 | 
				
			||||||
		<g>
 | 
					 | 
				
			||||||
			<g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st2" d="M33.2,35.2c40.7,0,73.8,33.1,73.8,73.8c0,0.7,0,1.4,0,2.1c0,1.7,0.6,3.3,1.7,4.6c1.2,1.2,2.8,1.9,4.5,2
 | 
					 | 
				
			||||||
						l0.2,0c3.5,0,6.3-2.7,6.4-6.2c0-0.8,0-1.7,0-2.5c0-47.7-38.8-86.6-86.6-86.6c-0.8,0-1.7,0-2.5,0c-1.7,0-3.3,0.8-4.5,2
 | 
					 | 
				
			||||||
						c-1.2,1.2-1.8,2.9-1.7,4.6c0.1,3.5,3,6.3,6.6,6.2C31.8,35.2,32.5,35.2,33.2,35.2z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
			</g>
 | 
					 | 
				
			||||||
		</g>
 | 
					 | 
				
			||||||
		<g>
 | 
					 | 
				
			||||||
			<g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st3" d="M33.2,60.5c26.7,0,48.5,21.7,48.5,48.5c0,0.6,0,1.3,0,2c-0.1,1.7,0.5,3.3,1.7,4.6c1.2,1.3,2.7,2,4.4,2.1
 | 
					 | 
				
			||||||
						c1.7,0.1,3.3-0.5,4.6-1.7c1.2-1.2,2-2.7,2-4.4c0-0.9,0.1-1.8,0.1-2.6c0-33.8-27.5-61.2-61.2-61.2c-0.8,0-1.6,0-2.6,0.1
 | 
					 | 
				
			||||||
						c-1.7,0.1-3.3,0.8-4.4,2.1c-1.2,1.3-1.8,2.9-1.7,4.6s0.8,3.3,2.1,4.4c1.3,1.2,2.9,1.8,4.6,1.7C31.9,60.5,32.6,60.5,33.2,60.5z"
 | 
					 | 
				
			||||||
						/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
			</g>
 | 
					 | 
				
			||||||
		</g>
 | 
					 | 
				
			||||||
		<g>
 | 
					 | 
				
			||||||
			<g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st4" d="M33.2,86.7c12.3,0,22.3,10,22.3,22.3c0,0.5,0,1.1-0.1,1.8c-0.3,3.5,2.3,6.6,5.8,6.9
 | 
					 | 
				
			||||||
						c3.5,0.3,6.6-2.3,6.9-5.8c0.1-1,0.1-1.9,0.1-2.8c0-19.3-15.7-35.1-35.1-35.1c-0.9,0-1.8,0-2.8,0.1c-1.7,0.1-3.2,0.9-4.3,2.2
 | 
					 | 
				
			||||||
						c-1.1,1.3-1.6,2.9-1.5,4.6c0.1,1.7,0.9,3.2,2.2,4.3c1.3,1.1,2.9,1.6,4.6,1.5C32.1,86.7,32.7,86.7,33.2,86.7z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
			</g>
 | 
					 | 
				
			||||||
		</g>
 | 
					 | 
				
			||||||
	</g>
 | 
					 | 
				
			||||||
	<g>
 | 
					 | 
				
			||||||
		<path class="st1" d="M35.8,130.4c1.1,0.6,2.1,1.5,2.7,2.6c0.7,1.1,1,2.3,1,3.7s-0.3,2.6-1,3.7c-0.7,1.1-1.6,2-2.7,2.6
 | 
					 | 
				
			||||||
			c-1.1,0.6-2.4,1-3.8,1s-2.7-0.3-3.8-1c-1.1-0.6-2.1-1.5-2.7-2.6c-0.7-1.1-1-2.3-1-3.7c0-1.3,0.3-2.6,1-3.7c0.7-1.1,1.6-2,2.7-2.6
 | 
					 | 
				
			||||||
			c1.1-0.6,2.4-0.9,3.8-0.9C33.4,129.5,34.7,129.8,35.8,130.4z M29.9,132.9c-0.7,0.4-1.2,0.9-1.6,1.6s-0.6,1.4-0.6,2.2
 | 
					 | 
				
			||||||
			c0,0.8,0.2,1.6,0.6,2.3c0.4,0.7,0.9,1.2,1.6,1.6c0.7,0.4,1.4,0.6,2.1,0.6c0.8,0,1.5-0.2,2.1-0.6c0.6-0.4,1.2-0.9,1.5-1.6
 | 
					 | 
				
			||||||
			c0.4-0.7,0.6-1.4,0.6-2.3c0-0.8-0.2-1.6-0.6-2.2s-0.9-1.2-1.5-1.6c-0.6-0.4-1.4-0.6-2.1-0.6C31.3,132.3,30.6,132.5,29.9,132.9z"/>
 | 
					 | 
				
			||||||
		<path class="st1" d="M50.6,133.6c0.8,0.5,1.4,1.1,1.8,2c0.4,0.8,0.6,1.8,0.6,2.9c0,1.1-0.2,2-0.6,2.8c-0.4,0.8-1,1.5-1.8,1.9
 | 
					 | 
				
			||||||
			c-0.8,0.5-1.6,0.7-2.6,0.7c-0.7,0-1.4-0.1-2-0.4s-1.1-0.7-1.5-1.2v5.4h-3.1V133h3.1v1.6c0.4-0.5,0.9-1,1.4-1.2s1.2-0.4,2-0.4
 | 
					 | 
				
			||||||
			C48.9,132.9,49.8,133.1,50.6,133.6z M49.1,140.5c0.5-0.6,0.7-1.3,0.7-2.2c0-0.9-0.2-1.6-0.7-2.1c-0.5-0.6-1.1-0.8-1.9-0.8
 | 
					 | 
				
			||||||
			s-1.4,0.3-1.9,0.8c-0.5,0.6-0.8,1.3-0.8,2.1c0,0.9,0.2,1.6,0.8,2.2s1.1,0.8,1.9,0.8S48.6,141,49.1,140.5z"/>
 | 
					 | 
				
			||||||
		<path class="st1" d="M63.4,134.4c0.9,1,1.4,2.4,1.4,4.2c0,0.3,0,0.6,0,0.7H57c0.2,0.7,0.5,1.2,1,1.6c0.5,0.4,1.1,0.6,1.8,0.6
 | 
					 | 
				
			||||||
			c0.5,0,1-0.1,1.5-0.3s0.9-0.5,1.3-0.9l1.6,1.6c-0.5,0.6-1.2,1.1-2,1.4c-0.8,0.3-1.6,0.5-2.6,0.5c-1.1,0-2.1-0.2-3-0.7
 | 
					 | 
				
			||||||
			s-1.5-1.1-2-1.9c-0.5-0.8-0.7-1.8-0.7-2.9c0-1.1,0.2-2.1,0.7-2.9s1.1-1.5,2-1.9c0.8-0.5,1.8-0.7,2.9-0.7
 | 
					 | 
				
			||||||
			C61.2,132.9,62.5,133.4,63.4,134.4z M61.8,137.5c0-0.7-0.3-1.3-0.7-1.7s-1-0.6-1.7-0.6c-0.7,0-1.2,0.2-1.7,0.6
 | 
					 | 
				
			||||||
			c-0.4,0.4-0.7,1-0.9,1.7H61.8z"/>
 | 
					 | 
				
			||||||
		<path class="st1" d="M76.2,134c0.7,0.7,1.1,1.7,1.1,3v6.8h-3.1v-5.9c0-0.7-0.2-1.2-0.6-1.6s-0.9-0.6-1.5-0.6
 | 
					 | 
				
			||||||
			c-0.8,0-1.4,0.3-1.8,0.8c-0.4,0.5-0.7,1.2-0.7,2v5.3h-3.1V133h3.1v1.9c0.7-1.3,2-2,3.7-2C74.6,132.8,75.5,133.2,76.2,134z"/>
 | 
					 | 
				
			||||||
		<path class="st1" d="M96,129.7h3.3l-4.7,14h-3.3l-2.9-10.1l-3,10.1h-3.2l-4.7-14h3.4l3,10.7l3-10.7H90l3.1,10.7L96,129.7z"/>
 | 
					 | 
				
			||||||
		<path class="st1" d="M103.3,128.7c0.3,0.3,0.5,0.7,0.5,1.2s-0.2,0.9-0.5,1.2c-0.3,0.3-0.7,0.5-1.2,0.5c-0.5,0-0.9-0.2-1.2-0.5
 | 
					 | 
				
			||||||
			c-0.3-0.3-0.5-0.7-0.5-1.2c0-0.5,0.2-0.9,0.5-1.2c0.3-0.3,0.7-0.5,1.2-0.5C102.6,128.2,103,128.3,103.3,128.7z M100.6,133h3.1
 | 
					 | 
				
			||||||
			v10.8h-3.1V133z"/>
 | 
					 | 
				
			||||||
		<path class="st1" d="M106.5,129.7h10.1l0,2.6h-6.9v3.4h6.3v2.6h-6.3v5.3h-3.2V129.7z"/>
 | 
					 | 
				
			||||||
		<path class="st1" d="M120.9,128.7c0.3,0.3,0.5,0.7,0.5,1.2s-0.2,0.9-0.5,1.2c-0.3,0.3-0.7,0.5-1.2,0.5c-0.5,0-0.9-0.2-1.2-0.5
 | 
					 | 
				
			||||||
			c-0.3-0.3-0.5-0.7-0.5-1.2c0-0.5,0.2-0.9,0.5-1.2c0.3-0.3,0.7-0.5,1.2-0.5C120.1,128.2,120.5,128.3,120.9,128.7z M118.1,133h3.1
 | 
					 | 
				
			||||||
			v10.8h-3.1V133z"/>
 | 
					 | 
				
			||||||
	</g>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
</svg>
 | 
					 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 8.0 KiB  | 
@@ -1,43 +0,0 @@
 | 
				
			|||||||
<!DOCTYPE html>
 | 
					 | 
				
			||||||
<html lang="en">
 | 
					 | 
				
			||||||
  <head>
 | 
					 | 
				
			||||||
    <meta charset="utf-8" />
 | 
					 | 
				
			||||||
    <link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
 | 
					 | 
				
			||||||
    <meta name="viewport" content="width=device-width, initial-scale=1" />
 | 
					 | 
				
			||||||
    <meta name="theme-color" content="#000000" />
 | 
					 | 
				
			||||||
    <meta
 | 
					 | 
				
			||||||
      name="description"
 | 
					 | 
				
			||||||
      content="Web site created using create-react-app"
 | 
					 | 
				
			||||||
    />
 | 
					 | 
				
			||||||
    <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
 | 
					 | 
				
			||||||
    <!--
 | 
					 | 
				
			||||||
      manifest.json provides metadata used when your web app is installed on a
 | 
					 | 
				
			||||||
      user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
 | 
					 | 
				
			||||||
    -->
 | 
					 | 
				
			||||||
    <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
 | 
					 | 
				
			||||||
    <!--
 | 
					 | 
				
			||||||
      Notice the use of %PUBLIC_URL% in the tags above.
 | 
					 | 
				
			||||||
      It will be replaced with the URL of the `public` folder during the build.
 | 
					 | 
				
			||||||
      Only files inside the `public` folder can be referenced from the HTML.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
 | 
					 | 
				
			||||||
      work correctly both with client-side routing and a non-root public URL.
 | 
					 | 
				
			||||||
      Learn how to configure a non-root public URL by running `npm run build`.
 | 
					 | 
				
			||||||
    -->
 | 
					 | 
				
			||||||
    <title>uCentralGW</title>
 | 
					 | 
				
			||||||
  </head>
 | 
					 | 
				
			||||||
  <body>
 | 
					 | 
				
			||||||
    <noscript>You need to enable JavaScript to run this app.</noscript>
 | 
					 | 
				
			||||||
    <div id="root"></div>
 | 
					 | 
				
			||||||
    <!--
 | 
					 | 
				
			||||||
      This HTML file is a template.
 | 
					 | 
				
			||||||
      If you open it directly in the browser, you will see an empty page.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      You can add webfonts, meta tags, or analytics to this file.
 | 
					 | 
				
			||||||
      The build step will place the bundled scripts into the <body> tag.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      To begin the development, run `npm start` or `yarn start`.
 | 
					 | 
				
			||||||
      To create a production bundle, use `npm run build` or `yarn build`.
 | 
					 | 
				
			||||||
    -->
 | 
					 | 
				
			||||||
  </body>
 | 
					 | 
				
			||||||
</html>
 | 
					 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 4.1 KiB  | 
| 
		 Before Width: | Height: | Size: 12 KiB  | 
@@ -1,25 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "short_name": "React App",
 | 
					 | 
				
			||||||
  "name": "Create React App Sample",
 | 
					 | 
				
			||||||
  "icons": [
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "src": "favicon.ico",
 | 
					 | 
				
			||||||
      "sizes": "64x64 32x32 24x24 16x16",
 | 
					 | 
				
			||||||
      "type": "image/x-icon"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "src": "favicon.svg",
 | 
					 | 
				
			||||||
      "type": "image/svg",
 | 
					 | 
				
			||||||
      "sizes": "192x192"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      "src": "favicon.svg",
 | 
					 | 
				
			||||||
      "type": "image/svg",
 | 
					 | 
				
			||||||
      "sizes": "512x512"
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  ],
 | 
					 | 
				
			||||||
  "start_url": ".",
 | 
					 | 
				
			||||||
  "display": "standalone",
 | 
					 | 
				
			||||||
  "theme_color": "#000000",
 | 
					 | 
				
			||||||
  "background_color": "#ffffff"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								public/mstile-150x150.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 9.9 KiB  | 
@@ -1,165 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					 | 
				
			||||||
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
 | 
					 | 
				
			||||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
 | 
					 | 
				
			||||||
	 viewBox="0 0 141.5 185.6" style="enable-background:new 0 0 141.5 185.6;" xml:space="preserve">
 | 
					 | 
				
			||||||
<style type="text/css">
 | 
					 | 
				
			||||||
	.st0{fill:#414141;}
 | 
					 | 
				
			||||||
	.st1{fill:#FFFFFF;}
 | 
					 | 
				
			||||||
	.st2{fill:#FED206;}
 | 
					 | 
				
			||||||
	.st3{fill:#EB6F53;}
 | 
					 | 
				
			||||||
	.st4{fill:#3BA9B6;}
 | 
					 | 
				
			||||||
</style>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
	<g>
 | 
					 | 
				
			||||||
		<path class="st0" d="M120.7,183.9H21.5c-10.8,0-19.5-8.7-19.5-19.5V20.5c0-10.8,8.7-19.5,19.5-19.5h99.2
 | 
					 | 
				
			||||||
			c10.8,0,19.5,8.7,19.5,19.5v143.9C140.2,175.2,131.5,183.9,120.7,183.9z"/>
 | 
					 | 
				
			||||||
		<g>
 | 
					 | 
				
			||||||
			<g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M46.3,166.2v-3.4h-1.2v-0.6h3.1v0.6H47v3.4H46.3z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M49,166.2v-4h2.7v0.6h-2v1h2v0.6h-2v1.1h2v0.6H49z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M52.6,166.2v-4h0.7v3.4h1.8v0.6H52.6z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M55.7,166.2v-4h2.7v0.6h-2v1h2v0.6h-2v1.1h2v0.6H55.7z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M59.1,164.2c0-1.2,0.9-2.1,2.1-2.1c0.8,0,1.3,0.4,1.6,0.9l-0.6,0.3c-0.2-0.3-0.6-0.6-1-0.6
 | 
					 | 
				
			||||||
						c-0.8,0-1.4,0.6-1.4,1.4c0,0.8,0.6,1.4,1.4,1.4c0.4,0,0.8-0.3,1-0.6l0.6,0.3c-0.3,0.5-0.8,0.9-1.6,0.9
 | 
					 | 
				
			||||||
						C60,166.3,59.1,165.5,59.1,164.2z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M63.2,164.2c0-1.2,0.8-2.1,2-2.1c1.2,0,2,0.9,2,2.1c0,1.2-0.8,2.1-2,2.1C64,166.3,63.2,165.4,63.2,164.2z
 | 
					 | 
				
			||||||
						 M66.5,164.2c0-0.8-0.5-1.4-1.3-1.4c-0.8,0-1.3,0.6-1.3,1.4c0,0.8,0.5,1.4,1.3,1.4C66,165.7,66.5,165,66.5,164.2z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M71.3,166.2v-3.1l-1.2,3.1h-0.3l-1.2-3.1v3.1h-0.7v-4h1l1.1,2.7l1.1-2.7h1v4H71.3z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M75.7,166.2v-4h0.7v4H75.7z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M80.4,166.2l-2.1-2.8v2.8h-0.7v-4h0.7l2,2.8v-2.8h0.7v4H80.4z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M82.3,166.2v-4H85v0.6h-2v1h2v0.6h-2v1.7H82.3z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M87.9,166.2l-0.9-1.5h-0.7v1.5h-0.7v-4h1.7c0.8,0,1.3,0.5,1.3,1.2c0,0.7-0.5,1.1-0.9,1.2l1,1.6H87.9z
 | 
					 | 
				
			||||||
						 M88,163.5c0-0.4-0.3-0.6-0.7-0.6h-1v1.3h1C87.7,164.1,88,163.9,88,163.5z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M92.4,166.2l-0.3-0.8h-1.8l-0.3,0.8h-0.8l1.6-4h0.9l1.6,4H92.4z M91.2,162.9l-0.7,1.9h1.4L91.2,162.9z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M95.8,166.2v-4h1.5c0.8,0,1.2,0.5,1.2,1.2c0,0.6-0.4,1.2-1.2,1.2h-1.2v1.7H95.8z M98.2,163.4
 | 
					 | 
				
			||||||
						c0-0.5-0.3-0.9-0.9-0.9h-1.1v1.7h1.1C97.8,164.3,98.2,163.9,98.2,163.4z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M101.5,166.2l-1.1-1.6h-0.9v1.6h-0.3v-4h1.5c0.7,0,1.2,0.4,1.2,1.2c0,0.7-0.5,1.1-1.1,1.1l1.2,1.7H101.5z
 | 
					 | 
				
			||||||
						 M101.6,163.4c0-0.5-0.4-0.9-0.9-0.9h-1.1v1.7h1.1C101.2,164.3,101.6,163.9,101.6,163.4z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M102.8,164.2c0-1.2,0.8-2.1,1.9-2.1c1.2,0,1.9,0.9,1.9,2.1c0,1.2-0.8,2.1-1.9,2.1
 | 
					 | 
				
			||||||
						C103.6,166.3,102.8,165.4,102.8,164.2z M106.3,164.2c0-1-0.6-1.7-1.6-1.7c-1,0-1.6,0.7-1.6,1.7c0,1,0.6,1.7,1.6,1.7
 | 
					 | 
				
			||||||
						C105.7,166,106.3,165.2,106.3,164.2z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M106.9,165.8l0.2-0.3c0.2,0.2,0.4,0.4,0.8,0.4c0.5,0,0.9-0.4,0.9-0.9v-2.8h0.3v2.8c0,0.8-0.5,1.2-1.2,1.2
 | 
					 | 
				
			||||||
						C107.5,166.3,107.2,166.1,106.9,165.8z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M110.4,166.2v-4h2.5v0.3h-2.2v1.5h2.1v0.3h-2.1v1.6h2.2v0.3H110.4z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M113.5,164.2c0-1.2,0.9-2.1,2-2.1c0.6,0,1.1,0.3,1.5,0.7l-0.3,0.2c-0.3-0.3-0.7-0.6-1.2-0.6
 | 
					 | 
				
			||||||
						c-0.9,0-1.7,0.7-1.7,1.7c0,1,0.7,1.7,1.7,1.7c0.5,0,0.9-0.2,1.2-0.6l0.3,0.2c-0.4,0.4-0.8,0.7-1.5,0.7
 | 
					 | 
				
			||||||
						C114.4,166.3,113.5,165.5,113.5,164.2z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M118.7,166.2v-3.7h-1.3v-0.3h2.9v0.3H119v3.7H118.7z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
			</g>
 | 
					 | 
				
			||||||
			<g>
 | 
					 | 
				
			||||||
				<polygon class="st1" points="26.3,163.8 31.6,158.5 36.9,163.8 37.7,163.8 31.6,157.6 25.5,163.8 				"/>
 | 
					 | 
				
			||||||
				<polygon class="st1" points="36.9,164.7 31.6,170 26.3,164.7 25.5,164.7 31.6,170.8 37.7,164.7 				"/>
 | 
					 | 
				
			||||||
				<polygon class="st1" points="31,163.8 36.3,158.5 41.6,163.8 42.5,163.8 36.3,157.6 30.2,163.8 				"/>
 | 
					 | 
				
			||||||
				<polygon class="st1" points="41.6,164.7 36.3,170 31,164.7 30.2,164.7 36.3,170.8 42.5,164.7 				"/>
 | 
					 | 
				
			||||||
			</g>
 | 
					 | 
				
			||||||
		</g>
 | 
					 | 
				
			||||||
		<g>
 | 
					 | 
				
			||||||
			<path class="st1" d="M33.2,100.7c-4.6,0-8.3,3.7-8.3,8.3s3.7,8.3,8.3,8.3s8.3-3.7,8.3-8.3S37.8,100.7,33.2,100.7z"/>
 | 
					 | 
				
			||||||
		</g>
 | 
					 | 
				
			||||||
		<g>
 | 
					 | 
				
			||||||
			<g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st2" d="M33.2,35.2c40.7,0,73.8,33.1,73.8,73.8c0,0.7,0,1.4,0,2.1c0,1.7,0.6,3.3,1.7,4.6c1.2,1.2,2.8,1.9,4.5,2
 | 
					 | 
				
			||||||
						l0.2,0c3.5,0,6.3-2.7,6.4-6.2c0-0.8,0-1.7,0-2.5c0-47.7-38.8-86.6-86.6-86.6c-0.8,0-1.7,0-2.5,0c-1.7,0-3.3,0.8-4.5,2
 | 
					 | 
				
			||||||
						c-1.2,1.2-1.8,2.9-1.7,4.6c0.1,3.5,3,6.3,6.6,6.2C31.8,35.2,32.5,35.2,33.2,35.2z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
			</g>
 | 
					 | 
				
			||||||
		</g>
 | 
					 | 
				
			||||||
		<g>
 | 
					 | 
				
			||||||
			<g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st3" d="M33.2,60.5c26.7,0,48.5,21.7,48.5,48.5c0,0.6,0,1.3,0,2c-0.1,1.7,0.5,3.3,1.7,4.6c1.2,1.3,2.7,2,4.4,2.1
 | 
					 | 
				
			||||||
						c1.7,0.1,3.3-0.5,4.6-1.7c1.2-1.2,2-2.7,2-4.4c0-0.9,0.1-1.8,0.1-2.6c0-33.8-27.5-61.2-61.2-61.2c-0.8,0-1.6,0-2.6,0.1
 | 
					 | 
				
			||||||
						c-1.7,0.1-3.3,0.8-4.4,2.1c-1.2,1.3-1.8,2.9-1.7,4.6s0.8,3.3,2.1,4.4c1.3,1.2,2.9,1.8,4.6,1.7C31.9,60.5,32.6,60.5,33.2,60.5z"
 | 
					 | 
				
			||||||
						/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
			</g>
 | 
					 | 
				
			||||||
		</g>
 | 
					 | 
				
			||||||
		<g>
 | 
					 | 
				
			||||||
			<g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st4" d="M33.2,86.7c12.3,0,22.3,10,22.3,22.3c0,0.5,0,1.1-0.1,1.8c-0.3,3.5,2.3,6.6,5.8,6.9
 | 
					 | 
				
			||||||
						c3.5,0.3,6.6-2.3,6.9-5.8c0.1-1,0.1-1.9,0.1-2.8c0-19.3-15.7-35.1-35.1-35.1c-0.9,0-1.8,0-2.8,0.1c-1.7,0.1-3.2,0.9-4.3,2.2
 | 
					 | 
				
			||||||
						c-1.1,1.3-1.6,2.9-1.5,4.6c0.1,1.7,0.9,3.2,2.2,4.3c1.3,1.1,2.9,1.6,4.6,1.5C32.1,86.7,32.7,86.7,33.2,86.7z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
			</g>
 | 
					 | 
				
			||||||
		</g>
 | 
					 | 
				
			||||||
	</g>
 | 
					 | 
				
			||||||
	<g>
 | 
					 | 
				
			||||||
		<path class="st1" d="M35.8,130.4c1.1,0.6,2.1,1.5,2.7,2.6c0.7,1.1,1,2.3,1,3.7s-0.3,2.6-1,3.7c-0.7,1.1-1.6,2-2.7,2.6
 | 
					 | 
				
			||||||
			c-1.1,0.6-2.4,1-3.8,1s-2.7-0.3-3.8-1c-1.1-0.6-2.1-1.5-2.7-2.6c-0.7-1.1-1-2.3-1-3.7c0-1.3,0.3-2.6,1-3.7c0.7-1.1,1.6-2,2.7-2.6
 | 
					 | 
				
			||||||
			c1.1-0.6,2.4-0.9,3.8-0.9C33.4,129.5,34.7,129.8,35.8,130.4z M29.9,132.9c-0.7,0.4-1.2,0.9-1.6,1.6s-0.6,1.4-0.6,2.2
 | 
					 | 
				
			||||||
			c0,0.8,0.2,1.6,0.6,2.3c0.4,0.7,0.9,1.2,1.6,1.6c0.7,0.4,1.4,0.6,2.1,0.6c0.8,0,1.5-0.2,2.1-0.6c0.6-0.4,1.2-0.9,1.5-1.6
 | 
					 | 
				
			||||||
			c0.4-0.7,0.6-1.4,0.6-2.3c0-0.8-0.2-1.6-0.6-2.2s-0.9-1.2-1.5-1.6c-0.6-0.4-1.4-0.6-2.1-0.6C31.3,132.3,30.6,132.5,29.9,132.9z"/>
 | 
					 | 
				
			||||||
		<path class="st1" d="M50.6,133.6c0.8,0.5,1.4,1.1,1.8,2c0.4,0.8,0.6,1.8,0.6,2.9c0,1.1-0.2,2-0.6,2.8c-0.4,0.8-1,1.5-1.8,1.9
 | 
					 | 
				
			||||||
			c-0.8,0.5-1.6,0.7-2.6,0.7c-0.7,0-1.4-0.1-2-0.4s-1.1-0.7-1.5-1.2v5.4h-3.1V133h3.1v1.6c0.4-0.5,0.9-1,1.4-1.2s1.2-0.4,2-0.4
 | 
					 | 
				
			||||||
			C48.9,132.9,49.8,133.1,50.6,133.6z M49.1,140.5c0.5-0.6,0.7-1.3,0.7-2.2c0-0.9-0.2-1.6-0.7-2.1c-0.5-0.6-1.1-0.8-1.9-0.8
 | 
					 | 
				
			||||||
			s-1.4,0.3-1.9,0.8c-0.5,0.6-0.8,1.3-0.8,2.1c0,0.9,0.2,1.6,0.8,2.2s1.1,0.8,1.9,0.8S48.6,141,49.1,140.5z"/>
 | 
					 | 
				
			||||||
		<path class="st1" d="M63.4,134.4c0.9,1,1.4,2.4,1.4,4.2c0,0.3,0,0.6,0,0.7H57c0.2,0.7,0.5,1.2,1,1.6c0.5,0.4,1.1,0.6,1.8,0.6
 | 
					 | 
				
			||||||
			c0.5,0,1-0.1,1.5-0.3s0.9-0.5,1.3-0.9l1.6,1.6c-0.5,0.6-1.2,1.1-2,1.4c-0.8,0.3-1.6,0.5-2.6,0.5c-1.1,0-2.1-0.2-3-0.7
 | 
					 | 
				
			||||||
			s-1.5-1.1-2-1.9c-0.5-0.8-0.7-1.8-0.7-2.9c0-1.1,0.2-2.1,0.7-2.9s1.1-1.5,2-1.9c0.8-0.5,1.8-0.7,2.9-0.7
 | 
					 | 
				
			||||||
			C61.2,132.9,62.5,133.4,63.4,134.4z M61.8,137.5c0-0.7-0.3-1.3-0.7-1.7s-1-0.6-1.7-0.6c-0.7,0-1.2,0.2-1.7,0.6
 | 
					 | 
				
			||||||
			c-0.4,0.4-0.7,1-0.9,1.7H61.8z"/>
 | 
					 | 
				
			||||||
		<path class="st1" d="M76.2,134c0.7,0.7,1.1,1.7,1.1,3v6.8h-3.1v-5.9c0-0.7-0.2-1.2-0.6-1.6s-0.9-0.6-1.5-0.6
 | 
					 | 
				
			||||||
			c-0.8,0-1.4,0.3-1.8,0.8c-0.4,0.5-0.7,1.2-0.7,2v5.3h-3.1V133h3.1v1.9c0.7-1.3,2-2,3.7-2C74.6,132.8,75.5,133.2,76.2,134z"/>
 | 
					 | 
				
			||||||
		<path class="st1" d="M96,129.7h3.3l-4.7,14h-3.3l-2.9-10.1l-3,10.1h-3.2l-4.7-14h3.4l3,10.7l3-10.7H90l3.1,10.7L96,129.7z"/>
 | 
					 | 
				
			||||||
		<path class="st1" d="M103.3,128.7c0.3,0.3,0.5,0.7,0.5,1.2s-0.2,0.9-0.5,1.2c-0.3,0.3-0.7,0.5-1.2,0.5c-0.5,0-0.9-0.2-1.2-0.5
 | 
					 | 
				
			||||||
			c-0.3-0.3-0.5-0.7-0.5-1.2c0-0.5,0.2-0.9,0.5-1.2c0.3-0.3,0.7-0.5,1.2-0.5C102.6,128.2,103,128.3,103.3,128.7z M100.6,133h3.1
 | 
					 | 
				
			||||||
			v10.8h-3.1V133z"/>
 | 
					 | 
				
			||||||
		<path class="st1" d="M106.5,129.7h10.1l0,2.6h-6.9v3.4h6.3v2.6h-6.3v5.3h-3.2V129.7z"/>
 | 
					 | 
				
			||||||
		<path class="st1" d="M120.9,128.7c0.3,0.3,0.5,0.7,0.5,1.2s-0.2,0.9-0.5,1.2c-0.3,0.3-0.7,0.5-1.2,0.5c-0.5,0-0.9-0.2-1.2-0.5
 | 
					 | 
				
			||||||
			c-0.3-0.3-0.5-0.7-0.5-1.2c0-0.5,0.2-0.9,0.5-1.2c0.3-0.3,0.7-0.5,1.2-0.5C120.1,128.2,120.5,128.3,120.9,128.7z M118.1,133h3.1
 | 
					 | 
				
			||||||
			v10.8h-3.1V133z"/>
 | 
					 | 
				
			||||||
	</g>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
</svg>
 | 
					 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 8.0 KiB  | 
@@ -1,2 +0,0 @@
 | 
				
			|||||||
# https://www.robotstxt.org/robotstxt.html
 | 
					 | 
				
			||||||
User-agent: *
 | 
					 | 
				
			||||||
							
								
								
									
										38
									
								
								public/safari-pinned-tab.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,38 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" standalone="no"?>
 | 
				
			||||||
 | 
					<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
 | 
				
			||||||
 | 
					 "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
 | 
				
			||||||
 | 
					<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
 | 
				
			||||||
 | 
					 width="744.000000pt" height="744.000000pt" viewBox="0 0 744.000000 744.000000"
 | 
				
			||||||
 | 
					 preserveAspectRatio="xMidYMid meet">
 | 
				
			||||||
 | 
					<metadata>
 | 
				
			||||||
 | 
					Created by potrace 1.14, written by Peter Selinger 2001-2017
 | 
				
			||||||
 | 
					</metadata>
 | 
				
			||||||
 | 
					<g transform="translate(0.000000,744.000000) scale(0.100000,-0.100000)"
 | 
				
			||||||
 | 
					fill="#000000" stroke="none">
 | 
				
			||||||
 | 
					<path d="M1827 7404 c-2 -2 -50 -6 -108 -8 -57 -3 -120 -10 -139 -15 -19 -6
 | 
				
			||||||
 | 
					-56 -16 -82 -22 -27 -7 -48 -16 -48 -20 0 -4 -14 -10 -30 -14 -17 -4 -36 -12
 | 
				
			||||||
 | 
					-43 -18 -7 -7 -28 -21 -46 -31 -115 -64 -247 -224 -304 -366 -59 -150 -55 65
 | 
				
			||||||
 | 
					-56 -3180 0 -3270 -5 -3017 60 -3178 92 -232 303 -410 546 -463 32 -7 65 -14
 | 
				
			||||||
 | 
					73 -16 22 -5 4127 -3 4180 2 77 7 279 77 300 104 3 3 25 19 50 35 56 37 135
 | 
				
			||||||
 | 
					116 180 181 19 28 38 52 43 53 4 2 5 7 2 12 -3 4 2 13 10 20 8 7 15 21 15 31
 | 
				
			||||||
 | 
					0 10 4 20 9 23 8 6 39 91 47 131 2 11 7 31 11 45 4 14 8 1364 9 3000 2 3142 3
 | 
				
			||||||
 | 
					3032 -42 3165 -43 130 -131 255 -245 350 -33 28 -123 90 -127 87 -1 -1 -16 5
 | 
				
			||||||
 | 
					-34 14 -35 18 -128 50 -173 59 -30 6 -187 18 -215 16 -57 -3 -122 -1 -129 4
 | 
				
			||||||
 | 
					-5 3 -11 1 -13 -4 -1 -5 -23 -6 -48 -2 -25 4 -58 4 -75 1 -16 -3 -49 -3 -72 1
 | 
				
			||||||
 | 
					-23 3 -44 2 -45 -2 -2 -4 -23 -4 -48 0 -25 4 -58 4 -75 1 -16 -3 -49 -3 -72 1
 | 
				
			||||||
 | 
					-23 3 -44 2 -45 -2 -2 -4 -23 -4 -48 0 -25 4 -58 4 -75 1 -16 -3 -49 -3 -72 1
 | 
				
			||||||
 | 
					-23 3 -44 2 -45 -2 -2 -4 -23 -4 -48 0 -25 4 -58 4 -75 1 -16 -3 -49 -3 -72 1
 | 
				
			||||||
 | 
					-23 3 -44 2 -45 -2 -2 -4 -23 -4 -48 0 -25 4 -58 4 -75 1 -16 -3 -49 -3 -72 1
 | 
				
			||||||
 | 
					-23 3 -44 2 -45 -2 -2 -4 -23 -4 -48 0 -25 4 -58 4 -75 1 -16 -3 -49 -3 -72 1
 | 
				
			||||||
 | 
					-23 3 -44 2 -45 -2 -2 -4 -23 -4 -48 0 -25 4 -58 4 -75 1 -16 -3 -49 -3 -72 1
 | 
				
			||||||
 | 
					-23 3 -44 2 -45 -2 -2 -4 -23 -4 -48 0 -25 4 -58 4 -75 1 -16 -3 -49 -3 -72 1
 | 
				
			||||||
 | 
					-23 3 -44 2 -45 -2 -2 -4 -23 -4 -48 0 -25 4 -58 4 -75 1 -16 -3 -49 -3 -72 1
 | 
				
			||||||
 | 
					-23 3 -44 2 -45 -2 -2 -4 -23 -4 -48 0 -25 4 -58 4 -75 1 -16 -3 -49 -3 -72 1
 | 
				
			||||||
 | 
					-23 3 -44 2 -45 -2 -2 -4 -23 -4 -48 0 -25 4 -58 4 -75 1 -16 -3 -49 -3 -72 1
 | 
				
			||||||
 | 
					-23 3 -44 2 -45 -2 -2 -4 -23 -4 -48 0 -25 4 -58 4 -75 1 -16 -3 -49 -3 -72 1
 | 
				
			||||||
 | 
					-23 3 -44 2 -45 -2 -2 -4 -23 -4 -48 0 -25 4 -58 4 -75 1 -16 -3 -49 -3 -72 1
 | 
				
			||||||
 | 
					-23 3 -44 2 -45 -2 -2 -4 -23 -4 -48 0 -25 4 -58 4 -75 1 -16 -3 -49 -3 -72 1
 | 
				
			||||||
 | 
					-23 3 -44 2 -45 -2 -2 -4 -23 -4 -48 0 -25 4 -58 4 -75 1 -16 -3 -49 -3 -72 1
 | 
				
			||||||
 | 
					-23 3 -44 2 -45 -2 -2 -4 -24 -4 -50 0 -27 5 -49 6 -51 5z"/>
 | 
				
			||||||
 | 
					</g>
 | 
				
			||||||
 | 
					</svg>
 | 
				
			||||||
| 
		 After Width: | Height: | Size: 2.3 KiB  | 
							
								
								
									
										24
									
								
								src/@tanstack.react-table.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					/* eslint-disable @typescript-eslint/no-unused-vars */
 | 
				
			||||||
 | 
					import { BoxProps } from '@chakra-ui/react';
 | 
				
			||||||
 | 
					import '@tanstack/react-table';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					declare module '@tanstack/table-core' {
 | 
				
			||||||
 | 
					  interface ColumnMeta<TData extends RowData, TValue> {
 | 
				
			||||||
 | 
					    stopPropagation?: boolean;
 | 
				
			||||||
 | 
					    alwaysShow?: boolean;
 | 
				
			||||||
 | 
					    anchored?: boolean;
 | 
				
			||||||
 | 
					    hasPopover?: boolean;
 | 
				
			||||||
 | 
					    customMaxWidth?: string;
 | 
				
			||||||
 | 
					    customMinWidth?: string;
 | 
				
			||||||
 | 
					    customWidth?: string;
 | 
				
			||||||
 | 
					    isMonospace?: boolean;
 | 
				
			||||||
 | 
					    isCentered?: boolean;
 | 
				
			||||||
 | 
					    columnSelectorOptions?: {
 | 
				
			||||||
 | 
					      label?: string;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    headerOptions?: {
 | 
				
			||||||
 | 
					      tooltip?: string;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    headerStyleProps?: BoxProps;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										41
									
								
								src/App.js
									
									
									
									
									
								
							
							
						
						@@ -1,41 +0,0 @@
 | 
				
			|||||||
import React, { useEffect } from 'react';
 | 
					 | 
				
			||||||
import { HashRouter, Route, Switch } from 'react-router-dom';
 | 
					 | 
				
			||||||
import 'scss/style.scss';
 | 
					 | 
				
			||||||
import { useSelector, useDispatch } from 'react-redux';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const loading = (
 | 
					 | 
				
			||||||
  <div className="pt-3 text-center">
 | 
					 | 
				
			||||||
    <div className="sk-spinner sk-spinner-pulse" />
 | 
					 | 
				
			||||||
  </div>
 | 
					 | 
				
			||||||
);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const TheLayout = React.lazy(() => import('layout'));
 | 
					 | 
				
			||||||
const Login = React.lazy(() => import('pages/LoginPage'));
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const App = () => {
 | 
					 | 
				
			||||||
  const isLoggedIn = useSelector((state) => state.connected);
 | 
					 | 
				
			||||||
  const dispatch = useDispatch();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  useEffect(() => {
 | 
					 | 
				
			||||||
    const token = sessionStorage.getItem('access_token');
 | 
					 | 
				
			||||||
    if (token !== undefined && token !== null) {
 | 
					 | 
				
			||||||
      dispatch({ type: 'set', connected: true });
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }, [dispatch]);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  return (
 | 
					 | 
				
			||||||
    <HashRouter>
 | 
					 | 
				
			||||||
      <React.Suspense fallback={loading}>
 | 
					 | 
				
			||||||
        <Switch>
 | 
					 | 
				
			||||||
          <Route
 | 
					 | 
				
			||||||
            path="/"
 | 
					 | 
				
			||||||
            name="Devices"
 | 
					 | 
				
			||||||
            render={(props) => (isLoggedIn ? <TheLayout {...props} /> : <Login {...props} />)}
 | 
					 | 
				
			||||||
          />
 | 
					 | 
				
			||||||
        </Switch>
 | 
					 | 
				
			||||||
      </React.Suspense>
 | 
					 | 
				
			||||||
    </HashRouter>
 | 
					 | 
				
			||||||
  );
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export default App;
 | 
					 | 
				
			||||||
							
								
								
									
										45
									
								
								src/App.tsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,45 @@
 | 
				
			|||||||
 | 
					import React, { Suspense } from 'react';
 | 
				
			||||||
 | 
					import { Spinner } from '@chakra-ui/react';
 | 
				
			||||||
 | 
					import { QueryClientProvider, QueryClient } from '@tanstack/react-query';
 | 
				
			||||||
 | 
					import { HashRouter } from 'react-router-dom';
 | 
				
			||||||
 | 
					import { AuthProvider } from 'contexts/AuthProvider';
 | 
				
			||||||
 | 
					import { ControllerSocketProvider } from 'contexts/ControllerSocketProvider';
 | 
				
			||||||
 | 
					import { FirmwareSocketProvider } from 'contexts/FirmwareSocketProvider';
 | 
				
			||||||
 | 
					import { ProvisioningSocketProvider } from 'contexts/ProvisioningSocketProvider';
 | 
				
			||||||
 | 
					import { SecuritySocketProvider } from 'contexts/SecuritySocketProvider';
 | 
				
			||||||
 | 
					import Router from 'router';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const queryClient = new QueryClient({
 | 
				
			||||||
 | 
					  defaultOptions: {
 | 
				
			||||||
 | 
					    queries: {
 | 
				
			||||||
 | 
					      retry: 0,
 | 
				
			||||||
 | 
					      refetchOnWindowFocus: false,
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const App = () => {
 | 
				
			||||||
 | 
					  const storageToken = localStorage.getItem('access_token') ?? sessionStorage.getItem('access_token');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  return (
 | 
				
			||||||
 | 
					    <QueryClientProvider client={queryClient}>
 | 
				
			||||||
 | 
					      <HashRouter>
 | 
				
			||||||
 | 
					        <Suspense fallback={<Spinner />}>
 | 
				
			||||||
 | 
					          <AuthProvider token={storageToken !== null ? storageToken : undefined}>
 | 
				
			||||||
 | 
					            <SecuritySocketProvider>
 | 
				
			||||||
 | 
					              <FirmwareSocketProvider>
 | 
				
			||||||
 | 
					                <ProvisioningSocketProvider>
 | 
				
			||||||
 | 
					                  <ControllerSocketProvider>
 | 
				
			||||||
 | 
					                    <Router />
 | 
				
			||||||
 | 
					                  </ControllerSocketProvider>
 | 
				
			||||||
 | 
					                </ProvisioningSocketProvider>
 | 
				
			||||||
 | 
					              </FirmwareSocketProvider>
 | 
				
			||||||
 | 
					            </SecuritySocketProvider>
 | 
				
			||||||
 | 
					          </AuthProvider>
 | 
				
			||||||
 | 
					        </Suspense>
 | 
				
			||||||
 | 
					      </HashRouter>
 | 
				
			||||||
 | 
					    </QueryClientProvider>
 | 
				
			||||||
 | 
					  );
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default App;
 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.3 KiB  | 
| 
		 Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.3 KiB  | 
@@ -1,165 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					 | 
				
			||||||
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
 | 
					 | 
				
			||||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
 | 
					 | 
				
			||||||
	 viewBox="0 0 141.5 185.6" style="enable-background:new 0 0 141.5 185.6;" xml:space="preserve">
 | 
					 | 
				
			||||||
<style type="text/css">
 | 
					 | 
				
			||||||
	.st0{fill:#414141;}
 | 
					 | 
				
			||||||
	.st1{fill:#FFFFFF;}
 | 
					 | 
				
			||||||
	.st2{fill:#FED206;}
 | 
					 | 
				
			||||||
	.st3{fill:#EB6F53;}
 | 
					 | 
				
			||||||
	.st4{fill:#3BA9B6;}
 | 
					 | 
				
			||||||
</style>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
	<g>
 | 
					 | 
				
			||||||
		<path class="st0" d="M120.7,183.9H21.5c-10.8,0-19.5-8.7-19.5-19.5V20.5c0-10.8,8.7-19.5,19.5-19.5h99.2
 | 
					 | 
				
			||||||
			c10.8,0,19.5,8.7,19.5,19.5v143.9C140.2,175.2,131.5,183.9,120.7,183.9z"/>
 | 
					 | 
				
			||||||
		<g>
 | 
					 | 
				
			||||||
			<g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M46.3,166.2v-3.4h-1.2v-0.6h3.1v0.6H47v3.4H46.3z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M49,166.2v-4h2.7v0.6h-2v1h2v0.6h-2v1.1h2v0.6H49z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M52.6,166.2v-4h0.7v3.4h1.8v0.6H52.6z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M55.7,166.2v-4h2.7v0.6h-2v1h2v0.6h-2v1.1h2v0.6H55.7z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M59.1,164.2c0-1.2,0.9-2.1,2.1-2.1c0.8,0,1.3,0.4,1.6,0.9l-0.6,0.3c-0.2-0.3-0.6-0.6-1-0.6
 | 
					 | 
				
			||||||
						c-0.8,0-1.4,0.6-1.4,1.4c0,0.8,0.6,1.4,1.4,1.4c0.4,0,0.8-0.3,1-0.6l0.6,0.3c-0.3,0.5-0.8,0.9-1.6,0.9
 | 
					 | 
				
			||||||
						C60,166.3,59.1,165.5,59.1,164.2z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M63.2,164.2c0-1.2,0.8-2.1,2-2.1c1.2,0,2,0.9,2,2.1c0,1.2-0.8,2.1-2,2.1C64,166.3,63.2,165.4,63.2,164.2z
 | 
					 | 
				
			||||||
						 M66.5,164.2c0-0.8-0.5-1.4-1.3-1.4c-0.8,0-1.3,0.6-1.3,1.4c0,0.8,0.5,1.4,1.3,1.4C66,165.7,66.5,165,66.5,164.2z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M71.3,166.2v-3.1l-1.2,3.1h-0.3l-1.2-3.1v3.1h-0.7v-4h1l1.1,2.7l1.1-2.7h1v4H71.3z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M75.7,166.2v-4h0.7v4H75.7z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M80.4,166.2l-2.1-2.8v2.8h-0.7v-4h0.7l2,2.8v-2.8h0.7v4H80.4z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M82.3,166.2v-4H85v0.6h-2v1h2v0.6h-2v1.7H82.3z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M87.9,166.2l-0.9-1.5h-0.7v1.5h-0.7v-4h1.7c0.8,0,1.3,0.5,1.3,1.2c0,0.7-0.5,1.1-0.9,1.2l1,1.6H87.9z
 | 
					 | 
				
			||||||
						 M88,163.5c0-0.4-0.3-0.6-0.7-0.6h-1v1.3h1C87.7,164.1,88,163.9,88,163.5z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M92.4,166.2l-0.3-0.8h-1.8l-0.3,0.8h-0.8l1.6-4h0.9l1.6,4H92.4z M91.2,162.9l-0.7,1.9h1.4L91.2,162.9z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M95.8,166.2v-4h1.5c0.8,0,1.2,0.5,1.2,1.2c0,0.6-0.4,1.2-1.2,1.2h-1.2v1.7H95.8z M98.2,163.4
 | 
					 | 
				
			||||||
						c0-0.5-0.3-0.9-0.9-0.9h-1.1v1.7h1.1C97.8,164.3,98.2,163.9,98.2,163.4z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M101.5,166.2l-1.1-1.6h-0.9v1.6h-0.3v-4h1.5c0.7,0,1.2,0.4,1.2,1.2c0,0.7-0.5,1.1-1.1,1.1l1.2,1.7H101.5z
 | 
					 | 
				
			||||||
						 M101.6,163.4c0-0.5-0.4-0.9-0.9-0.9h-1.1v1.7h1.1C101.2,164.3,101.6,163.9,101.6,163.4z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M102.8,164.2c0-1.2,0.8-2.1,1.9-2.1c1.2,0,1.9,0.9,1.9,2.1c0,1.2-0.8,2.1-1.9,2.1
 | 
					 | 
				
			||||||
						C103.6,166.3,102.8,165.4,102.8,164.2z M106.3,164.2c0-1-0.6-1.7-1.6-1.7c-1,0-1.6,0.7-1.6,1.7c0,1,0.6,1.7,1.6,1.7
 | 
					 | 
				
			||||||
						C105.7,166,106.3,165.2,106.3,164.2z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M106.9,165.8l0.2-0.3c0.2,0.2,0.4,0.4,0.8,0.4c0.5,0,0.9-0.4,0.9-0.9v-2.8h0.3v2.8c0,0.8-0.5,1.2-1.2,1.2
 | 
					 | 
				
			||||||
						C107.5,166.3,107.2,166.1,106.9,165.8z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M110.4,166.2v-4h2.5v0.3h-2.2v1.5h2.1v0.3h-2.1v1.6h2.2v0.3H110.4z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M113.5,164.2c0-1.2,0.9-2.1,2-2.1c0.6,0,1.1,0.3,1.5,0.7l-0.3,0.2c-0.3-0.3-0.7-0.6-1.2-0.6
 | 
					 | 
				
			||||||
						c-0.9,0-1.7,0.7-1.7,1.7c0,1,0.7,1.7,1.7,1.7c0.5,0,0.9-0.2,1.2-0.6l0.3,0.2c-0.4,0.4-0.8,0.7-1.5,0.7
 | 
					 | 
				
			||||||
						C114.4,166.3,113.5,165.5,113.5,164.2z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st1" d="M118.7,166.2v-3.7h-1.3v-0.3h2.9v0.3H119v3.7H118.7z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
			</g>
 | 
					 | 
				
			||||||
			<g>
 | 
					 | 
				
			||||||
				<polygon class="st1" points="26.3,163.8 31.6,158.5 36.9,163.8 37.7,163.8 31.6,157.6 25.5,163.8 				"/>
 | 
					 | 
				
			||||||
				<polygon class="st1" points="36.9,164.7 31.6,170 26.3,164.7 25.5,164.7 31.6,170.8 37.7,164.7 				"/>
 | 
					 | 
				
			||||||
				<polygon class="st1" points="31,163.8 36.3,158.5 41.6,163.8 42.5,163.8 36.3,157.6 30.2,163.8 				"/>
 | 
					 | 
				
			||||||
				<polygon class="st1" points="41.6,164.7 36.3,170 31,164.7 30.2,164.7 36.3,170.8 42.5,164.7 				"/>
 | 
					 | 
				
			||||||
			</g>
 | 
					 | 
				
			||||||
		</g>
 | 
					 | 
				
			||||||
		<g>
 | 
					 | 
				
			||||||
			<path class="st1" d="M33.2,100.7c-4.6,0-8.3,3.7-8.3,8.3s3.7,8.3,8.3,8.3s8.3-3.7,8.3-8.3S37.8,100.7,33.2,100.7z"/>
 | 
					 | 
				
			||||||
		</g>
 | 
					 | 
				
			||||||
		<g>
 | 
					 | 
				
			||||||
			<g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st2" d="M33.2,35.2c40.7,0,73.8,33.1,73.8,73.8c0,0.7,0,1.4,0,2.1c0,1.7,0.6,3.3,1.7,4.6c1.2,1.2,2.8,1.9,4.5,2
 | 
					 | 
				
			||||||
						l0.2,0c3.5,0,6.3-2.7,6.4-6.2c0-0.8,0-1.7,0-2.5c0-47.7-38.8-86.6-86.6-86.6c-0.8,0-1.7,0-2.5,0c-1.7,0-3.3,0.8-4.5,2
 | 
					 | 
				
			||||||
						c-1.2,1.2-1.8,2.9-1.7,4.6c0.1,3.5,3,6.3,6.6,6.2C31.8,35.2,32.5,35.2,33.2,35.2z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
			</g>
 | 
					 | 
				
			||||||
		</g>
 | 
					 | 
				
			||||||
		<g>
 | 
					 | 
				
			||||||
			<g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st3" d="M33.2,60.5c26.7,0,48.5,21.7,48.5,48.5c0,0.6,0,1.3,0,2c-0.1,1.7,0.5,3.3,1.7,4.6c1.2,1.3,2.7,2,4.4,2.1
 | 
					 | 
				
			||||||
						c1.7,0.1,3.3-0.5,4.6-1.7c1.2-1.2,2-2.7,2-4.4c0-0.9,0.1-1.8,0.1-2.6c0-33.8-27.5-61.2-61.2-61.2c-0.8,0-1.6,0-2.6,0.1
 | 
					 | 
				
			||||||
						c-1.7,0.1-3.3,0.8-4.4,2.1c-1.2,1.3-1.8,2.9-1.7,4.6s0.8,3.3,2.1,4.4c1.3,1.2,2.9,1.8,4.6,1.7C31.9,60.5,32.6,60.5,33.2,60.5z"
 | 
					 | 
				
			||||||
						/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
			</g>
 | 
					 | 
				
			||||||
		</g>
 | 
					 | 
				
			||||||
		<g>
 | 
					 | 
				
			||||||
			<g>
 | 
					 | 
				
			||||||
				<g>
 | 
					 | 
				
			||||||
					<path class="st4" d="M33.2,86.7c12.3,0,22.3,10,22.3,22.3c0,0.5,0,1.1-0.1,1.8c-0.3,3.5,2.3,6.6,5.8,6.9
 | 
					 | 
				
			||||||
						c3.5,0.3,6.6-2.3,6.9-5.8c0.1-1,0.1-1.9,0.1-2.8c0-19.3-15.7-35.1-35.1-35.1c-0.9,0-1.8,0-2.8,0.1c-1.7,0.1-3.2,0.9-4.3,2.2
 | 
					 | 
				
			||||||
						c-1.1,1.3-1.6,2.9-1.5,4.6c0.1,1.7,0.9,3.2,2.2,4.3c1.3,1.1,2.9,1.6,4.6,1.5C32.1,86.7,32.7,86.7,33.2,86.7z"/>
 | 
					 | 
				
			||||||
				</g>
 | 
					 | 
				
			||||||
			</g>
 | 
					 | 
				
			||||||
		</g>
 | 
					 | 
				
			||||||
	</g>
 | 
					 | 
				
			||||||
	<g>
 | 
					 | 
				
			||||||
		<path class="st1" d="M35.8,130.4c1.1,0.6,2.1,1.5,2.7,2.6c0.7,1.1,1,2.3,1,3.7s-0.3,2.6-1,3.7c-0.7,1.1-1.6,2-2.7,2.6
 | 
					 | 
				
			||||||
			c-1.1,0.6-2.4,1-3.8,1s-2.7-0.3-3.8-1c-1.1-0.6-2.1-1.5-2.7-2.6c-0.7-1.1-1-2.3-1-3.7c0-1.3,0.3-2.6,1-3.7c0.7-1.1,1.6-2,2.7-2.6
 | 
					 | 
				
			||||||
			c1.1-0.6,2.4-0.9,3.8-0.9C33.4,129.5,34.7,129.8,35.8,130.4z M29.9,132.9c-0.7,0.4-1.2,0.9-1.6,1.6s-0.6,1.4-0.6,2.2
 | 
					 | 
				
			||||||
			c0,0.8,0.2,1.6,0.6,2.3c0.4,0.7,0.9,1.2,1.6,1.6c0.7,0.4,1.4,0.6,2.1,0.6c0.8,0,1.5-0.2,2.1-0.6c0.6-0.4,1.2-0.9,1.5-1.6
 | 
					 | 
				
			||||||
			c0.4-0.7,0.6-1.4,0.6-2.3c0-0.8-0.2-1.6-0.6-2.2s-0.9-1.2-1.5-1.6c-0.6-0.4-1.4-0.6-2.1-0.6C31.3,132.3,30.6,132.5,29.9,132.9z"/>
 | 
					 | 
				
			||||||
		<path class="st1" d="M50.6,133.6c0.8,0.5,1.4,1.1,1.8,2c0.4,0.8,0.6,1.8,0.6,2.9c0,1.1-0.2,2-0.6,2.8c-0.4,0.8-1,1.5-1.8,1.9
 | 
					 | 
				
			||||||
			c-0.8,0.5-1.6,0.7-2.6,0.7c-0.7,0-1.4-0.1-2-0.4s-1.1-0.7-1.5-1.2v5.4h-3.1V133h3.1v1.6c0.4-0.5,0.9-1,1.4-1.2s1.2-0.4,2-0.4
 | 
					 | 
				
			||||||
			C48.9,132.9,49.8,133.1,50.6,133.6z M49.1,140.5c0.5-0.6,0.7-1.3,0.7-2.2c0-0.9-0.2-1.6-0.7-2.1c-0.5-0.6-1.1-0.8-1.9-0.8
 | 
					 | 
				
			||||||
			s-1.4,0.3-1.9,0.8c-0.5,0.6-0.8,1.3-0.8,2.1c0,0.9,0.2,1.6,0.8,2.2s1.1,0.8,1.9,0.8S48.6,141,49.1,140.5z"/>
 | 
					 | 
				
			||||||
		<path class="st1" d="M63.4,134.4c0.9,1,1.4,2.4,1.4,4.2c0,0.3,0,0.6,0,0.7H57c0.2,0.7,0.5,1.2,1,1.6c0.5,0.4,1.1,0.6,1.8,0.6
 | 
					 | 
				
			||||||
			c0.5,0,1-0.1,1.5-0.3s0.9-0.5,1.3-0.9l1.6,1.6c-0.5,0.6-1.2,1.1-2,1.4c-0.8,0.3-1.6,0.5-2.6,0.5c-1.1,0-2.1-0.2-3-0.7
 | 
					 | 
				
			||||||
			s-1.5-1.1-2-1.9c-0.5-0.8-0.7-1.8-0.7-2.9c0-1.1,0.2-2.1,0.7-2.9s1.1-1.5,2-1.9c0.8-0.5,1.8-0.7,2.9-0.7
 | 
					 | 
				
			||||||
			C61.2,132.9,62.5,133.4,63.4,134.4z M61.8,137.5c0-0.7-0.3-1.3-0.7-1.7s-1-0.6-1.7-0.6c-0.7,0-1.2,0.2-1.7,0.6
 | 
					 | 
				
			||||||
			c-0.4,0.4-0.7,1-0.9,1.7H61.8z"/>
 | 
					 | 
				
			||||||
		<path class="st1" d="M76.2,134c0.7,0.7,1.1,1.7,1.1,3v6.8h-3.1v-5.9c0-0.7-0.2-1.2-0.6-1.6s-0.9-0.6-1.5-0.6
 | 
					 | 
				
			||||||
			c-0.8,0-1.4,0.3-1.8,0.8c-0.4,0.5-0.7,1.2-0.7,2v5.3h-3.1V133h3.1v1.9c0.7-1.3,2-2,3.7-2C74.6,132.8,75.5,133.2,76.2,134z"/>
 | 
					 | 
				
			||||||
		<path class="st1" d="M96,129.7h3.3l-4.7,14h-3.3l-2.9-10.1l-3,10.1h-3.2l-4.7-14h3.4l3,10.7l3-10.7H90l3.1,10.7L96,129.7z"/>
 | 
					 | 
				
			||||||
		<path class="st1" d="M103.3,128.7c0.3,0.3,0.5,0.7,0.5,1.2s-0.2,0.9-0.5,1.2c-0.3,0.3-0.7,0.5-1.2,0.5c-0.5,0-0.9-0.2-1.2-0.5
 | 
					 | 
				
			||||||
			c-0.3-0.3-0.5-0.7-0.5-1.2c0-0.5,0.2-0.9,0.5-1.2c0.3-0.3,0.7-0.5,1.2-0.5C102.6,128.2,103,128.3,103.3,128.7z M100.6,133h3.1
 | 
					 | 
				
			||||||
			v10.8h-3.1V133z"/>
 | 
					 | 
				
			||||||
		<path class="st1" d="M106.5,129.7h10.1l0,2.6h-6.9v3.4h6.3v2.6h-6.3v5.3h-3.2V129.7z"/>
 | 
					 | 
				
			||||||
		<path class="st1" d="M120.9,128.7c0.3,0.3,0.5,0.7,0.5,1.2s-0.2,0.9-0.5,1.2c-0.3,0.3-0.7,0.5-1.2,0.5c-0.5,0-0.9-0.2-1.2-0.5
 | 
					 | 
				
			||||||
			c-0.3-0.3-0.5-0.7-0.5-1.2c0-0.5,0.2-0.9,0.5-1.2c0.3-0.3,0.7-0.5,1.2-0.5C120.1,128.2,120.5,128.3,120.9,128.7z M118.1,133h3.1
 | 
					 | 
				
			||||||
			v10.8h-3.1V133z"/>
 | 
					 | 
				
			||||||
	</g>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
</svg>
 | 
					 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 8.0 KiB  | 
| 
		 Before Width: | Height: | Size: 24 KiB  | 
| 
		 Before Width: | Height: | Size: 24 KiB  | 
@@ -1,255 +0,0 @@
 | 
				
			|||||||
import {
 | 
					 | 
				
			||||||
  cibSkype,
 | 
					 | 
				
			||||||
  cibFacebook,
 | 
					 | 
				
			||||||
  cibTwitter,
 | 
					 | 
				
			||||||
  cibLinkedin,
 | 
					 | 
				
			||||||
  cibFlickr,
 | 
					 | 
				
			||||||
  cibTumblr,
 | 
					 | 
				
			||||||
  cibXing,
 | 
					 | 
				
			||||||
  cibGithub,
 | 
					 | 
				
			||||||
  cibStackoverflow,
 | 
					 | 
				
			||||||
  cibYoutube,
 | 
					 | 
				
			||||||
  cibDribbble,
 | 
					 | 
				
			||||||
  cibInstagram,
 | 
					 | 
				
			||||||
  cibPinterest,
 | 
					 | 
				
			||||||
  cibVk,
 | 
					 | 
				
			||||||
  cibYahoo,
 | 
					 | 
				
			||||||
  cibBehance,
 | 
					 | 
				
			||||||
  cibReddit,
 | 
					 | 
				
			||||||
  cibVimeo,
 | 
					 | 
				
			||||||
  cibCcMastercard,
 | 
					 | 
				
			||||||
  cibCcVisa,
 | 
					 | 
				
			||||||
  cibStripe,
 | 
					 | 
				
			||||||
  cibPaypal,
 | 
					 | 
				
			||||||
  cibGooglePay,
 | 
					 | 
				
			||||||
  cibCcAmex,
 | 
					 | 
				
			||||||
  cifUs,
 | 
					 | 
				
			||||||
  cifBr,
 | 
					 | 
				
			||||||
  cifIn,
 | 
					 | 
				
			||||||
  cifFr,
 | 
					 | 
				
			||||||
  cifEs,
 | 
					 | 
				
			||||||
  cifPl,
 | 
					 | 
				
			||||||
  cilAlignCenter,
 | 
					 | 
				
			||||||
  cilAlignLeft,
 | 
					 | 
				
			||||||
  cilAlignRight,
 | 
					 | 
				
			||||||
  cilApplicationsSettings,
 | 
					 | 
				
			||||||
  cilArrowRight,
 | 
					 | 
				
			||||||
  cilArrowTop,
 | 
					 | 
				
			||||||
  cilAsterisk,
 | 
					 | 
				
			||||||
  cilBan,
 | 
					 | 
				
			||||||
  cilBasket,
 | 
					 | 
				
			||||||
  cilBell,
 | 
					 | 
				
			||||||
  cilBold,
 | 
					 | 
				
			||||||
  cilBookmark,
 | 
					 | 
				
			||||||
  cilCalculator,
 | 
					 | 
				
			||||||
  cilCalendar,
 | 
					 | 
				
			||||||
  cilCloudDownload,
 | 
					 | 
				
			||||||
  cilChartPie,
 | 
					 | 
				
			||||||
  cilCheck,
 | 
					 | 
				
			||||||
  cilChevronBottom,
 | 
					 | 
				
			||||||
  cilChevronLeft,
 | 
					 | 
				
			||||||
  cilChevronRight,
 | 
					 | 
				
			||||||
  cilChevronTop,
 | 
					 | 
				
			||||||
  cilCircle,
 | 
					 | 
				
			||||||
  cilCheckCircle,
 | 
					 | 
				
			||||||
  cilCode,
 | 
					 | 
				
			||||||
  cilCommentSquare,
 | 
					 | 
				
			||||||
  cilCreditCard,
 | 
					 | 
				
			||||||
  cilCursor,
 | 
					 | 
				
			||||||
  cilCursorMove,
 | 
					 | 
				
			||||||
  cilDrop,
 | 
					 | 
				
			||||||
  cilDollar,
 | 
					 | 
				
			||||||
  cilEnvelopeClosed,
 | 
					 | 
				
			||||||
  cilEnvelopeLetter,
 | 
					 | 
				
			||||||
  cilEnvelopeOpen,
 | 
					 | 
				
			||||||
  cilEuro,
 | 
					 | 
				
			||||||
  cilGlobeAlt,
 | 
					 | 
				
			||||||
  cilGrid,
 | 
					 | 
				
			||||||
  cilFile,
 | 
					 | 
				
			||||||
  cilFullscreen,
 | 
					 | 
				
			||||||
  cilFullscreenExit,
 | 
					 | 
				
			||||||
  cilGraph,
 | 
					 | 
				
			||||||
  cilHome,
 | 
					 | 
				
			||||||
  cilInbox,
 | 
					 | 
				
			||||||
  cilIndentDecrease,
 | 
					 | 
				
			||||||
  cilIndentIncrease,
 | 
					 | 
				
			||||||
  cilInputPower,
 | 
					 | 
				
			||||||
  cilItalic,
 | 
					 | 
				
			||||||
  cilJustifyCenter,
 | 
					 | 
				
			||||||
  cilJustifyLeft,
 | 
					 | 
				
			||||||
  cilLaptop,
 | 
					 | 
				
			||||||
  cilLayers,
 | 
					 | 
				
			||||||
  cilLightbulb,
 | 
					 | 
				
			||||||
  cilList,
 | 
					 | 
				
			||||||
  cilListNumbered,
 | 
					 | 
				
			||||||
  cilListRich,
 | 
					 | 
				
			||||||
  cilLocationPin,
 | 
					 | 
				
			||||||
  cilLockLocked,
 | 
					 | 
				
			||||||
  cilMagnifyingGlass,
 | 
					 | 
				
			||||||
  cilMap,
 | 
					 | 
				
			||||||
  cilMoon,
 | 
					 | 
				
			||||||
  cilNotes,
 | 
					 | 
				
			||||||
  cilOptions,
 | 
					 | 
				
			||||||
  cilPaperclip,
 | 
					 | 
				
			||||||
  cilPaperPlane,
 | 
					 | 
				
			||||||
  cilPencil,
 | 
					 | 
				
			||||||
  cilPeople,
 | 
					 | 
				
			||||||
  cilPhone,
 | 
					 | 
				
			||||||
  cilPrint,
 | 
					 | 
				
			||||||
  cilPuzzle,
 | 
					 | 
				
			||||||
  cilRouter,
 | 
					 | 
				
			||||||
  cilSave,
 | 
					 | 
				
			||||||
  cilScrubber,
 | 
					 | 
				
			||||||
  cilSettings,
 | 
					 | 
				
			||||||
  cilShare,
 | 
					 | 
				
			||||||
  cilShareAll,
 | 
					 | 
				
			||||||
  cilShareBoxed,
 | 
					 | 
				
			||||||
  cilShieldAlt,
 | 
					 | 
				
			||||||
  cilSpeech,
 | 
					 | 
				
			||||||
  cilSpeedometer,
 | 
					 | 
				
			||||||
  cilSpreadsheet,
 | 
					 | 
				
			||||||
  cilStar,
 | 
					 | 
				
			||||||
  cilSun,
 | 
					 | 
				
			||||||
  cilTags,
 | 
					 | 
				
			||||||
  cilTask,
 | 
					 | 
				
			||||||
  cilTrash,
 | 
					 | 
				
			||||||
  cilUnderline,
 | 
					 | 
				
			||||||
  cilUser,
 | 
					 | 
				
			||||||
  cilUserFemale,
 | 
					 | 
				
			||||||
  cilUserFollow,
 | 
					 | 
				
			||||||
  cilUserUnfollow,
 | 
					 | 
				
			||||||
  cilX,
 | 
					 | 
				
			||||||
  cilXCircle,
 | 
					 | 
				
			||||||
  cilWarning,
 | 
					 | 
				
			||||||
} from '@coreui/icons';
 | 
					 | 
				
			||||||
import { sygnet } from './sygnet';
 | 
					 | 
				
			||||||
import { logo } from './logo';
 | 
					 | 
				
			||||||
import { logoNegative } from './logo-negative';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export const icons = {
 | 
					 | 
				
			||||||
  sygnet,
 | 
					 | 
				
			||||||
  logo,
 | 
					 | 
				
			||||||
  logoNegative,
 | 
					 | 
				
			||||||
  cilAlignCenter,
 | 
					 | 
				
			||||||
  cilAlignLeft,
 | 
					 | 
				
			||||||
  cilAlignRight,
 | 
					 | 
				
			||||||
  cilApplicationsSettings,
 | 
					 | 
				
			||||||
  cilArrowRight,
 | 
					 | 
				
			||||||
  cilArrowTop,
 | 
					 | 
				
			||||||
  cilAsterisk,
 | 
					 | 
				
			||||||
  cilBan,
 | 
					 | 
				
			||||||
  cilBasket,
 | 
					 | 
				
			||||||
  cilBell,
 | 
					 | 
				
			||||||
  cilBold,
 | 
					 | 
				
			||||||
  cilBookmark,
 | 
					 | 
				
			||||||
  cilCalculator,
 | 
					 | 
				
			||||||
  cilCalendar,
 | 
					 | 
				
			||||||
  cilCloudDownload,
 | 
					 | 
				
			||||||
  cilChartPie,
 | 
					 | 
				
			||||||
  cilCheck,
 | 
					 | 
				
			||||||
  cilChevronBottom,
 | 
					 | 
				
			||||||
  cilChevronLeft,
 | 
					 | 
				
			||||||
  cilChevronRight,
 | 
					 | 
				
			||||||
  cilChevronTop,
 | 
					 | 
				
			||||||
  cilCircle,
 | 
					 | 
				
			||||||
  cilCheckCircle,
 | 
					 | 
				
			||||||
  cilCode,
 | 
					 | 
				
			||||||
  cilCommentSquare,
 | 
					 | 
				
			||||||
  cilCreditCard,
 | 
					 | 
				
			||||||
  cilCursor,
 | 
					 | 
				
			||||||
  cilCursorMove,
 | 
					 | 
				
			||||||
  cilDrop,
 | 
					 | 
				
			||||||
  cilDollar,
 | 
					 | 
				
			||||||
  cilEnvelopeClosed,
 | 
					 | 
				
			||||||
  cilEnvelopeLetter,
 | 
					 | 
				
			||||||
  cilEnvelopeOpen,
 | 
					 | 
				
			||||||
  cilEuro,
 | 
					 | 
				
			||||||
  cilGlobeAlt,
 | 
					 | 
				
			||||||
  cilGrid,
 | 
					 | 
				
			||||||
  cilFile,
 | 
					 | 
				
			||||||
  cilFullscreen,
 | 
					 | 
				
			||||||
  cilFullscreenExit,
 | 
					 | 
				
			||||||
  cilGraph,
 | 
					 | 
				
			||||||
  cilHome,
 | 
					 | 
				
			||||||
  cilInbox,
 | 
					 | 
				
			||||||
  cilIndentDecrease,
 | 
					 | 
				
			||||||
  cilIndentIncrease,
 | 
					 | 
				
			||||||
  cilInputPower,
 | 
					 | 
				
			||||||
  cilItalic,
 | 
					 | 
				
			||||||
  cilJustifyCenter,
 | 
					 | 
				
			||||||
  cilJustifyLeft,
 | 
					 | 
				
			||||||
  cilLaptop,
 | 
					 | 
				
			||||||
  cilLayers,
 | 
					 | 
				
			||||||
  cilLightbulb,
 | 
					 | 
				
			||||||
  cilList,
 | 
					 | 
				
			||||||
  cilListNumbered,
 | 
					 | 
				
			||||||
  cilListRich,
 | 
					 | 
				
			||||||
  cilLocationPin,
 | 
					 | 
				
			||||||
  cilLockLocked,
 | 
					 | 
				
			||||||
  cilMagnifyingGlass,
 | 
					 | 
				
			||||||
  cilMap,
 | 
					 | 
				
			||||||
  cilMoon,
 | 
					 | 
				
			||||||
  cilNotes,
 | 
					 | 
				
			||||||
  cilOptions,
 | 
					 | 
				
			||||||
  cilPaperclip,
 | 
					 | 
				
			||||||
  cilPaperPlane,
 | 
					 | 
				
			||||||
  cilPencil,
 | 
					 | 
				
			||||||
  cilPeople,
 | 
					 | 
				
			||||||
  cilPhone,
 | 
					 | 
				
			||||||
  cilPrint,
 | 
					 | 
				
			||||||
  cilPuzzle,
 | 
					 | 
				
			||||||
  cilRouter,
 | 
					 | 
				
			||||||
  cilSave,
 | 
					 | 
				
			||||||
  cilScrubber,
 | 
					 | 
				
			||||||
  cilSettings,
 | 
					 | 
				
			||||||
  cilShare,
 | 
					 | 
				
			||||||
  cilShareAll,
 | 
					 | 
				
			||||||
  cilShareBoxed,
 | 
					 | 
				
			||||||
  cilShieldAlt,
 | 
					 | 
				
			||||||
  cilSpeech,
 | 
					 | 
				
			||||||
  cilSpeedometer,
 | 
					 | 
				
			||||||
  cilSpreadsheet,
 | 
					 | 
				
			||||||
  cilStar,
 | 
					 | 
				
			||||||
  cilSun,
 | 
					 | 
				
			||||||
  cilTags,
 | 
					 | 
				
			||||||
  cilTask,
 | 
					 | 
				
			||||||
  cilTrash,
 | 
					 | 
				
			||||||
  cilUnderline,
 | 
					 | 
				
			||||||
  cilUser,
 | 
					 | 
				
			||||||
  cilUserFemale,
 | 
					 | 
				
			||||||
  cilUserFollow,
 | 
					 | 
				
			||||||
  cilUserUnfollow,
 | 
					 | 
				
			||||||
  cilX,
 | 
					 | 
				
			||||||
  cilXCircle,
 | 
					 | 
				
			||||||
  cilWarning,
 | 
					 | 
				
			||||||
  cifUs,
 | 
					 | 
				
			||||||
  cifBr,
 | 
					 | 
				
			||||||
  cifIn,
 | 
					 | 
				
			||||||
  cifFr,
 | 
					 | 
				
			||||||
  cifEs,
 | 
					 | 
				
			||||||
  cifPl,
 | 
					 | 
				
			||||||
  cibSkype,
 | 
					 | 
				
			||||||
  cibFacebook,
 | 
					 | 
				
			||||||
  cibTwitter,
 | 
					 | 
				
			||||||
  cibLinkedin,
 | 
					 | 
				
			||||||
  cibFlickr,
 | 
					 | 
				
			||||||
  cibTumblr,
 | 
					 | 
				
			||||||
  cibXing,
 | 
					 | 
				
			||||||
  cibGithub,
 | 
					 | 
				
			||||||
  cibStackoverflow,
 | 
					 | 
				
			||||||
  cibYoutube,
 | 
					 | 
				
			||||||
  cibDribbble,
 | 
					 | 
				
			||||||
  cibInstagram,
 | 
					 | 
				
			||||||
  cibPinterest,
 | 
					 | 
				
			||||||
  cibVk,
 | 
					 | 
				
			||||||
  cibYahoo,
 | 
					 | 
				
			||||||
  cibBehance,
 | 
					 | 
				
			||||||
  cibReddit,
 | 
					 | 
				
			||||||
  cibVimeo,
 | 
					 | 
				
			||||||
  cibCcMastercard,
 | 
					 | 
				
			||||||
  cibCcVisa,
 | 
					 | 
				
			||||||
  cibStripe,
 | 
					 | 
				
			||||||
  cibPaypal,
 | 
					 | 
				
			||||||
  cibGooglePay,
 | 
					 | 
				
			||||||
  cibCcAmex,
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
@@ -1,33 +0,0 @@
 | 
				
			|||||||
export const logoNegative = [
 | 
					 | 
				
			||||||
  '608 134',
 | 
					 | 
				
			||||||
  `
 | 
					 | 
				
			||||||
  <title>coreui react pro logo</title>
 | 
					 | 
				
			||||||
  <g>
 | 
					 | 
				
			||||||
    <g style="fill:#80d0ff;">
 | 
					 | 
				
			||||||
      <path d="M362.0177,90.1512,353.25,69.4149a.2507.2507,0,0,0-.2559-.1914H343.01a.2263.2263,0,0,0-.2559.2559V90.0233a.5657.5657,0,0,1-.64.64h-1.2163a.5652.5652,0,0,1-.64-.64V46.5028a.5655.5655,0,0,1,.64-.64H353.442a9.9792,9.9792,0,0,1,7.7437,3.2324A12.2,12.2,0,0,1,364.13,57.64a12.4389,12.4389,0,0,1-2.24,7.584,9.37,9.37,0,0,1-6.08,3.7441c-.1709.086-.2139.1915-.128.3194l8.7041,20.6084.064.2558q0,.5127-.5757.5118h-1.1523A.703.703,0,0,1,362.0177,90.1512ZM342.754,48.3593v18.496a.2259.2259,0,0,0,.2559.2559h10.3037a7.6713,7.6713,0,0,0,6.0166-2.5918,9.8807,9.8807,0,0,0,2.3037-6.8164,10.2875,10.2875,0,0,0-2.272-6.9756,7.6033,7.6033,0,0,0-6.0483-2.624H343.01A.2263.2263,0,0,0,342.754,48.3593Z"/>
 | 
					 | 
				
			||||||
      <path d="M401.3263,48.1034H381.2945a.2262.2262,0,0,0-.2558.2559v18.496a.2259.2259,0,0,0,.2558.2559h13.8238a.5664.5664,0,0,1,.6406.64v.96a.5663.5663,0,0,1-.6406.6406H381.2945a.2263.2263,0,0,0-.2558.2559v18.56a.2258.2258,0,0,0,.2558.2558h20.0318a.5671.5671,0,0,1,.6406.6407v.96a.566.566,0,0,1-.6406.64H379.1827a.5653.5653,0,0,1-.64-.64V46.5028a.5656.5656,0,0,1,.64-.64h22.1436a.5664.5664,0,0,1,.6406.64v.96A.5663.5663,0,0,1,401.3263,48.1034Z"/>
 | 
					 | 
				
			||||||
      <path d="M439.047,90.1512l-2.4317-8.832a.2971.2971,0,0,0-.32-.1924H419.5274a.2957.2957,0,0,0-.32.1924l-2.3681,8.7676a.6577.6577,0,0,1-.7036.5762H414.919a.5385.5385,0,0,1-.5756-.7041l12.0317-43.584a.6436.6436,0,0,1,.7041-.5117h1.6a.6442.6442,0,0,1,.7041.5117l12.16,43.584.0644.1923q0,.5127-.64.5118h-1.2163A.6428.6428,0,0,1,439.047,90.1512ZM419.9435,78.9188a.3031.3031,0,0,0,.2236.0967h15.4883a.3048.3048,0,0,0,.2236-.0967c.0645-.0635.0742-.1162.0322-.1592l-7.872-28.9287c-.043-.0849-.086-.1279-.128-.1279s-.0859.043-.1279.1279L419.9112,78.76C419.8683,78.8026,419.879,78.8553,419.9435,78.9188Z"/>
 | 
					 | 
				
			||||||
      <path d="M456.6017,87.911a11.6372,11.6372,0,0,1-3.3277-8.7041V57.1913a11.4158,11.4158,0,0,1,3.36-8.5762,12.0941,12.0941,0,0,1,8.8-3.2637,12.2566,12.2566,0,0,1,8.8643,3.2315,11.3927,11.3927,0,0,1,3.36,8.6084v.64a.5663.5663,0,0,1-.6406.6407l-1.28.0634q-.6408,0-.64-.5761v-.8321a9.289,9.289,0,0,0-2.6558-6.9121,10.6734,10.6734,0,0,0-14.0161,0,9.2854,9.2854,0,0,0-2.6563,6.9121V79.3993a9.2808,9.2808,0,0,0,2.6563,6.9121,10.67,10.67,0,0,0,14.0161,0,9.2843,9.2843,0,0,0,2.6558-6.9121v-.7686q0-.5757.64-.5752l1.28.0635a.5667.5667,0,0,1,.6406.6406v.5118a11.4952,11.4952,0,0,1-3.36,8.64,13.6227,13.6227,0,0,1-17.6963,0Z"/>
 | 
					 | 
				
			||||||
      <path d="M514.4376,46.5028v.96a.5658.5658,0,0,1-.64.6406H503.046a.2263.2263,0,0,0-.2559.2559v41.664a.566.566,0,0,1-.6406.64h-1.2158a.5652.5652,0,0,1-.64-.64V48.3593a.2266.2266,0,0,0-.2558-.2559H489.8619a.5656.5656,0,0,1-.64-.6406v-.96a.5656.5656,0,0,1,.64-.64H513.798A.5658.5658,0,0,1,514.4376,46.5028Z"/>
 | 
					 | 
				
			||||||
      <path d="M522.0665,89.5116a2.8385,2.8385,0,0,1-.8-2.0488,2.9194,2.9194,0,0,1,.8-2.1114,2.7544,2.7544,0,0,1,2.08-.832,2.8465,2.8465,0,0,1,2.9438,2.9434,2.7541,2.7541,0,0,1-.832,2.08,2.9221,2.9221,0,0,1-2.1118.8008A2.754,2.754,0,0,1,522.0665,89.5116Z"/>
 | 
					 | 
				
			||||||
      <path d="M542.4054,88.0077a11.3123,11.3123,0,0,1-3.2-8.416v-5.44a.5656.5656,0,0,1,.64-.64h1.2158a.5661.5661,0,0,1,.64.64v5.5039a9.1424,9.1424,0,0,0,2.5283,6.72,8.9745,8.9745,0,0,0,6.6875,2.5605,8.7908,8.7908,0,0,0,9.28-9.28V46.5028a.5655.5655,0,0,1,.64-.64h1.2163a.566.566,0,0,1,.64.64V79.5917a11.2545,11.2545,0,0,1-3.2325,8.416,13.0618,13.0618,0,0,1-17.0556,0Z"/>
 | 
					 | 
				
			||||||
      <path d="M580.35,88.1034a10.4859,10.4859,0,0,1-3.36-8.1279v-1.792a.5663.5663,0,0,1,.64-.6407h1.0884a.5668.5668,0,0,1,.64.6407v1.6a8.5459,8.5459,0,0,0,2.752,6.6562,10.5353,10.5353,0,0,0,7.36,2.4961,9.8719,9.8719,0,0,0,6.9761-2.3681,8.2161,8.2161,0,0,0,2.56-6.336,8.4,8.4,0,0,0-1.12-4.416,11.3812,11.3812,0,0,0-3.3281-3.3926,71.6714,71.6714,0,0,0-6.1763-3.7119,71.0479,71.0479,0,0,1-6.24-3.84,12.1711,12.1711,0,0,1-3.4238-3.68,10.2614,10.2614,0,0,1-1.28-5.3438,9.8579,9.8579,0,0,1,3.0718-7.7441,12.0122,12.0122,0,0,1,8.32-2.752q5.6954,0,8.96,3.1036a10.8251,10.8251,0,0,1,3.2642,8.2246v1.6a.5658.5658,0,0,1-.64.64h-1.1519a.5652.5652,0,0,1-.64-.64V56.8075a8.8647,8.8647,0,0,0-2.624-6.6885,9.9933,9.9933,0,0,0-7.232-2.5273,9.37,9.37,0,0,0-6.5278,2.1435,7.8224,7.8224,0,0,0-2.3682,6.1123,7.8006,7.8006,0,0,0,1.0244,4.16,10.387,10.387,0,0,0,3.0078,3.0391,62.8714,62.8714,0,0,0,5.9522,3.4882,71.0575,71.0575,0,0,1,6.72,4.2559,13.4674,13.4674,0,0,1,3.648,3.9365,10.049,10.049,0,0,1,1.28,5.1836,10.7177,10.7177,0,0,1-3.2637,8.1924q-3.2637,3.0717-8.832,3.0723Q583.71,91.1757,580.35,88.1034Z"/>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <g style="fill:#fff;">
 | 
					 | 
				
			||||||
      <g>
 | 
					 | 
				
			||||||
        <path d="M99.835,36.0577l-39-22.5167a12,12,0,0,0-12,0l-39,22.5166a12.0339,12.0339,0,0,0-6,10.3924V91.4833a12.0333,12.0333,0,0,0,6,10.3923l39,22.5167a12,12,0,0,0,12,0l39-22.5167a12.0331,12.0331,0,0,0,6-10.3923V46.45A12.0334,12.0334,0,0,0,99.835,36.0577Zm-2,55.4256a4,4,0,0,1-2,3.4641l-39,22.5167a4.0006,4.0006,0,0,1-4,0l-39-22.5167a4,4,0,0,1-2-3.4641V46.45a4,4,0,0,1,2-3.4642l39-22.5166a4,4,0,0,1,4,0l39,22.5166a4,4,0,0,1,2,3.4642Z"/>
 | 
					 | 
				
			||||||
        <path d="M77.8567,82.0046h-2.866a4,4,0,0,0-1.9247.4934L55.7852,91.9833,35.835,80.4648V57.4872l19.95-11.5185,17.2893,9.4549a3.9993,3.9993,0,0,0,1.9192.4906h2.8632a2,2,0,0,0,2-2V51.2024a2,2,0,0,0-1.04-1.7547L59.628,38.9521a8.0391,8.0391,0,0,0-7.8428.09L31.8346,50.56a8.0246,8.0246,0,0,0-4,6.9287v22.976a8,8,0,0,0,4,6.9283l19.95,11.5186a8.0429,8.0429,0,0,0,7.8433.0879l19.19-10.5312a2,2,0,0,0,1.0378-1.7533v-2.71A2,2,0,0,0,77.8567,82.0046Z"/>
 | 
					 | 
				
			||||||
      </g>
 | 
					 | 
				
			||||||
      <g>
 | 
					 | 
				
			||||||
        <path d="M172.58,45.3618a15.0166,15.0166,0,0,0-15,14.9995V77.6387a15,15,0,0,0,30,0V60.3613A15.0166,15.0166,0,0,0,172.58,45.3618Zm7,32.2769a7,7,0,0,1-14,0V60.3613a7,7,0,0,1,14,0Z"/>
 | 
					 | 
				
			||||||
        <path d="M135.9138,53.4211a7.01,7.01,0,0,1,7.8681,6.0752.9894.9894,0,0,0,.9843.865h6.03a1.0108,1.0108,0,0,0,.9987-1.0971,15.0182,15.0182,0,0,0-15.7162-13.8837,15.2881,15.2881,0,0,0-14.2441,15.4163V77.2037A15.288,15.288,0,0,0,136.0792,92.62a15.0183,15.0183,0,0,0,15.7162-13.8842,1.0107,1.0107,0,0,0-.9987-1.0971h-6.03a.9894.9894,0,0,0-.9843.865,7.01,7.01,0,0,1-7.8679,6.0757,7.1642,7.1642,0,0,1-6.0789-7.1849V60.6057A7.1638,7.1638,0,0,1,135.9138,53.4211Z"/>
 | 
					 | 
				
			||||||
        <path d="M218.7572,72.9277a12.1585,12.1585,0,0,0,7.1843-11.0771V58.1494A12.1494,12.1494,0,0,0,213.7921,46H196.835a1,1,0,0,0-1,1V91a1,1,0,0,0,1,1h6a1,1,0,0,0,1-1V74h6.6216l7.9154,17.4138a1,1,0,0,0,.91.5862h6.5911a1,1,0,0,0,.91-1.4138Zm-.8157-11.0771A4.1538,4.1538,0,0,1,213.7926,66h-9.8511V54h9.8511a4.1538,4.1538,0,0,1,4.1489,4.1494Z"/>
 | 
					 | 
				
			||||||
        <path d="M260.835,46h-26a1,1,0,0,0-1,1V91a1,1,0,0,0,1,1h26a1,1,0,0,0,1-1V85a1,1,0,0,0-1-1h-19V72h13a1,1,0,0,0,1-1V65a1,1,0,0,0-1-1h-13V54h19a1,1,0,0,0,1-1V47A1,1,0,0,0,260.835,46Z"/>
 | 
					 | 
				
			||||||
        <path d="M298.835,46h-6a1,1,0,0,0-1,1V69.6475a7.0066,7.0066,0,1,1-14,0V47a1,1,0,0,0-1-1h-6a1,1,0,0,0-1,1V69.6475a15.0031,15.0031,0,1,0,30,0V47A1,1,0,0,0,298.835,46Z"/>
 | 
					 | 
				
			||||||
        <rect x="307.835" y="46" width="8" height="38" rx="1"/>
 | 
					 | 
				
			||||||
      </g>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
  </g>
 | 
					 | 
				
			||||||
`,
 | 
					 | 
				
			||||||
];
 | 
					 | 
				
			||||||
@@ -1,32 +0,0 @@
 | 
				
			|||||||
export const logo = [
 | 
					 | 
				
			||||||
  '608 134',
 | 
					 | 
				
			||||||
  `
 | 
					 | 
				
			||||||
  <title>coreui react pro</title>
 | 
					 | 
				
			||||||
  <g>
 | 
					 | 
				
			||||||
    <g style="fill:#00a1ff">
 | 
					 | 
				
			||||||
      <path d="M362.0177,90.1512,353.25,69.4149a.2507.2507,0,0,0-.2559-.1914H343.01a.2263.2263,0,0,0-.2559.2559V90.0233a.5657.5657,0,0,1-.64.64h-1.2163a.5652.5652,0,0,1-.64-.64V46.5028a.5655.5655,0,0,1,.64-.64H353.442a9.9792,9.9792,0,0,1,7.7437,3.2324A12.2,12.2,0,0,1,364.13,57.64a12.4389,12.4389,0,0,1-2.24,7.584,9.37,9.37,0,0,1-6.08,3.7441c-.1709.086-.2139.1915-.128.3194l8.7041,20.6084.064.2558q0,.5127-.5757.5118h-1.1523A.703.703,0,0,1,362.0177,90.1512ZM342.754,48.3593v18.496a.2259.2259,0,0,0,.2559.2559h10.3037a7.6713,7.6713,0,0,0,6.0166-2.5918,9.8807,9.8807,0,0,0,2.3037-6.8164,10.2875,10.2875,0,0,0-2.272-6.9756,7.6033,7.6033,0,0,0-6.0483-2.624H343.01A.2263.2263,0,0,0,342.754,48.3593Z"/>
 | 
					 | 
				
			||||||
      <path d="M401.3263,48.1034H381.2945a.2262.2262,0,0,0-.2558.2559v18.496a.2259.2259,0,0,0,.2558.2559h13.8238a.5664.5664,0,0,1,.6406.64v.96a.5663.5663,0,0,1-.6406.6406H381.2945a.2263.2263,0,0,0-.2558.2559v18.56a.2258.2258,0,0,0,.2558.2558h20.0318a.5671.5671,0,0,1,.6406.6407v.96a.566.566,0,0,1-.6406.64H379.1827a.5653.5653,0,0,1-.64-.64V46.5028a.5656.5656,0,0,1,.64-.64h22.1436a.5664.5664,0,0,1,.6406.64v.96A.5663.5663,0,0,1,401.3263,48.1034Z"/>
 | 
					 | 
				
			||||||
      <path d="M439.047,90.1512l-2.4317-8.832a.2971.2971,0,0,0-.32-.1924H419.5274a.2957.2957,0,0,0-.32.1924l-2.3681,8.7676a.6577.6577,0,0,1-.7036.5762H414.919a.5385.5385,0,0,1-.5756-.7041l12.0317-43.584a.6436.6436,0,0,1,.7041-.5117h1.6a.6442.6442,0,0,1,.7041.5117l12.16,43.584.0644.1923q0,.5127-.64.5118h-1.2163A.6428.6428,0,0,1,439.047,90.1512ZM419.9435,78.9188a.3031.3031,0,0,0,.2236.0967h15.4883a.3048.3048,0,0,0,.2236-.0967c.0645-.0635.0742-.1162.0322-.1592l-7.872-28.9287c-.043-.0849-.086-.1279-.128-.1279s-.0859.043-.1279.1279L419.9112,78.76C419.8683,78.8026,419.879,78.8553,419.9435,78.9188Z"/>
 | 
					 | 
				
			||||||
      <path d="M456.6017,87.911a11.6372,11.6372,0,0,1-3.3277-8.7041V57.1913a11.4158,11.4158,0,0,1,3.36-8.5762,12.0941,12.0941,0,0,1,8.8-3.2637,12.2566,12.2566,0,0,1,8.8643,3.2315,11.3927,11.3927,0,0,1,3.36,8.6084v.64a.5663.5663,0,0,1-.6406.6407l-1.28.0634q-.6408,0-.64-.5761v-.8321a9.289,9.289,0,0,0-2.6558-6.9121,10.6734,10.6734,0,0,0-14.0161,0,9.2854,9.2854,0,0,0-2.6563,6.9121V79.3993a9.2808,9.2808,0,0,0,2.6563,6.9121,10.67,10.67,0,0,0,14.0161,0,9.2843,9.2843,0,0,0,2.6558-6.9121v-.7686q0-.5757.64-.5752l1.28.0635a.5667.5667,0,0,1,.6406.6406v.5118a11.4952,11.4952,0,0,1-3.36,8.64,13.6227,13.6227,0,0,1-17.6963,0Z"/>
 | 
					 | 
				
			||||||
      <path d="M514.4376,46.5028v.96a.5658.5658,0,0,1-.64.6406H503.046a.2263.2263,0,0,0-.2559.2559v41.664a.566.566,0,0,1-.6406.64h-1.2158a.5652.5652,0,0,1-.64-.64V48.3593a.2266.2266,0,0,0-.2558-.2559H489.8619a.5656.5656,0,0,1-.64-.6406v-.96a.5656.5656,0,0,1,.64-.64H513.798A.5658.5658,0,0,1,514.4376,46.5028Z"/>
 | 
					 | 
				
			||||||
      <path d="M522.0665,89.5116a2.8385,2.8385,0,0,1-.8-2.0488,2.9194,2.9194,0,0,1,.8-2.1114,2.7544,2.7544,0,0,1,2.08-.832,2.8465,2.8465,0,0,1,2.9438,2.9434,2.7541,2.7541,0,0,1-.832,2.08,2.9221,2.9221,0,0,1-2.1118.8008A2.754,2.754,0,0,1,522.0665,89.5116Z"/>
 | 
					 | 
				
			||||||
      <path d="M542.4054,88.0077a11.3123,11.3123,0,0,1-3.2-8.416v-5.44a.5656.5656,0,0,1,.64-.64h1.2158a.5661.5661,0,0,1,.64.64v5.5039a9.1424,9.1424,0,0,0,2.5283,6.72,8.9745,8.9745,0,0,0,6.6875,2.5605,8.7908,8.7908,0,0,0,9.28-9.28V46.5028a.5655.5655,0,0,1,.64-.64h1.2163a.566.566,0,0,1,.64.64V79.5917a11.2545,11.2545,0,0,1-3.2325,8.416,13.0618,13.0618,0,0,1-17.0556,0Z"/>
 | 
					 | 
				
			||||||
      <path d="M580.35,88.1034a10.4859,10.4859,0,0,1-3.36-8.1279v-1.792a.5663.5663,0,0,1,.64-.6407h1.0884a.5668.5668,0,0,1,.64.6407v1.6a8.5459,8.5459,0,0,0,2.752,6.6562,10.5353,10.5353,0,0,0,7.36,2.4961,9.8719,9.8719,0,0,0,6.9761-2.3681,8.2161,8.2161,0,0,0,2.56-6.336,8.4,8.4,0,0,0-1.12-4.416,11.3812,11.3812,0,0,0-3.3281-3.3926,71.6714,71.6714,0,0,0-6.1763-3.7119,71.0479,71.0479,0,0,1-6.24-3.84,12.1711,12.1711,0,0,1-3.4238-3.68,10.2614,10.2614,0,0,1-1.28-5.3438,9.8579,9.8579,0,0,1,3.0718-7.7441,12.0122,12.0122,0,0,1,8.32-2.752q5.6954,0,8.96,3.1036a10.8251,10.8251,0,0,1,3.2642,8.2246v1.6a.5658.5658,0,0,1-.64.64h-1.1519a.5652.5652,0,0,1-.64-.64V56.8075a8.8647,8.8647,0,0,0-2.624-6.6885,9.9933,9.9933,0,0,0-7.232-2.5273,9.37,9.37,0,0,0-6.5278,2.1435,7.8224,7.8224,0,0,0-2.3682,6.1123,7.8006,7.8006,0,0,0,1.0244,4.16,10.387,10.387,0,0,0,3.0078,3.0391,62.8714,62.8714,0,0,0,5.9522,3.4882,71.0575,71.0575,0,0,1,6.72,4.2559,13.4674,13.4674,0,0,1,3.648,3.9365,10.049,10.049,0,0,1,1.28,5.1836,10.7177,10.7177,0,0,1-3.2637,8.1924q-3.2637,3.0717-8.832,3.0723Q583.71,91.1757,580.35,88.1034Z"/>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
    <g style="fill:#3c4b64">
 | 
					 | 
				
			||||||
      <g>
 | 
					 | 
				
			||||||
        <path d="M99.835,36.0577l-39-22.5167a12,12,0,0,0-12,0l-39,22.5166a12.0339,12.0339,0,0,0-6,10.3924V91.4833a12.0333,12.0333,0,0,0,6,10.3923l39,22.5167a12,12,0,0,0,12,0l39-22.5167a12.0331,12.0331,0,0,0,6-10.3923V46.45A12.0334,12.0334,0,0,0,99.835,36.0577Zm-2,55.4256a4,4,0,0,1-2,3.4641l-39,22.5167a4.0006,4.0006,0,0,1-4,0l-39-22.5167a4,4,0,0,1-2-3.4641V46.45a4,4,0,0,1,2-3.4642l39-22.5166a4,4,0,0,1,4,0l39,22.5166a4,4,0,0,1,2,3.4642Z"/>
 | 
					 | 
				
			||||||
        <path d="M77.8567,82.0046h-2.866a4,4,0,0,0-1.9247.4934L55.7852,91.9833,35.835,80.4648V57.4872l19.95-11.5185,17.2893,9.4549a3.9993,3.9993,0,0,0,1.9192.4906h2.8632a2,2,0,0,0,2-2V51.2024a2,2,0,0,0-1.04-1.7547L59.628,38.9521a8.0391,8.0391,0,0,0-7.8428.09L31.8346,50.56a8.0246,8.0246,0,0,0-4,6.9287v22.976a8,8,0,0,0,4,6.9283l19.95,11.5186a8.0429,8.0429,0,0,0,7.8433.0879l19.19-10.5312a2,2,0,0,0,1.0378-1.7533v-2.71A2,2,0,0,0,77.8567,82.0046Z"/>
 | 
					 | 
				
			||||||
      </g>
 | 
					 | 
				
			||||||
      <g>
 | 
					 | 
				
			||||||
        <path d="M172.58,45.3618a15.0166,15.0166,0,0,0-15,14.9995V77.6387a15,15,0,0,0,30,0V60.3613A15.0166,15.0166,0,0,0,172.58,45.3618Zm7,32.2769a7,7,0,0,1-14,0V60.3613a7,7,0,0,1,14,0Z"/>
 | 
					 | 
				
			||||||
        <path d="M135.9138,53.4211a7.01,7.01,0,0,1,7.8681,6.0752.9894.9894,0,0,0,.9843.865h6.03a1.0108,1.0108,0,0,0,.9987-1.0971,15.0182,15.0182,0,0,0-15.7162-13.8837,15.2881,15.2881,0,0,0-14.2441,15.4163V77.2037A15.288,15.288,0,0,0,136.0792,92.62a15.0183,15.0183,0,0,0,15.7162-13.8842,1.0107,1.0107,0,0,0-.9987-1.0971h-6.03a.9894.9894,0,0,0-.9843.865,7.01,7.01,0,0,1-7.8679,6.0757,7.1642,7.1642,0,0,1-6.0789-7.1849V60.6057A7.1638,7.1638,0,0,1,135.9138,53.4211Z"/>
 | 
					 | 
				
			||||||
        <path d="M218.7572,72.9277a12.1585,12.1585,0,0,0,7.1843-11.0771V58.1494A12.1494,12.1494,0,0,0,213.7921,46H196.835a1,1,0,0,0-1,1V91a1,1,0,0,0,1,1h6a1,1,0,0,0,1-1V74h6.6216l7.9154,17.4138a1,1,0,0,0,.91.5862h6.5911a1,1,0,0,0,.91-1.4138Zm-.8157-11.0771A4.1538,4.1538,0,0,1,213.7926,66h-9.8511V54h9.8511a4.1538,4.1538,0,0,1,4.1489,4.1494Z"/>
 | 
					 | 
				
			||||||
        <path d="M260.835,46h-26a1,1,0,0,0-1,1V91a1,1,0,0,0,1,1h26a1,1,0,0,0,1-1V85a1,1,0,0,0-1-1h-19V72h13a1,1,0,0,0,1-1V65a1,1,0,0,0-1-1h-13V54h19a1,1,0,0,0,1-1V47A1,1,0,0,0,260.835,46Z"/>
 | 
					 | 
				
			||||||
        <path d="M298.835,46h-6a1,1,0,0,0-1,1V69.6475a7.0066,7.0066,0,1,1-14,0V47a1,1,0,0,0-1-1h-6a1,1,0,0,0-1,1V69.6475a15.0031,15.0031,0,1,0,30,0V47A1,1,0,0,0,298.835,46Z"/>
 | 
					 | 
				
			||||||
        <rect x="307.835" y="46" width="8" height="38" rx="1"/>
 | 
					 | 
				
			||||||
      </g>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
  </g>
 | 
					 | 
				
			||||||
`,
 | 
					 | 
				
			||||||
];
 | 
					 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 3.6 KiB  | 
@@ -1,12 +0,0 @@
 | 
				
			|||||||
export const sygnet = [
 | 
					 | 
				
			||||||
  '160 160',
 | 
					 | 
				
			||||||
  `
 | 
					 | 
				
			||||||
  <title>coreui logo</title>
 | 
					 | 
				
			||||||
  <g>
 | 
					 | 
				
			||||||
    <g style="fill:#fff;">
 | 
					 | 
				
			||||||
      <path d="M125,47.091,86,24.5743a12,12,0,0,0-12,0L35,47.091a12.0336,12.0336,0,0,0-6,10.3923v45.0334a12.0335,12.0335,0,0,0,6,10.3923l39,22.5166a11.9993,11.9993,0,0,0,12,0l39-22.5166a12.0335,12.0335,0,0,0,6-10.3923V57.4833A12.0336,12.0336,0,0,0,125,47.091Zm-2,55.4257a4,4,0,0,1-2,3.464L82,128.4974a4,4,0,0,1-4,0L39,105.9807a4,4,0,0,1-2-3.464V57.4833a4,4,0,0,1,2-3.4641L78,31.5025a4,4,0,0,1,4,0l39,22.5167a4,4,0,0,1,2,3.4641Z"/>
 | 
					 | 
				
			||||||
      <path d="M103.0216,93.0379h-2.866a4,4,0,0,0-1.9246.4935L80.95,103.0167,61,91.4981V68.5206L80.95,57.002l17.2894,9.455a4,4,0,0,0,1.9192.4905h2.8632a2,2,0,0,0,2-2V62.2357a2,2,0,0,0-1.04-1.7547L84.793,49.9854a8.0391,8.0391,0,0,0-7.8428.09L57,61.5929A8.0243,8.0243,0,0,0,53,68.5216v22.976a8,8,0,0,0,4,6.9283l19.95,11.5185a8.0422,8.0422,0,0,0,7.8433.0879l19.19-10.5311a2,2,0,0,0,1.0378-1.7534v-2.71A2,2,0,0,0,103.0216,93.0379Z"/>
 | 
					 | 
				
			||||||
    </g>
 | 
					 | 
				
			||||||
  </g>
 | 
					 | 
				
			||||||
`,
 | 
					 | 
				
			||||||
];
 | 
					 | 
				
			||||||
@@ -1,225 +0,0 @@
 | 
				
			|||||||
import {
 | 
					 | 
				
			||||||
  CButton,
 | 
					 | 
				
			||||||
  CModal,
 | 
					 | 
				
			||||||
  CModalHeader,
 | 
					 | 
				
			||||||
  CModalTitle,
 | 
					 | 
				
			||||||
  CModalBody,
 | 
					 | 
				
			||||||
  CModalFooter,
 | 
					 | 
				
			||||||
  CSpinner,
 | 
					 | 
				
			||||||
  CCol,
 | 
					 | 
				
			||||||
  CRow,
 | 
					 | 
				
			||||||
  CForm,
 | 
					 | 
				
			||||||
  CFormGroup,
 | 
					 | 
				
			||||||
  CInputRadio,
 | 
					 | 
				
			||||||
  CLabel,
 | 
					 | 
				
			||||||
} from '@coreui/react';
 | 
					 | 
				
			||||||
import React, { useState, useEffect } from 'react';
 | 
					 | 
				
			||||||
import { useTranslation } from 'react-i18next';
 | 
					 | 
				
			||||||
import DatePicker from 'react-widgets/DatePicker';
 | 
					 | 
				
			||||||
import PropTypes from 'prop-types';
 | 
					 | 
				
			||||||
import { useSelector } from 'react-redux';
 | 
					 | 
				
			||||||
import { convertDateFromUtc, convertDateToUtc, dateToUnix } from 'utils/helper';
 | 
					 | 
				
			||||||
import 'react-widgets/styles.css';
 | 
					 | 
				
			||||||
import { getToken } from 'utils/authHelper';
 | 
					 | 
				
			||||||
import axiosInstance from 'utils/axiosInstance';
 | 
					 | 
				
			||||||
import eventBus from 'utils/eventBus';
 | 
					 | 
				
			||||||
import SuccessfulActionModalBody from 'components/SuccessfulActionModalBody';
 | 
					 | 
				
			||||||
import LoadingButton from 'components/LoadingButton';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import styles from './index.module.scss';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const BlinkModal = ({ show, toggleModal }) => {
 | 
					 | 
				
			||||||
  const { t } = useTranslation();
 | 
					 | 
				
			||||||
  const [hadSuccess, setHadSuccess] = useState(false);
 | 
					 | 
				
			||||||
  const [hadFailure, setHadFailure] = useState(false);
 | 
					 | 
				
			||||||
  const [doingNow, setDoingNow] = useState(false);
 | 
					 | 
				
			||||||
  const [waiting, setWaiting] = useState(false);
 | 
					 | 
				
			||||||
  const [chosenDate, setChosenDate] = useState(new Date().toString());
 | 
					 | 
				
			||||||
  const [chosenPattern, setPattern] = useState('on');
 | 
					 | 
				
			||||||
  const [responseBody, setResponseBody] = useState('');
 | 
					 | 
				
			||||||
  const selectedDeviceId = useSelector((state) => state.selectedDeviceId);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  const setDateToLate = () => {
 | 
					 | 
				
			||||||
    const date = convertDateToUtc(new Date());
 | 
					 | 
				
			||||||
    if (date.getHours() >= 3) {
 | 
					 | 
				
			||||||
      date.setDate(date.getDate() + 1);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    date.setHours(3);
 | 
					 | 
				
			||||||
    date.setMinutes(0);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    setChosenDate(convertDateFromUtc(date).toString());
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  const setDate = (date) => {
 | 
					 | 
				
			||||||
    if (date) {
 | 
					 | 
				
			||||||
      setChosenDate(date.toString());
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  useEffect(() => {
 | 
					 | 
				
			||||||
    if (show) {
 | 
					 | 
				
			||||||
      setWaiting(false);
 | 
					 | 
				
			||||||
      setChosenDate(new Date().toString());
 | 
					 | 
				
			||||||
      setResponseBody('');
 | 
					 | 
				
			||||||
      setPattern('on');
 | 
					 | 
				
			||||||
      setDoingNow(false);
 | 
					 | 
				
			||||||
      setHadSuccess(false);
 | 
					 | 
				
			||||||
      setHadFailure(false);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }, [show]);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  const doAction = (isNow) => {
 | 
					 | 
				
			||||||
    if (isNow !== undefined) setDoingNow(isNow);
 | 
					 | 
				
			||||||
    setHadFailure(false);
 | 
					 | 
				
			||||||
    setHadSuccess(false);
 | 
					 | 
				
			||||||
    setWaiting(true);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    const token = getToken();
 | 
					 | 
				
			||||||
    const utcDate = new Date(chosenDate);
 | 
					 | 
				
			||||||
    const utcDateString = utcDate.toISOString();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    const parameters = {
 | 
					 | 
				
			||||||
      serialNumber: selectedDeviceId,
 | 
					 | 
				
			||||||
      when: isNow ? 0 : dateToUnix(utcDateString),
 | 
					 | 
				
			||||||
      pattern: chosenPattern,
 | 
					 | 
				
			||||||
      duration: 30,
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    const headers = {
 | 
					 | 
				
			||||||
      Accept: 'application/json',
 | 
					 | 
				
			||||||
      Authorization: `Bearer ${token}`,
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    axiosInstance
 | 
					 | 
				
			||||||
      .post(`/device/${encodeURIComponent(selectedDeviceId)}/leds`, parameters, { headers })
 | 
					 | 
				
			||||||
      .then(() => {
 | 
					 | 
				
			||||||
        setHadSuccess(true);
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
      .catch(() => {
 | 
					 | 
				
			||||||
        setResponseBody('Error while submitting command!');
 | 
					 | 
				
			||||||
        setHadFailure(true);
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
      .finally(() => {
 | 
					 | 
				
			||||||
        setDoingNow(false);
 | 
					 | 
				
			||||||
        setWaiting(false);
 | 
					 | 
				
			||||||
        eventBus.dispatch('actionCompleted', { message: 'An action has been completed' });
 | 
					 | 
				
			||||||
      });
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  return (
 | 
					 | 
				
			||||||
    <CModal show={show} onClose={toggleModal}>
 | 
					 | 
				
			||||||
      <CModalHeader closeButton>
 | 
					 | 
				
			||||||
        <CModalTitle>{t('blink.device_leds')}</CModalTitle>
 | 
					 | 
				
			||||||
      </CModalHeader>
 | 
					 | 
				
			||||||
      {hadSuccess ? (
 | 
					 | 
				
			||||||
        <SuccessfulActionModalBody toggleModal={toggleModal} />
 | 
					 | 
				
			||||||
      ) : (
 | 
					 | 
				
			||||||
        <div>
 | 
					 | 
				
			||||||
          <CModalBody>
 | 
					 | 
				
			||||||
            <h6>{t('blink.when_blink_leds')}</h6>
 | 
					 | 
				
			||||||
            <CRow className={styles.spacedRow}>
 | 
					 | 
				
			||||||
              <CCol>
 | 
					 | 
				
			||||||
                <CButton onClick={() => doAction(true)} disabled={waiting} block color="primary">
 | 
					 | 
				
			||||||
                  {waiting && doingNow ? t('common.loading_ellipsis') : t('common.do_now')}
 | 
					 | 
				
			||||||
                  <CSpinner
 | 
					 | 
				
			||||||
                    color="light"
 | 
					 | 
				
			||||||
                    hidden={!waiting || !doingNow}
 | 
					 | 
				
			||||||
                    component="span"
 | 
					 | 
				
			||||||
                    size="sm"
 | 
					 | 
				
			||||||
                  />
 | 
					 | 
				
			||||||
                </CButton>
 | 
					 | 
				
			||||||
              </CCol>
 | 
					 | 
				
			||||||
              <CCol>
 | 
					 | 
				
			||||||
                <CButton disabled={waiting} block color="primary" onClick={setDateToLate}>
 | 
					 | 
				
			||||||
                  {t('common.later_tonight')}
 | 
					 | 
				
			||||||
                </CButton>
 | 
					 | 
				
			||||||
              </CCol>
 | 
					 | 
				
			||||||
            </CRow>
 | 
					 | 
				
			||||||
            <CRow className={styles.spacedRow}>
 | 
					 | 
				
			||||||
              <CCol md="4" className={styles.spacedDate}>
 | 
					 | 
				
			||||||
                <p>{t('common.date')}</p>
 | 
					 | 
				
			||||||
              </CCol>
 | 
					 | 
				
			||||||
              <CCol xs="12" md="8">
 | 
					 | 
				
			||||||
                <DatePicker
 | 
					 | 
				
			||||||
                  selected={new Date(chosenDate)}
 | 
					 | 
				
			||||||
                  includeTime
 | 
					 | 
				
			||||||
                  value={new Date(chosenDate)}
 | 
					 | 
				
			||||||
                  placeholder="Select custom date"
 | 
					 | 
				
			||||||
                  disabled={waiting}
 | 
					 | 
				
			||||||
                  onChange={(date) => setDate(date)}
 | 
					 | 
				
			||||||
                  min={convertDateToUtc(new Date())}
 | 
					 | 
				
			||||||
                />
 | 
					 | 
				
			||||||
              </CCol>
 | 
					 | 
				
			||||||
            </CRow>
 | 
					 | 
				
			||||||
            <CRow className={styles.spacedRow}>
 | 
					 | 
				
			||||||
              <CCol md="7">{t('blink.pattern')}</CCol>
 | 
					 | 
				
			||||||
              <CCol>
 | 
					 | 
				
			||||||
                <CForm>
 | 
					 | 
				
			||||||
                  <CFormGroup variant="checkbox" onClick={() => setPattern('on')}>
 | 
					 | 
				
			||||||
                    <CInputRadio
 | 
					 | 
				
			||||||
                      defaultChecked={chosenPattern === 'on'}
 | 
					 | 
				
			||||||
                      id="radio1"
 | 
					 | 
				
			||||||
                      name="radios"
 | 
					 | 
				
			||||||
                      value="option1"
 | 
					 | 
				
			||||||
                    />
 | 
					 | 
				
			||||||
                    <CLabel variant="checkbox" htmlFor="radio1">
 | 
					 | 
				
			||||||
                      {t('common.on')}
 | 
					 | 
				
			||||||
                    </CLabel>
 | 
					 | 
				
			||||||
                  </CFormGroup>
 | 
					 | 
				
			||||||
                  <CFormGroup variant="checkbox" onClick={() => setPattern('off')}>
 | 
					 | 
				
			||||||
                    <CInputRadio
 | 
					 | 
				
			||||||
                      defaultChecked={chosenPattern === 'off'}
 | 
					 | 
				
			||||||
                      id="radio2"
 | 
					 | 
				
			||||||
                      name="radios"
 | 
					 | 
				
			||||||
                      value="option2"
 | 
					 | 
				
			||||||
                    />
 | 
					 | 
				
			||||||
                    <CLabel variant="checkbox" htmlFor="radio2">
 | 
					 | 
				
			||||||
                      {t('common.off')}
 | 
					 | 
				
			||||||
                    </CLabel>
 | 
					 | 
				
			||||||
                  </CFormGroup>
 | 
					 | 
				
			||||||
                  <CFormGroup variant="checkbox" onClick={() => setPattern('blink')}>
 | 
					 | 
				
			||||||
                    <CInputRadio
 | 
					 | 
				
			||||||
                      defaultChecked={chosenPattern === 'blink'}
 | 
					 | 
				
			||||||
                      id="radio3"
 | 
					 | 
				
			||||||
                      name="radios"
 | 
					 | 
				
			||||||
                      value="option3"
 | 
					 | 
				
			||||||
                    />
 | 
					 | 
				
			||||||
                    <CLabel variant="checkbox" htmlFor="radio3">
 | 
					 | 
				
			||||||
                      {t('blink.blink')}
 | 
					 | 
				
			||||||
                    </CLabel>
 | 
					 | 
				
			||||||
                  </CFormGroup>
 | 
					 | 
				
			||||||
                </CForm>
 | 
					 | 
				
			||||||
              </CCol>
 | 
					 | 
				
			||||||
            </CRow>
 | 
					 | 
				
			||||||
            <div hidden={!hadSuccess && !hadFailure}>
 | 
					 | 
				
			||||||
              <div>
 | 
					 | 
				
			||||||
                <pre className="ignore">{responseBody}</pre>
 | 
					 | 
				
			||||||
              </div>
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
          </CModalBody>
 | 
					 | 
				
			||||||
          <CModalFooter>
 | 
					 | 
				
			||||||
            <LoadingButton
 | 
					 | 
				
			||||||
              label={t('common.schedule')}
 | 
					 | 
				
			||||||
              isLoadingLabel={t('common.loading_ellipsis')}
 | 
					 | 
				
			||||||
              isLoading={waiting && !doingNow}
 | 
					 | 
				
			||||||
              action={doAction}
 | 
					 | 
				
			||||||
              variant="outline"
 | 
					 | 
				
			||||||
              block={false}
 | 
					 | 
				
			||||||
              disabled={waiting}
 | 
					 | 
				
			||||||
            />
 | 
					 | 
				
			||||||
            <CButton color="secondary" onClick={toggleModal}>
 | 
					 | 
				
			||||||
              {t('common.cancel')}
 | 
					 | 
				
			||||||
            </CButton>
 | 
					 | 
				
			||||||
          </CModalFooter>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
      )}
 | 
					 | 
				
			||||||
    </CModal>
 | 
					 | 
				
			||||||
  );
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
BlinkModal.propTypes = {
 | 
					 | 
				
			||||||
  show: PropTypes.bool.isRequired,
 | 
					 | 
				
			||||||
  toggleModal: PropTypes.func.isRequired,
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export default BlinkModal;
 | 
					 | 
				
			||||||