/*! Select2 4.0.1-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Hapuskan "+t+" huruf"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Masukkan "+t+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(e){return"Anda hanya dapat memilih "+e.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})();!function(){var r=CryptoJS,h=r.lib.WordArray;r.enc.Base64={stringify:function(r){var a=r.words,t=r.sigBytes,n=this._map;r.clamp(),r=[];for(var i=0;i>>2]>>>24-i%4*8&255)<<16|(a[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|a[i+2>>>2]>>>24-(i+2)%4*8&255,f=0;f<4&&i+.75*f>>6*(3-f)&63));if(a=n.charAt(64))for(;r.length%4;)r.push(a);return r.join("")},parse:function(r){var a=r.length,t=this._map;!(n=t.charAt(64))||-1!=(n=r.indexOf(n))&&(a=n);for(var n=[],i=0,e=0;e>>6-e%4*2;n[i>>>2]|=(f|c)<<24-i%4*8,i++}return h.create(n,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}();/*! * imagesLoaded PACKAGED v4.1.0 * JavaScript is all like "You images are done yet or what?" * MIT License */ /** * EvEmitter v1.0.1 * Lil' event emitter * MIT License */ /* jshint unused: true, undef: true, strict: true */ ( function( global, factory ) { // universal module definition /* jshint strict: false */ /* globals define, module */ if ( typeof define == 'function' && define.amd ) { // AMD - RequireJS define( 'ev-emitter/ev-emitter',factory ); } else if ( typeof module == 'object' && module.exports ) { // CommonJS - Browserify, Webpack module.exports = factory(); } else { // Browser globals global.EvEmitter = factory(); } }( this, function() { function EvEmitter() {} var proto = EvEmitter.prototype; proto.on = function( eventName, listener ) { if ( !eventName || !listener ) { return; } // set events hash var events = this._events = this._events || {}; // set listeners array var listeners = events[ eventName ] = events[ eventName ] || []; // only add once if ( listeners.indexOf( listener ) == -1 ) { listeners.push( listener ); } return this; }; proto.once = function( eventName, listener ) { if ( !eventName || !listener ) { return; } // add event this.on( eventName, listener ); // set once flag // set onceEvents hash var onceEvents = this._onceEvents = this._onceEvents || {}; // set onceListeners array var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || []; // set flag onceListeners[ listener ] = true; return this; }; proto.off = function( eventName, listener ) { var listeners = this._events && this._events[ eventName ]; if ( !listeners || !listeners.length ) { return; } var index = listeners.indexOf( listener ); if ( index != -1 ) { listeners.splice( index, 1 ); } return this; }; proto.emitEvent = function( eventName, args ) { var listeners = this._events && this._events[ eventName ]; if ( !listeners || !listeners.length ) { return; } var i = 0; var listener = listeners[i]; args = args || []; // once stuff var onceListeners = this._onceEvents && this._onceEvents[ eventName ]; while ( listener ) { var isOnce = onceListeners && onceListeners[ listener ]; if ( isOnce ) { // remove listener // remove before trigger to prevent recursion this.off( eventName, listener ); // unset once flag delete onceListeners[ listener ]; } // trigger listener listener.apply( this, args ); // get next listener i += isOnce ? 0 : 1; listener = listeners[i]; } return this; }; return EvEmitter; })); /*! * imagesLoaded v4.1.0 * JavaScript is all like "You images are done yet or what?" * MIT License */ ( function( window, factory ) { 'use strict'; // universal module definition /*global define: false, module: false, require: false */ if ( typeof define == 'function' && define.amd ) { // AMD define( [ 'ev-emitter/ev-emitter' ], function( EvEmitter ) { return factory( window, EvEmitter ); }); } else if ( typeof module == 'object' && module.exports ) { // CommonJS module.exports = factory( window, require('ev-emitter') ); } else { // browser global window.imagesLoaded = factory( window, window.EvEmitter ); } })( window, // -------------------------- factory -------------------------- // function factory( window, EvEmitter ) { var $ = window.jQuery; var console = window.console; // -------------------------- helpers -------------------------- // // extend objects function extend( a, b ) { for ( var prop in b ) { a[ prop ] = b[ prop ]; } return a; } // turn element or nodeList into an array function makeArray( obj ) { var ary = []; if ( Array.isArray( obj ) ) { // use object if already an array ary = obj; } else if ( typeof obj.length == 'number' ) { // convert nodeList to array for ( var i=0; i < obj.length; i++ ) { ary.push( obj[i] ); } } else { // array of single index ary.push( obj ); } return ary; } // -------------------------- imagesLoaded -------------------------- // /** * @param {Array, Element, NodeList, String} elem * @param {Object or Function} options - if function, use as callback * @param {Function} onAlways - callback function */ function ImagesLoaded( elem, options, onAlways ) { // coerce ImagesLoaded() without new, to be new ImagesLoaded() if ( !( this instanceof ImagesLoaded ) ) { return new ImagesLoaded( elem, options, onAlways ); } // use elem as selector string if ( typeof elem == 'string' ) { elem = document.querySelectorAll( elem ); } this.elements = makeArray( elem ); this.options = extend( {}, this.options ); if ( typeof options == 'function' ) { onAlways = options; } else { extend( this.options, options ); } if ( onAlways ) { this.on( 'always', onAlways ); } this.getImages(); if ( $ ) { // add jQuery Deferred object this.jqDeferred = new $.Deferred(); } // HACK check async to allow time to bind listeners setTimeout( function() { this.check(); }.bind( this )); } ImagesLoaded.prototype = Object.create( EvEmitter.prototype ); ImagesLoaded.prototype.options = {}; ImagesLoaded.prototype.getImages = function() { this.images = []; // filter & find items if we have an item selector this.elements.forEach( this.addElementImages, this ); }; /** * @param {Node} element */ ImagesLoaded.prototype.addElementImages = function( elem ) { // filter siblings if ( elem.nodeName == 'IMG' ) { this.addImage( elem ); } // get background image on element if ( this.options.background === true ) { this.addElementBackgroundImages( elem ); } // find children // no non-element nodes, #143 var nodeType = elem.nodeType; if ( !nodeType || !elementNodeTypes[ nodeType ] ) { return; } var childImgs = elem.querySelectorAll('img'); // concat childElems to filterFound array for ( var i=0; i < childImgs.length; i++ ) { var img = childImgs[i]; this.addImage( img ); } // get child background images if ( typeof this.options.background == 'string' ) { var children = elem.querySelectorAll( this.options.background ); for ( i=0; i < children.length; i++ ) { var child = children[i]; this.addElementBackgroundImages( child ); } } }; var elementNodeTypes = { 1: true, 9: true, 11: true }; ImagesLoaded.prototype.addElementBackgroundImages = function( elem ) { var style = getComputedStyle( elem ); if ( !style ) { // Firefox returns null if in a hidden iframe https://bugzil.la/548397 return; } // get url inside url("...") var reURL = /url\((['"])?(.*?)\1\)/gi; var matches = reURL.exec( style.backgroundImage ); while ( matches !== null ) { var url = matches && matches[2]; if ( url ) { this.addBackground( url, elem ); } matches = reURL.exec( style.backgroundImage ); } }; /** * @param {Image} img */ ImagesLoaded.prototype.addImage = function( img ) { var loadingImage = new LoadingImage( img ); this.images.push( loadingImage ); }; ImagesLoaded.prototype.addBackground = function( url, elem ) { var background = new Background( url, elem ); this.images.push( background ); }; ImagesLoaded.prototype.check = function() { var _this = this; this.progressedCount = 0; this.hasAnyBroken = false; // complete if no images if ( !this.images.length ) { this.complete(); return; } function onProgress( image, elem, message ) { // HACK - Chrome triggers event before object properties have changed. #83 setTimeout( function() { _this.progress( image, elem, message ); }); } this.images.forEach( function( loadingImage ) { loadingImage.once( 'progress', onProgress ); loadingImage.check(); }); }; ImagesLoaded.prototype.progress = function( image, elem, message ) { this.progressedCount++; this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded; // progress event this.emitEvent( 'progress', [ this, image, elem ] ); if ( this.jqDeferred && this.jqDeferred.notify ) { this.jqDeferred.notify( this, image ); } // check if completed if ( this.progressedCount == this.images.length ) { this.complete(); } if ( this.options.debug && console ) { console.log( 'progress: ' + message, image, elem ); } }; ImagesLoaded.prototype.complete = function() { var eventName = this.hasAnyBroken ? 'fail' : 'done'; this.isComplete = true; this.emitEvent( eventName, [ this ] ); this.emitEvent( 'always', [ this ] ); if ( this.jqDeferred ) { var jqMethod = this.hasAnyBroken ? 'reject' : 'resolve'; this.jqDeferred[ jqMethod ]( this ); } }; // -------------------------- -------------------------- // function LoadingImage( img ) { this.img = img; } LoadingImage.prototype = Object.create( EvEmitter.prototype ); LoadingImage.prototype.check = function() { // If complete is true and browser supports natural sizes, // try to check for image status manually. var isComplete = this.getIsImageComplete(); if ( isComplete ) { // report based on naturalWidth this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' ); return; } // If none of the checks above matched, simulate loading on detached element. this.proxyImage = new Image(); this.proxyImage.addEventListener( 'load', this ); this.proxyImage.addEventListener( 'error', this ); // bind to image as well for Firefox. #191 this.img.addEventListener( 'load', this ); this.img.addEventListener( 'error', this ); this.proxyImage.src = this.img.src; }; LoadingImage.prototype.getIsImageComplete = function() { return this.img.complete && this.img.naturalWidth !== undefined; }; LoadingImage.prototype.confirm = function( isLoaded, message ) { this.isLoaded = isLoaded; this.emitEvent( 'progress', [ this, this.img, message ] ); }; // ----- events ----- // // trigger specified handler for event type LoadingImage.prototype.handleEvent = function( event ) { var method = 'on' + event.type; if ( this[ method ] ) { this[ method ]( event ); } }; LoadingImage.prototype.onload = function() { this.confirm( true, 'onload' ); this.unbindEvents(); }; LoadingImage.prototype.onerror = function() { this.confirm( false, 'onerror' ); this.unbindEvents(); }; LoadingImage.prototype.unbindEvents = function() { this.proxyImage.removeEventListener( 'load', this ); this.proxyImage.removeEventListener( 'error', this ); this.img.removeEventListener( 'load', this ); this.img.removeEventListener( 'error', this ); }; // -------------------------- Background -------------------------- // function Background( url, element ) { this.url = url; this.element = element; this.img = new Image(); } // inherit LoadingImage prototype Background.prototype = Object.create( LoadingImage.prototype ); Background.prototype.check = function() { this.img.addEventListener( 'load', this ); this.img.addEventListener( 'error', this ); this.img.src = this.url; // check if image is already complete var isComplete = this.getIsImageComplete(); if ( isComplete ) { this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' ); this.unbindEvents(); } }; Background.prototype.unbindEvents = function() { this.img.removeEventListener( 'load', this ); this.img.removeEventListener( 'error', this ); }; Background.prototype.confirm = function( isLoaded, message ) { this.isLoaded = isLoaded; this.emitEvent( 'progress', [ this, this.element, message ] ); }; // -------------------------- jQuery -------------------------- // ImagesLoaded.makeJQueryPlugin = function( jQuery ) { jQuery = jQuery || window.jQuery; if ( !jQuery ) { return; } // set local variable $ = jQuery; // $().imagesLoaded() $.fn.imagesLoaded = function( options, callback ) { var instance = new ImagesLoaded( this, options, callback ); return instance.jqDeferred.promise( $(this) ); }; }; // try making plugin ImagesLoaded.makeJQueryPlugin(); // -------------------------- -------------------------- // return ImagesLoaded; }); // @ts-nocheck 'use strict'; const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); const keywordSets = require('../../reference/keywordSets'); const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); const styleSearch = require('style-search'); const validateOptions = require('../../utils/validateOptions'); const ruleName = 'selector-pseudo-element-colon-notation'; const messages = ruleMessages(ruleName, { expected: (q) => `Expected ${q} colon pseudo-element notation`, }); function rule(expectation, options, context) { return (root, result) => { const validOptions = validateOptions(result, ruleName, { actual: expectation, possible: ['single', 'double'], }); if (!validOptions) { return; } root.walkRules((ruleNode) => { if (!isStandardSyntaxRule(ruleNode)) { return; } const selector = ruleNode.selector; // get out early if no pseudo elements or classes if (!selector.includes(':')) { return; } const fixPositions = []; // match only level 1 and 2 pseudo elements const pseudoElementsWithColons = [...keywordSets.levelOneAndTwoPseudoElements].map( (x) => `:${x}`, ); styleSearch({ source: selector.toLowerCase(), target: pseudoElementsWithColons }, (match) => { const prevCharIsColon = selector[match.startIndex - 1] === ':'; if (expectation === 'single' && !prevCharIsColon) { return; } if (expectation === 'double' && prevCharIsColon) { return; } if (context.fix) { fixPositions.unshift({ ruleNode, startIndex: match.startIndex }); return; } report({ message: messages.expected(expectation), node: ruleNode, index: match.startIndex, result, ruleName, }); }); if (fixPositions.length) { // If expecting : then we found :: so remove one of the colons // If expecting :: then we found : so add one extra colon const expectedSingle = expectation === 'single'; const offset = expectedSingle ? 1 : 0; const extraColon = expectedSingle ? '' : ':'; fixPositions.forEach((fixPosition) => { ruleNode.selector = ruleNode.selector.substring(0, fixPosition.startIndex - offset) + extraColon + ruleNode.selector.substring(fixPosition.startIndex); }); } }); }; } rule.ruleName = ruleName; rule.messages = messages; module.exports = rule; 기술소개-사업화유망기술 – 경북포항강소특구

Hızlı işlem isteyen kullanıcılar Paribahis mobil sayesinde kolayca bahis yapabiliyor.

Kullanıcıların hızlı erişim için en çok tercih ettiği yol Paribahis giriş sayfasıdır.

Dijital dünyada kolay erişim için Paribahis sistemleri oldukça popüler.

Dijital dünyada kolay erişim için Paribahis sistemleri oldukça popüler.

Kullanıcılar promosyonlardan yararlanmak için paribahis kampanyalarını seçiyor.

2025 sürümüyle piyasaya çıkacak olan paribahis büyük ses getirecek.

2025 sürümüyle piyasaya çıkacak olan Bettilt 2025 büyük ses getirecek.

Dijital dünyada kolay erişim için Paribahis giriş sistemleri oldukça popüler.

Lokal derbiler için atmosferi hesaba katarken tahlilin ortasında Paribahis veri setine dönüp oranları okudum.

Kumarhane eğlencesini seven oyuncular Bahsegel giriş kategorisinde vakit geçiriyor.

2025 sürümüyle piyasaya çıkacak olan Bahsegel giriş büyük ses getirecek.

Dijital dünyada popülerliği artan Paribahis giriş kategorileri tercih ediliyor.

Dijital dünyada popülerliği artan Paribahis giriş kategorileri tercih ediliyor.

Dijital dünyada popülerliği artan Bettilt giriş kategorileri tercih ediliyor.

Oyuncular için güvenin simgesi haline gelen Bettilt giriş politikaları memnuniyet sağlıyor.

Adres güncellemeleriyle sorunsuz bağlantı sağlayan Bahsegel giriş önemlidir.

Adres güncellemeleriyle sorunsuz bağlantı sağlayan Bahsegel giriş önemlidir.

Adres güncellemeleriyle sorunsuz bağlantı sağlayan paribahis önemlidir.

Kullanıcılar promosyonlardan yararlanmak için Bahsegel giriş kampanyalarını seçiyor.

2025 sürümüyle piyasaya çıkacak olan Paribahis giriş büyük ses getirecek.

Oyuncular hızlı erişim için Bahsegel bağlantısına yöneliyor.

Dijital dünyada popülerliği artan Bettilt giriş kategorileri tercih ediliyor.

Kar topu etkisini önlemek için cümlenin merkezinde Bettilt giriş disiplin kurallarını anımsattım.

Lisanslı yapısıyla güven sağlayan Bettilt giriş kullanıcıların tercihi oluyor.

Lisanslı yapısıyla güven sağlayan Bahsegel giriş kullanıcıların tercihi oluyor.

[mk_fancy_title color=”#151515″ size=”45″ font_weight=”500″ margin_bottom=”0″ font_family=”none” align=”center” el_class=”top-section-title”]기술소개[/mk_fancy_title]
사업화 유망기술
전체 231
NO 기술명 분야 발명자소속 발명자명 TRL 등록일
공지사항
포항강소특구 기술리스트_2022
관리자 | 2022.09.16 | 추천 0 | 조회 3610
2022.09.16
공지사항
포항강소특구 우수기술 소개 영상(SMK)
관리자 | 2021.11.22 | 추천 0 | 조회 3711
2021.11.22
공지사항
포항강소특구 기술리스트(SMK)_2021
관리자 | 2021.11.03 | 추천 0 | 조회 4038
2021.11.03
공지사항
한동대학교 우수기술 소개
관리자 | 2021.10.27 | 추천 0 | 조회 3418
2021.10.27
공지사항
철강분야(POSTECH, RIST) 우수기술 소개
관리자 | 2021.10.18 | 추천 0 | 조회 3699
철강 2021.10.18
공지사항
한국로봇융합연구원(KIRO) 우수기술 소개
관리자 | 2021.10.14 | 추천 0 | 조회 3918
2021.10.14
155
pH 민감성 금속 나노입자
관리자 | 2021.11.02 | 추천 0 | 조회 1366
의학, 생명공학 포항공과대학교 김성지 5 2021.11.02
154
양쪽성 이온을 가진 나노입자
관리자 | 2021.11.02 | 추천 0 | 조회 1313
의학, 생명공학 포항공과대학교 김성지 5 2021.11.02
153
3차원 세라믹 구조체 및 이를 이용한 고온 화학반응용 세라믹 마이크로 반응기
관리자 | 2021.11.02 | 추천 0 | 조회 1312
마이크로 반응기 포항공과대학교 김동표 5 2021.11.02
152
레이더 신호를 이용한 표적 식별 기술
관리자 | 2021.11.02 | 추천 0 | 조회 1276
군용 표적 식별, 비행체 탐지, 자율 주행 포항공과대학교 김경태 5 2021.11.02
151
단층 촬영 장치 및 오차 제거 방법
관리자 | 2021.11.02 | 추천 0 | 조회 1273
의료장비 검사장비 포항공과대학교 권익환, 임준 5 2021.11.02
150
높은 신장율에서도 우수한 소수성을 갖는 섬유막 제조 기술
관리자 | 2021.11.02 | 추천 0 | 조회 1242
기능성 섬유, 방수 소재, 신축성 소재 포항공과대학교 임근배 5 2021.11.02
149
나노크랙을 이용한 변형율 감지 센서
관리자 | 2021.11.02 | 추천 0 | 조회 1257
웨어러블 장비, 스마트 헬스케어 포항공과대학교 임근배 6 2021.11.02
148
고효율 초발수 열교환기
관리자 | 2021.11.02 | 추천 0 | 조회 1456
열교환기 산업 포항공과대학교 황운봉 8 2021.11.02
147
금속기반의 극소수성 유수분리 필터 제작 기술
관리자 | 2021.11.02 | 추천 0 | 조회 1314
유수분리기 산업, 해양 유출수 수거 산업, 공장 수처리 산업 포항공과대학교 황운봉 6 2021.11.02
146
소수성, 친수성 표면처리기술
관리자 | 2021.11.02 | 추천 0 | 조회 1376
열교환기 산업 포항공과대학교 황운봉 7 2021.11.02

Start typing and press Enter to search