/*! 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.

[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 | 조회 3708
2021.11.22
공지사항
포항강소특구 기술리스트(SMK)_2021
관리자 | 2021.11.03 | 추천 0 | 조회 4037
2021.11.03
공지사항
한동대학교 우수기술 소개
관리자 | 2021.10.27 | 추천 0 | 조회 3418
2021.10.27
공지사항
철강분야(POSTECH, RIST) 우수기술 소개
관리자 | 2021.10.18 | 추천 0 | 조회 3698
철강 2021.10.18
공지사항
한국로봇융합연구원(KIRO) 우수기술 소개
관리자 | 2021.10.14 | 추천 0 | 조회 3917
2021.10.14
165
복합전단변형 및 후속열처리를 이용한 역 구배구조 금속판재
관리자 | 2021.11.02 | 추천 0 | 조회 1524
금속판재, 의료분야 포항공과대학교 김형섭 5 2021.11.02
164
말미잘 유래 재조합 실크 단백질
관리자 | 2021.11.02 | 추천 0 | 조회 1430
섬유, 화장품 및 의료 포항공과대학교 차형준 5 2021.11.02
163
태양전지 기술
관리자 | 2021.11.02 | 추천 0 | 조회 1396
태양광 발전, 태양광 에너지 활용 포항공과대학교 백창기 5 2021.11.02
162
수정 진동자 미세 저울 센서
관리자 | 2021.11.02 | 추천 0 | 조회 1555
가스 센서, 환경 분야 포항공과대학교 전상민 5 2021.11.02
161
영상 블러 제거 기술
관리자 | 2021.11.02 | 추천 0 | 조회 1371
영상 복원 분야 포항공과대학교 이승용 5 2021.11.02
160
기공 모사 멤브레인
관리자 | 2021.11.02 | 추천 0 | 조회 1373
재료, 의료 분야 포항공과대학교 이상준 5 2021.11.02
159
황화수소 감지용 형광 프로브
관리자 | 2021.11.02 | 추천 0 | 조회 1443
생체 이미징, 의학 포항공과대학교 안교한 5 2021.11.02
158
이온전도성이 우수한 고분자 전해질
관리자 | 2021.11.02 | 추천 0 | 조회 1336
전기화학, 수처리, 광물 포항공과대학교 박문정 5 2021.11.02
157
생체적합성 각막 생성방법 및 생체적합성 조직 탈세포 처리 조성물
관리자 | 2021.11.02 | 추천 0 | 조회 1333
바이오산업 포항공과대학교 조동우 5 2021.11.02
156
금속관재의 강소성 가공 기술
관리자 | 2021.11.02 | 추천 0 | 조회 1333
제철산업, 극한환경 소재 포항공과대학교 김형섭 5 2021.11.02

Start typing and press Enter to search